Free · three prompts

Build a real app with Claude.
Three prompts, start to finish.

Copy prompt one, paste it, wait. Claude makes the folder, installs everything and gets a page on screen. Two more prompts and you have a working Shariah-compliant trading desk.

ClaudeNext.jsTypeScriptTailwindAkinda

Not here to follow a guide? Take ours.

Copy the prompt below into Claude. It points at our finished app and asks for your own version of it — your idea, same structure, same care about the rules. Claude does the folder, the install and the first run itself.

Copy this
Here is a finished app I want to start from:
https://claude.ai/code/artifact/e93d585d-533a-4ef9-bcfb-2118450f738a

Look at how it is built, then make me my own version of it — the same
structure and the same care about rules — but for this instead:

  [describe your idea in two or three sentences]

Do the setup yourself: pick a sensible folder and name, scaffold it, install
everything, start it, and confirm it loads before you tell me it is ready.
Tell me the folder path and the URL when it runs.

Only ask me about things you genuinely cannot decide on your own.
Open the finished app first →

What you end up with

A research workspace with Shariah screening wired through all of it — and one rule that makes it more than a table: a stock screened non-compliant has no buy button at all, borderline ones ask you to confirm, and selling is never blocked.

  • Halal screener
  • Company detail
  • Portfolio + audit
  • Purification calculator
  • Connect your API key
  • Dashboard

The three prompts

Paste each one whole, in order, into the same conversation. They are written to be run as they are — every rule the app needs is already inside them, so there is nothing to remember between prompts.

Prompt 1~5 min

Set up the workspace

Claude makes the folder, installs everything and gets a page on screen. You paste and wait.

Copy this
You are going to build a web app with me. This first message is setup
only — do not write any feature code yet.

Do all of this yourself, including anything that needs a terminal. Do not ask
me to choose a folder, a name or a path: pick sensible ones and tell me what
you picked.

1. Create a new project folder called "halal-desk" somewhere sensible. Tell me
   the full path when it exists.
2. Scaffold a Next.js app in it — App Router, TypeScript, Tailwind CSS — and
   install the dependencies.
3. Run the dev server on port 3100, in case I already have something on 3000.
4. Give it a dark "trading terminal" look: near-black background, purple
   accent #533E98, no light mode. For now just a layout with a header and an
   empty home page.
5. Open the page yourself and confirm it actually loads. If it errors, fix it
   and try again before telling me it is ready.
6. Create PROJECT.md in the folder containing the brief below, the stack, and
   a "decisions" list you will append to as we go. Read this file at the start
   of every future message — when the conversation gets long, this is what
   stops you rebuilding things from memory.

The brief, for PROJECT.md:

  "Halal Desk" — a research workspace for Muslim investors, with Shariah
  screening running through all of it. Paper trading only: fake money, no
  real broker. Six screens — dashboard, screener, company detail, portfolio,
  purification calculator, and a connect-your-API-key screen.

  The rule that matters most: buying a stock screened NOT HALAL is blocked
  outright, DOUBTFUL requires an explicit confirmation, and selling is NEVER
  blocked — trapping someone in a position that has just turned
  non-compliant is the opposite of helping.

When it is running, tell me the folder path, the URL, and what you would build
first.

Then check

  • You get a folder path and a working localhost URL back — if you got instructions instead, reply “do it yourself”.
  • PROJECT.md exists. This one file is why the later prompts still know the rules.
Prompt 2~30–60 min

Build the whole app

One prompt for the entire build. Every rule that has to be said out loud is already in it.

Copy this
Read PROJECT.md, then build the whole app.

Work through these in order and run `npm run build` after each one. If it
fails, fix it before moving on. Run the commands yourself and show me what
happened — do not hand me a list of commands to run.

1. TYPES AND SAMPLE DATA. Define the shapes before any UI exists: a Company
   (ticker, name, sector, price, the three AAOIFI ratios, a verdict of
   HALAL / DOUBTFUL / NOT_HALAL, and an optional ranking score), a Position,
   and a Dividend with a payment date. Then write about 25 realistic sample
   companies across several sectors — include an obvious fail (a bank), a
   borderline case, and one with a missing ranking score.

2. A DATA LAYER in a single file that every screen calls. It reads the sample
   data today, but is written so a real API can be dropped in behind it
   without any screen changing. No screen ever knows where the data came from.

3. THE COMPLIANCE RULE, in ONE function on its own, with the AAOIFI limits as
   named constants. Three things it must get right, none of which are the
   obvious default:
   - Missing or unknown data is NOT a fail. Return DOUBTFUL and say the data
     is missing. Treating absence as forbidden is a claim we cannot make.
   - A company with no ranking score sorts BELOW ranked ones, never above.
   - The buy gate lives here too: NOT_HALAL blocks buying entirely, DOUBTFUL
     requires explicit confirmation, and selling is never gated, for any
     verdict, ever.

4. THE SCREENER. The universe in a filterable table — by verdict, sector and
   ranking — with all three ratios in every row. Show the reasoning, not just
   a coloured badge: each ratio against its limit, so someone can see why.

5. THE COMPANY PAGE, tabbed: Compliance, Fundamental, Technical, Sentiment,
   Purification. Build Compliance and Purification properly; the other three
   follow the same layout with their own numbers.

6. THE ORDER TICKET. When a buy is blocked the buy controls must NOT RENDER
   AT ALL. Do not render a disabled button — a greyed-out button is still in
   the DOM, and anyone can turn it back on. The sell control is always there.

