Last 20: Phone-a-Friend for Stuck Builders
An on-demand network that matches vibe coders stuck on the last 20 percent of a build with an expert who has hit that exact wall, for a 15-minute screen-share rescue.
The prototype works. The core features are there. But something broke and you cannot figure out what. The AI keeps giving you the same wrong answer. Stack Overflow has nothing. The tutorial you followed is three months old and the API has changed twice since. This is the new normal. Vibe coding lets anyone build fast. Cursor, Replit, Lovable, Bolt: idea to working prototype in a weekend. But the last stretch, the weird edge case, the integration that will not integrate, the error message that does not exist on Google, is where projects stall. And where they stay.
Built for Solo Founders, Non-Technical, Side Hustlers.
Last 20 is the phone-a-friend for builders who are almost there. Upload your code, describe the block, and get matched with an expert who has hit that wall before and knows the way around it.
Suggested stack: Next.js + Supabase, Stack tags + availability queue, Embedded screen share (Daily / Whereby), Stripe Connect. Weekend scope: about 10 hours.
The Problem
The prototype works. The core features are there. But something broke and you cannot figure out what. The AI keeps giving you the same wrong answer. Stack Overflow has nothing.…
The Solution
Last 20 is the phone-a-friend for builders who are almost there. Upload your code, describe the block, and get matched with an expert who has hit that wall before and knows the…
Market Research
Vibe-coding tools have created a wave of builders who reach 80 percent and stall
Competitive Landscape
Upwork / Fiverr (10-20% fees) — Built for full projects with onboarding and proposals. Far too slow and heavy for a single 15-minute block.
Business Model
Hobbyist ($15-50/session) — Pay per 15-minute rescue. Expert sets the rate; the platform takes 10 percent.
Recommended Tech Stack
Next.js + Supabase (App) — Auth, request storage, and expert profiles with minimal backend so you can focus on the matching loop.
AI Prompts to Build This
Copy these build prompts into Claude, Cursor, or your AI coding tool. Create a free account to unlock the full research behind them.
1. Project Setup
Build the weekend MVP of "Last 20": a builder who is stuck near the end of a project posts the block, an expert with the right skills claims it, and they agree a 15-minute rescue call. Sessions are free during the pilot and no money moves through the app. Stack: Next.js (App Router, TypeScript), Tailwind, Supabase (Postgres, Row Level Security, Auth with email magic link), Resend for the notification and confirmation emails. The call itself uses a meeting link the expert pastes in. Deploy on Vercel. Tables (Row Level Security on; a builder reads their own requests, experts read open requests that match their skills and their own claims): - profiles(user_id, role, display_name, stack_tags text[], available boolean) role is builder or expert - requests(id, builder_id, title, description, repo_url, snippet, stack_tags text[], status, claimed_by, meeting_url, scheduled_at, created_at) status is open, claimed, scheduled, done or cancelled - claims(id, request_id, expert_id, claimed_at) unique on request_id - session_feedback(id, request_id, resolved boolean, rating, note) Screens: /login, /requests/new, /requests/[id] (status, the meeting link and feedback), /queue (experts), /me. Env vars (names only): NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY (server only), RESEND_API_KEY. Do not build: billing, expert rates or a platform fee, Stripe Connect or payouts, an embedded video call, an agency plan, referral loops. Done when: npm run dev starts, you can sign in, and the four tables exist with Row Level Security on.
2. Core Feature
Build the one feature that proves Last 20: a stuck builder gets a real person in a short call, fast, without leaking a secret. 1. The request form takes a title, a description of the block, stack tags, an optional repo link and an optional snippet of up to 8,000 characters. Scan the snippet and the description for strings that look like keys or tokens and block the submit with a message that names what was found. 2. When a request is created, email the available experts whose stack tags overlap at least one of the request's tags, through Resend. The email shows the title and tags, not the snippet. 3. The queue shows matching open requests to experts. An expert presses Claim. Insert a claims row; the unique key means two experts claiming at once leave one winner and one clear refusal. Set the request to claimed and email both sides. 4. The expert proposes a time within the next 24 hours and pastes a meeting link. The builder confirms, which sets scheduled and emails both with the details. 5. After the time passes, the builder answers whether it was resolved and gives a 1 to 5 rating and a note. Show each expert's resolved rate and rating on their profile with the number of sessions behind them. Rules: never ask for credentials or access to a repository. Say on the request page that sessions are free in the pilot and any payment is between the two people. Show the snippet only to the claiming expert. Empty state: an empty queue says no one is stuck right now and shows the expert profile form. Done when: a snippet containing a fake key is blocked, matching experts get one email each, two simultaneous claims produce one claim, the meeting is confirmed by both and the expert's resolved rate updates after feedback.
3. Landing Page
Build a one-page landing site for Last 20, a phone-a-friend for builders stuck on the last 20 percent. Hero: "Almost done. Stuck on the last 20 percent." Sub: "Describe the block. An expert who has hit that wall before takes a 15-minute call to get you moving." Two buttons: Join the waitlist as a builder, Join as an expert. Sections: how it works in three steps (post the block, an expert claims it, a 15-minute call), who it is for (hobbyists and small agencies) and an FAQ on what to share (never keys), what a session costs during the pilot (nothing) and how experts are chosen. Waitlist: store the email and the role in a waitlist table in Supabase. No other service. Style: Geist, an off-white background, near-black type, one orange accent, a builder-to-builder voice. Done when: the page renders on a phone and a submitted email with its role appears in the waitlist table.
4. Branding Package
Use a design or image tool for this one. A coding agent cannot draw a logo. Brand for Last 20: a wordmark and an icon that suggest a progress bar with its last fifth highlighted. Colors: off-white, near-black and one orange. Type: Geist, with Geist Mono for tags. Deliverables: wordmark, icon, four request status chips (open, claimed, scheduled, done) that differ by shape as well as color, a five-word tagline set, and one launch graphic. Done when: each deliverable is saved in one folder and the status chips are distinguishable without color.