ideastack·8 min read·

The weekend vibe-coding playbook: ship a paid UK micro SaaS Friday to Sunday

Vibe coding started as Karpathy's weekend habit. Two years later it is how a measurable share of UK indie hackers ship their first paid product. The SERP is full of definitional think pieces; what is missing is the hourly weekend plan that actually gets a real GBP-5/month UK micro SaaS live by Sunday night. This is that plan - Friday 18:00 to Sunday 22:00, exact AI stack at each checkpoint, the five things to cut, and a Monday recovery plan if you slip.

The weekend vibe-coding playbook: ship a paid UK micro SaaS Friday to Sunday

Vibe coding started as Andrej Karpathy's off-the-cuff weekend habit. Two years later it is how a measurable share of UK indie hackers are shipping their first paid product. The SERP is full of "what is vibe coding" think pieces. What is missing is the hourly weekend plan that actually gets a product live by Sunday night with a Stripe Payment Link receiving GBP 5/month.

This is that plan. Friday 18:00 to Sunday 22:00. Concrete hourly checkpoints. The exact AI stack at each step. The five things to cut. The recovery plan if you slip into Monday.

Bookmark this and run it next weekend.

The working example throughout

A real micro SaaS that fits the weekend shape: a weekly UK rail fare summary at GBP 5/month. Inputs are easy (the user's own Trainline or TPExpress account, or for v1 a manual upload). Output is a Sunday-night email summarising their rail spend, longest delays, and a "you could have driven for X" cost comparison.

Audience: roughly 4 million UK rail commuters. Pricing model: GBP 5/month, cancel anytime via Stripe Customer Portal. Margin at 100 customers: about 95%. Easy to validate, easy to ship, easy to scale.

This is the example. Steal the shape, substitute your own problem.

The hourly checkpoint plan

Friday 18:00 - 19:00 - Pick the problem and write the pitch

Open a blank doc and write three things:

  1. One-sentence pitch. "A weekly UK rail summary email for GBP 5/month."
  2. One-line success measure. "5 friends paying GBP 5/month by Sunday 22:00."
  3. One-sentence non-goal. "Not making the email pretty. Not having a custom domain. Not having more than a Stripe Payment Link."

Pin the doc somewhere visible. When you get tempted to add scope on Saturday afternoon, the pinned doc is what stops you.

Friday 19:00 - 22:00 - Mock the landing page in Lovable or Bolt

Three hours, including a break for dinner. Open Lovable (or Bolt if you only need the landing page and nothing else). Prompt for a marketing landing page: hero, three-point value prop, FAQ, "Subscribe" button linking to a placeholder Stripe Payment Link, GDPR cookie banner. Get the colour and copy right.

Skip auth for now. Skip the actual product. The landing page is the artefact you will share with 20 friends on Saturday afternoon to gauge interest.

End Friday with a deployed Vercel URL and a working "subscribe" button pointing to a placeholder Stripe link. Go to bed.

Saturday 09:00 - 12:00 - Scaffold the product backend

Coffee, then open Claude Code in a new terminal. Pull the Lovable GitHub export (the landing page repo). Three hours of Claude Code on:

  • Next.js 16 + Supabase EU-West region
  • Users table + Stripe customer reference
  • /signup and /dashboard pages with Supabase Auth
  • A /api/cron/weekly-email route stubbed out for v1

Use the Claude Code prompt pattern from "Claude Code first project" - one prompt, ask for the whole scaffold, let it run, check the build.

The "don't bother yet" list:

  • Real rail data integration (Trainline scraping, Open Banking) - v2.
  • Email design polish - default Resend template is fine.
  • Admin panel for you - your Supabase dashboard is the admin panel.
  • Per-user customisation - everyone gets the same email this weekend.

Saturday 12:00 - 14:00 - Wire Stripe UK GBP

Two hours, including lunch. In Stripe Dashboard:

  1. Create a Product called "Weekly Rail Summary", price GBP 5/month recurring.
  2. Generate a Payment Link from that product.
  3. Configure the Stripe Customer Portal to allow self-serve cancellation.
  4. Set up a webhook endpoint pointing at your Vercel production URL /api/stripe/webhook.

In your code, ask Claude Code to write a webhook handler that updates users.stripe_customer_id on checkout.session.completed. Test it with the stripe-cli local webhook. Commit and deploy.

By 14:00 Saturday you have a working end-to-end paid signup. Test it yourself with a real GBP 5 card payment. Refund yourself afterwards.

Saturday 14:00 - 18:00 - Share with 20 friends

The four hours that decide whether your weekend was worth it.

Make a list of 20 friends or contacts who plausibly commute by UK rail. WhatsApp, text, or DM each one with a personal note plus the landing page URL. Not a marketing blast - one-to-one messages. Ask: "Quick favour - I built this thing today, can you look and tell me if you would pay GBP 5/month for it?"

Expect 8-12 replies. Expect 2-4 to actually click "subscribe" and try it. If you get one paying customer by Saturday 18:00, the weekend has paid for itself. If you get five, you have a product.

While you wait for replies, prep the Sunday email content - what will the first weekly summary actually say to a user signing up today?

Saturday 18:00 - 22:00 - Build the email job

Four hours including dinner. The Resend client + Vercel Cron from the Claude Code walkthrough. Prompt Claude Code:

Add Resend with RESEND_API_KEY. Add a Vercel Cron at Sunday 
19:00 UK time that, for every user with stripe_customer_id 
IS NOT NULL, sends an email with subject "Your week on the 
rails" from hello@<your-domain>.co.uk. 
For v1 the body is hard-coded: "Hi [name], your weekly UK 
rail summary will land here every Sunday at 19:00. We are 
still wiring the real data import - reply to this email if 
you want to be first when it goes live next week."

Yes - your v1 email tells the user the real data is not here yet. That is honest, and the friends paying you GBP 5/month right now are paying for the email habit + early-adopter status, not for the data. They will get the real version in a week.

Sunday 09:00 - 14:00 - Polish the landing page

Five hours including lunch. By Saturday night you have feedback from friends. Pick the three things they said and act on them. Maybe the value prop is wrong. Maybe the pricing should be GBP 4 not GBP 5. Maybe the FAQ does not address "is my Trainline data safe".

Rewrite the landing page in Lovable based on the feedback. Push the change. Test the full Stripe flow once more. Send a "v0.2 is up" follow-up message to the friends who replied but did not subscribe.

Sunday 14:00 - 19:00 - Final test + actually ship the first email

Five hours. By 18:00 you should have:

  • 1-5 paying customers in your users table
  • A working Stripe webhook
  • A polished landing page
  • A Vercel Cron set to fire at Sunday 19:00 with the v1 email

At 19:00, the cron fires the first email. Check Resend's dashboard to confirm delivery. Watch your inbox for the first replies.

Sunday 19:00 - 22:00 - Document the loop and write the next week's plan

Three hours, including a celebratory pint. Open the original Friday doc. Write:

  • What worked.
  • What broke.
  • The five things to add this week (real data import, custom domain, design polish, second email per week, referral incentive).
  • The success measure for next weekend ("get to 20 paying customers").

The weekend is over. The product is live. The next loop is a week, not a weekend.

The five things to cut

The reason most weekend builds slip into Tuesday is because the builder cannot say no. The five categories you cut without exception:

  1. Custom auth. Use Supabase Auth. Never roll your own.
  2. Custom database schema work. Three tables maximum for v1: users, subscriptions, events.
  3. Design system polish. Tailwind + shadcn/ui default theme is fine. Nobody is judging you on rounded corners at v1.
  4. Analytics dashboards. Vercel Analytics free tier + Stripe Dashboard are enough until you have 100 customers.
  5. Admin panel. Your Supabase Table Editor is the admin panel. You will rebuild it in week 4 when you actually need it.

Every weekend build that slips slips on one of these five. Pin the list.

The AI stack at each checkpoint

TimeToolJob
Fri 19:00Lovable or BoltLanding page mock
Sat 09:00Claude CodeBackend scaffold
Sat 12:00Claude CodeStripe webhook
Sat 18:00Claude CodeResend + Vercel Cron
Sun 09:00LovableLanding page polish
Sun 14:00Claude CodeFinal wiring + tests

Two builders, two distinct jobs. Lovable on the visual/marketing surface. Claude Code on the backend, integrations, and anything resembling production code. Each one in the slot it is best at.

What if you slip - the Monday recovery plan

You will slip somewhere. Here is the prioritised cut-list to recover.

If you are behind on Saturday night, cut the email job. Send the first email manually from Resend's web UI to your handful of paying customers. The cron can wait until Monday evening.

If you are behind on Sunday morning, cut the landing-page polish. The friends who already subscribed will not unsubscribe over a slightly wonky hero section. New visitors next week can land on v0.2 polished.

If you are behind on Sunday afternoon, cut the cron entirely. Manually send Sunday night's email from Resend. Add the cron on Monday evening (a 30-minute job once you can think straight).

The unbreakable thing is the Stripe payment flow. If a friend cannot pay you GBP 5/month by Saturday 18:00, the weekend has failed. Everything else is recoverable on Monday.

The honest numbers

The weekend build is not a guarantee. Of UK indie hackers who attempt this kind of weekend - and there are tens of thousands trying every month - roughly 10-15% finish with a deployed product, of which maybe 30% get a paying customer in the same weekend. The numbers compound. The second weekend's success rate is dramatically higher than the first. The fourth is higher again.

What separates the builders who get to month 6 with 50 paying customers and the builders who quit after week 2 is not skill - it is the willingness to ship something embarrassing on Sunday night and improve it on Monday. The weekend playbook above is biased toward "ship the embarrassing thing" because that is the loop that actually compounds.

Want a data-backed UK business idea every week? Free reports drop every Thursday - keyword volumes, SERP analysis, builder prompts. Browse the latest free report on IdeaStack.


Frequently asked

Do I need to be a developer to follow this playbook?

You need to be able to read code, debug an error message, and use git. You do not need to be able to write the code from scratch - Claude Code and Lovable do the writing. A non-developer who is willing to spend three weekends learning the tooling can absolutely ship a v1 by weekend four. The first weekend will be slower than the timeline above; weekend four will be faster.

What is the total GBP cost of running this weekend?

Tooling: Claude Code subscription GBP 17/month (Pro), Lovable Pro GBP 16/month. AI credits and runtime: GBP 0 (everything fits inside free tiers for the weekend). External services: Stripe (free until first payment, then 1.5% + 20p per UK transaction), Resend free tier, Supabase free tier, Vercel free tier. Total cash outlay before first payment: GBP 33. After first GBP 5 customer signs up: net cost is GBP 28.

Why GBP 5/month and not GBP 9 or GBP 15?

Two reasons. First, GBP 5 is below the threshold where most UK consumers ask "do I really need this" - it lands closer to a coffee than a subscription. Second, GBP 5/month leaves you room to test a "GBP 9/month with premium features" tier in month 2 without devaluing v1. If your product genuinely warrants GBP 15/month from week 1 (B2B internal tools, regulated industries) start higher - but the weekend playbook above is calibrated for consumer side hustles.

Can I do this on a Mac instead of Windows?

Yes - the playbook works identically. Claude Code, Lovable, Bolt, Vercel, Stripe, Supabase all work the same on macOS, Windows, and Linux. The only difference is the path syntax in your terminal commands.

What is the most common reason a weekend build fails?

Scope creep at the Saturday 14:00 friend-feedback step. Friends suggest five excellent features. The builder says yes to all of them. By Sunday 18:00 the builder has shipped two out of five and none of them are the original v1. The discipline at that step is to write the five feature requests into a "next week" doc, ship the original v1 as planned, and only act on the requests from Monday onwards.

Related reading

More UK-focused guides from the IdeaStack blog.

Claude Code first project for UK indie hackers: install to deploy in 30 minutes

Claude Code first project for UK indie hackers: install to deploy in 30 minutes

Two ways UK indie hackers are using AI in 2026: as an in-IDE copilot, or as the IDE itself. Claude Code is the second shape - the agent that runs in your terminal, reads the project, edits files, runs tests, commits. This is the missing UK-native, GBP-priced, install-to-paid-product walkthrough: install Claude Code, scaffold a Next.js 16 + Supabase EU + Stripe UK GBP micro SaaS, deploy to Vercel, and have a first paying customer flow in 30 minutes of clock time.

Read more →

Claude Code plan mode for UK indie hackers: the three-screen ritual that stops the one-shot disaster

Claude Code plan mode for UK indie hackers: the three-screen ritual that stops the one-shot disaster

The fastest way to brick a weekend project is to one-shot a refactor. Plan mode is Shift+Tab+Tab and a fundamentally different agent posture - the agent looks, drafts a plan, and only edits once you've agreed. The three-screen ritual that stops the one-shot disaster on Stripe Checkout, live Supabase migrations, and billing webhook rewrites.

Read more →

Claude Code MCP servers for UK micro-SaaS: the four wires (Stripe UK, Supabase EU, Postgres, GitHub) and one rule that stops the agent guessing

Claude Code MCP servers for UK micro-SaaS: the four wires (Stripe UK, Supabase EU, Postgres, GitHub) and one rule that stops the agent guessing

Every Claude Code user hits a wall around month two: the agent can edit files but cannot see your Stripe charges, your Supabase rows, or your GitHub PRs. So it guesses. MCP fixes that. This is the UK micro-SaaS primer for the four servers that move the needle - Stripe UK, Supabase EU, Postgres, GitHub - plus the one read-only rule that keeps the agent safe.

Read more →

Claude Code hooks for UK indie hackers: the eight automation patterns that pay for themselves on the first ship

Claude Code hooks for UK indie hackers: the eight automation patterns that pay for themselves on the first ship

The vibe-coder crowd treat Claude Code hooks like dev-ops ceremony. They are not. Hooks are the cheapest insurance a UK indie hacker can buy: a few lines of shell in settings.json that catch the rogue rm -rf, the force-push to main at 23:30, the leaked Stripe key in a debug log. Eight patterns that pay back inside the first weekend.

Read more →

Claude Code subagents for UK indie hackers: the parallel-build unlock

Claude Code subagents for UK indie hackers: the parallel-build unlock

Most UK indie hackers using Claude Code never touch subagents. They are the single biggest unlock in the tool, and they are buried two levels deep in the docs. The result: weekends that should ship five things ship three. This post fixes that - the 30-second definition, three concrete weekend scenarios where subagents save 60-90 minutes each, copy-paste prompts for each, and the honest 'when not to use them' because they are a power tool, not magic.

Read more →

The newsletter

One UK business idea, every Thursday

By Tim Bland. Free.