7. THE PORTFOLIO. Positions, profit and loss, and a re-screen that separates
   "would be blocked if you bought it today" from "worth a second look".

8. THE PURIFICATION CALCULATOR. This is a DATE problem, not a multiplication.
   Count only the dividends whose payment dates fall inside the period the
   shares were actually held, then apply the impure share to those. Do not
   multiply an annual total by a percentage.

9. THE CONNECT SCREEN. How to get an Akinda API key and what each plan
   includes. It must NOT have an input box for the key — a key typed into a
   web page ends up in the browser. It belongs in .env on the server. Say so
   on the screen.

Keep each screen a server component unless it needs state or an event handler;
when it does, push just that part into its own small client component rather
than making the whole page interactive.

When all nine are done and the build passes, show me the route list from the
build output and tell me anything you had to compromise on.

Then check

  • Open a failing stock. There should be no buy button in the page at all — not a greyed-out one.
  • Open a company with no ranking score. It sorts to the bottom, and it is not marked non-compliant for it.
  • If it stops halfway, say “carry on from item 6” rather than starting again.
Prompt 3~10 min

Make it real

Production build, the environment file, the sample-data banner, and an honest README.

Copy this
Finish it off. Do each of these yourself rather than telling me how.

1. Run the production build and fix whatever it complains about. `npm run dev`
   is forgiving in ways `npm run build` is not — unused imports, type errors
   and bad Suspense boundaries all surface here.

2. Add a .env.example explaining AKINDA_API_KEY, including why it is NOT
   prefixed with NEXT_PUBLIC_ — anything with that prefix is compiled into the
   browser bundle, so the key would be readable by anyone using the app.

3. Add a banner in the layout showing whether we are on live or sample data,
   so nobody mistakes fixtures for real figures. Before you do: check whether
   the pages are statically prerendered. If they are, the environment variable
   is read at BUILD time and baked into the HTML, so the banner would say
   "sample" forever even with a real key set in production — and nothing would
   error. Fix that if it applies here.

4. Write a README: how to run it, what each file does, the compliance rule as
   a table, and an honest "deliberately left undone" section. Do not oversell
   it — list what it does not do (no accounts, no order history, prices are
   fixtures, no tests). Being straight about the gaps is more useful to a
   reader than a longer feature list.

Then tell me in one paragraph what you would fix first if this had real users.

Then check

  • The build passes and prints a route list.
  • The README has a “left undone” section. If it reads like marketing, ask again.

Six things worth keeping

The prompts above are specific to this app. These are the part that works on anything you build next — each one is a real mistake from this build, not general advice.

01

Say what is unusual about your app

An assistant writes the most common version of what you asked for, because that is what most code it has seen looks like. Every place your app must behave unlike the median app of its kind is a place you have to say so, out loud, in the prompt.

02

Name what a compiler cannot catch

Sells are never gated. Missing data is not a verdict. Purification counts the dates you actually held. None of those would fail a build or a type check, and all three were wrong at some point in this app.

03

Say what you expected, and what you got

“It doesn’t work” gets you a guess. “The buy button on JPM is clickable, I expected the controls not to render” gets you a fix — it tells the assistant which of its assumptions was wrong.

04

Ask for the diagnosis before the patch

Add “walk me through why before you change anything”. Without it you get a rewritten file and no idea which line was at fault. With it, the change is smaller and you learn something.

05

When each fix breaks something else, go back further

Three rounds into fixing one thing and every fix breaks another? The design is wrong, not the line. Start a fresh conversation describing the goal rather than the current broken state.

06

Approval is not delegable

“Claude wrote it” is not a position you can hold in front of a user. The moment you accept a file you have not looked at is the moment you own a bug you cannot find.

Questions

Do I need to know how to code already?

No. The three prompts do the setup, the building and the finishing, and none of them assume you know React. What they do assume is that you will open the app, notice when something looks wrong, and say so specifically — that part cannot be outsourced to anyone, including an assistant.

Do I need to pay for anything?

The finished app runs entirely on bundled sample data, so you can build and use the whole thing without an Akinda key. You need access to Claude to do the prompting. A key is only needed if you want live screening instead of the samples.

Can I just take the finished app?

Yes — that is what the link at the top and bottom of this page is for. Open it, hand it to Claude with the prompt beside it, and ask for your own version. You can also read the full source in the examples/halal-trading-desk folder of the Akinda b2b-website repository.

What if a prompt stops halfway?

Tell it to carry on from the numbered item it stopped at rather than pasting the whole prompt again. Prompt 2 is deliberately long, and picking up where it left off is both faster and less likely to produce a second, conflicting version of a file it already wrote.

Why this app and not a to-do list?

Because a to-do list has no rule worth getting right. This one has a real constraint — the buy gate — that an assistant will not infer on its own, which is exactly what shows you where your own judgement is still required. That is the actual lesson.

Is the trading real?

No. It is paper trading with virtual cash, stored in your own browser. There is no broker connection, no orders leave the app, and no real money is involved. The prices are fixtures, not live market data.

Can I build a product on this?

That is what it is for. A commercial build on the Akinda API needs a paid plan, and if you are early-stage the startup programme takes 80% off a first subscription. The screening disclaimer applies to anything you ship: it is informational and does not replace a qualified scholar.

Now make it yours

Change the watchlist, add a screen, swap in a real price feed — or hand the finished app to Claude and ask for something else entirely. The hard part, knowing how to ask, is already done.