Skip to content
Appmake
Solutions · Developers

Real Next.js code, written in the open.

Kalle writes the code a good team would, in a stack you know. Read every line, review every change, sync it to your own repository and keep building on it yourself.

app/checkout/actions.ts
"use server";
import { db } from "@/lib/db";
import { stripe } from "@/lib/stripe";
export async function createCheckout(cartId: string) {
const cart = await db.cart.findUnique({ where: { id: cartId } });
return stripe.checkout.sessions.create({
mode: "payment",
line_items: cart.items.map(toLineItem),
});
}
feat: one-page checkoutmain · 3 files · tests passed
The stack

A stack you already know

Kalle writes the code a good team would: standard tools, clear structure and no proprietary runtime.

Kalle writes here
app/shop/page.tsxapp/api/webhooks/stripe/route.ts
Read along

Every line is there to read

Open any file while Kalle works, or after. The code is formatted, typed and named the way you would expect.

components/ProductCard.tsx
type Props = { product: Product };
export function ProductCard({ product }: Props) {
return (
<Link href={`/shop/${product.slug}`} className="group">
<Image src={product.image} alt={product.name} />
<h3>{product.name}</h3>
<Price value={product.price} />
</Link>
);
}
GitHub

In your repository, commit by commit

Connect a GitHub repository you own. Every change Kalle makes lands as a readable commit with a clear message.

github.com/marlowe/shopmainSynced
  • feat: one-page checkouta41f2c9 · 10 min ago
  • YOUfix: round prices to whole kroner9be07d1 · 1 h ago
  • feat: gift cards at checkout3c11e8a · Yesterday
  • chore: add browser tests for gift cardse72d4b0 · Yesterday
Review

Review changes like a pull request

Each change comes with a summary in plain words and the full diff. Approve it, or ask for changes in the chat.

One-page checkoutReady for review
I replaced the three checkout steps with one page. Shipping and payment now load together, and the order summary stays visible. All 9 tests pass.
  • app/checkout/page.tsx+84 −132
  • app/checkout/actions.ts+41 −6
  • components/CheckoutSummary.tsx+58 −0
  • tests/checkout.spec.ts+37 −12
Database

Migrations, not magic

Every change to the database is a numbered SQL migration in your repository, so you can see, run and review it.

alter table orders
  add column gift_message text;
Tests

Tests you can run yourself

The browser tests Kalle writes live in your repository and run with the usual commands.

npm test
Running 9 tests using 3 workers
✓ home loads (1.1 s)
✓ add to cart (2.4 s)
✓ discount SPRING gives 15% off (2.0 s)
✓ one-page checkout with test card (4.6 s)
✓ gift card balance goes down (3.1 s)
✓ customers can't open /admin (0.9 s)
✓ 3 more
9 passed (18.4 s)
~/marlowe
Pair with Kalle

Write code yourself. Kalle keeps up.

Push your own commits. Kalle reads the latest code before every change, so it builds on your work instead of overwriting it.

you · 9be07d1
fix: round prices to whole kroner
- return price / 100;
+ return Math.round(price / 100);
Add a 10% member discount at checkout
I saw your change to lib/pricing.ts, so the discount uses your rounding. Members get 10% off before shipping. Tests pass.
No lock-in

Run it anywhere, any time

Clone the repository and it runs like any Next.js project. Deploy it to your own servers or any host that runs Node and Postgres.

git clone git@github.com:marlowe/shop.git
cd shop && npm install
npm run dev
▲ Next.js ready on http://localhost:3000
~
  • Standard toolingnpm scripts, ESLint and TypeScript, nothing custom.
  • Your environmentA .env.example lists every setting the app needs.
  • Your databasePoint it at any Postgres and run the migrations.
Questions

Questions developers ask

Next.js with React and TypeScript, Postgres on Supabase, and standard libraries for payments and email.

Yes. Connect a GitHub repository you own and every change lands there as a commit.

Yes. Push your own commits, and Kalle reads the latest code before it changes anything.

No. Clone it and run it anywhere that runs Node and Postgres.

Ship faster without giving up the code

Every Appmake app is a real Next.js project you own.