Prompt Details
Model
(claude-5-opus)
Token size
892
Example input
[IDEA]: A marketplace where dog owners book local dog walkers, see reviews, and chat with the walker in the app
[AUDIENCE]: Urban dog owners who work office hours, and freelance dog walkers
[BUILDER]: Lovable
[MONETIZATION]: 15% commission on every booking
Example output
INPUT
APP IDEA: A marketplace where dog owners book local dog walkers, see reviews, and chat with the walker in the app
TARGET USERS: Urban dog owners who work office hours, and freelance dog walkers
BUILDER: Lovable
MONETIZATION: 15% commission on every booking
OUTPUT (Claude Opus, unedited excerpt: sections 1, 3, 5 and the start of 9 shown; data model + SQL with RLS, auth, payments, checklist and risks omitted from this preview)
## 1. The product in one line
Dog owners who work office hours book a local walker for a midday walk, pay in the app, and message the walker about that walk, so the dog gets walked while they're at work.
The v1 is done when a user can find a walker who serves their zip code, book and pay for a 30- or 60-minute walk, have the walker accept it, message the walker about it, and leave a review once the walk is completed.
## 3. Cut list
The idea contains three products: a booking marketplace, a review site, and a messaging app. v1 keeps only the booking loop. Reviews and chat survive only as thin features attached to a booking.
- **Live GPS walk tracking**: expensive, drains batteries, not needed to book.
- **Walk report cards and photos**: helps retention, but isn't the core booking.
- **Recurring and subscription bookings**: needs a scheduling engine; "Book again" covers it.
- **Walker availability calendars**: request-and-accept replaces slot management for now.
- **Messaging before a booking**: invites off-app deals and needs spam moderation.
- **In-app background checks**: needs a vendor integration; vet walkers manually first.
- **Tips and multi-dog pricing**: adds pricing complexity; add once there's demand.
- **Self-serve refunds after acceptance**: rare early on; refund manually in Stripe.
- **Native apps and push notifications**: a responsive web app plus email is enough.
- **Admin panel**: the Supabase and Stripe dashboards are enough.
- **Sitting, boarding and other services**: a separate product; v1 does walks only.
## 5. Screens
| Route | Screen | Who can see it | What it does |
|---|---|---|---|
| `/` | Home | Everyone | Value proposition plus a zip-code search box that goes to `/walkers?zip=` |
| `/walkers` | Search results | Everyone | Lists listed walkers serving the zip, with price, rating and review count; has an empty state |
| `/walkers/:id` | Walker profile | Everyone | Bio, prices, zip codes served, reviews, and a "Book a walk" button |
| `/signup` | Sign up | Logged out | Display name, email, password, and accepting the terms |
| `/login` | Log in | Logged out | Email and password; redirects to `?next=` |
| `/account` | Account | Signed in | Edit display name and avatar; sign out |
| `/dogs` | My dogs | Owner | Create, edit and delete own dogs |
| `/book/:walkerId` | Booking form | Owner | Pick dog, time, duration, address and instructions, then go to Stripe Checkout |
| `/bookings` | My bookings | Owner | Upcoming and past bookings with status badges |
| `/bookings/:id` | Booking detail | That booking's owner and walker | Status, details, chat, cancel (while requested), review (owner, once completed), "Book again" |
| `/walker/join` | Become a walker | Logged out, or an owner with no dogs or bookings | Walker sign-up form, then Stripe onboarding |
| `/walker/dashboard` | Walker dashboard | Walker | Requests (accept or decline), upcoming walks, past walks, mark completed |
| `/walker/profile` | Edit walker profile | Walker | Edit bio, zip codes, prices and experience |
| `/walker/payouts` | Payouts | Walker | Stripe onboarding status, "Finish setup" or "Open Stripe dashboard", whether the profile is live |
| `/terms`, `/privacy`, `/walker-terms` | Legal | Everyone | Static legal pages |
## 9. Build sequence
Lovable builds with React, Vite, TypeScript, Tailwind, shadcn/ui and React Router. It uses Supabase for the database, auth, storage and Edge Functions (Deno), so this plan uses Vite and React Router rather than Next.js.
**Step 1: Project and data model**
```
Create a responsive web app called "Midday Walks": a marketplace where office-hours dog owners book local dog walkers. Stack: React + Vite + TypeScript + Tailwind + shadcn/ui + React Router, with Supabase as the backend. Connect my Supabase project.
Apply the SQL below as the first migration EXACTLY as written. Do not rename, drop, loosen or "simplify" any table, check constraint, grant, trigger or RLS policy, and do not add policies of your own. Then generate the Supabase TypeScript types.
Build only the app shell for now:
- a top nav with the logo, "Find a walker" (/walkers), "Become a walker" (/walker/join) and "Log in" (/login)
- a footer with links to /terms, /privacy and /walker-terms
- a placeholder home page at /
[PASTE THE SQL BLOCK FROM SECTION 6 HERE]
```
Check: in Supabase, `select tablename, rowsecurity from pg_tables where schemaname = 'public';` lists 9 tables, and every one shows `true`.
**Step 2: Auth, profiles, route guards**
```
Add Supabase email + password auth with email confirmation.
- /signup: display name, email, password, and a required checkbox "I agree to the Terms and Privacy Policy". Call supabase.auth.signUp with options.data = { display_name } only. Never send a role, and never read a role from user metadata anywhere in the app.
- /login: email and password. After login, redirect to ?next= if present; otherwise owners go to /bookings and walkers go to /walker/dashboard.
- /account: edit display_name, upload an avatar to the "avatars" storage bucket at path `${user.id}/avatar.<ext>` (jpeg/png/webp, max 2 MB, validated on the client too), save the public URL to profiles.avatar_url, and sign out.
- Create an AuthContext that holds the session and the role, read with `select role from user_roles where user_id = user.id`. Never write to user_roles from the client.
- Add route guards RequireAuth, RequireOwner and RequireWalker. Unauthenticated users go to /login?next=<path>. A user with the wrong role goes to their own home page.
- Show inline form errors for "invalid credentials", "email not confirmed" and "email already registered".
```
Check: sign up two test users. Each gets a `profiles` row and `user_roles.role = 'owner'`. In the browser console, `supabase.from('user_roles').update({ role: 'walker' }).eq('user_id', <id>)` fails or updates 0 rows.
…(steps 3 onward omitted from this preview)
Get this prompt + 9 more with Select$14 your first month, then $19/mo$14 first month, then $19/mo
View SelectBy purchasing this prompt, you agree to our terms of service
CLAUDE-5-OPUS
Turn an app idea into a build-ready MVP spec for Lovable, Bolt, Cursor or Claude Code. You get a ruthless cut list, user flows, screens, a real data model with Supabase SQL and Row Level Security policies, auth and Stripe payments done safely, then 6-8 copy-paste build prompts with a check after each step, a pre-launch checklist and the 3 ways your v1 will probably fail. Built for solo founders who want to ship in two weeks without the classic AI-builder security holes.
...more
Added over 1 month ago
