Build a SaaS
Not a billion-dollar platform — a small, paid product that solves one problem for one kind of customer. Here is the week, with what to build each day, the prompt that starts it, and when it is done.
Updated 2026-10-02 · 9 min read
Write the one-sentence problem and list the three screens that solve it. Build those screens with sample data — nothing works yet, but everything is clickable.
A SaaS for freelance photographers to send client galleries: a dashboard of galleries, a gallery page with upload area, and a client view with favourites. Sample data, clean and minimal.
Done when: You can click from the dashboard to a client view.
Make the one flow that delivers the value actually work, end to end, still with sample data.
Make the favourites work: clients can heart photos, the photographer sees a count per gallery and can filter to favourites only.
Done when: A stranger can complete the flow without your help.
Add sign-in and real persistence. Decide who can see what before you write a single rule.
Add email sign-in for photographers. Each photographer only sees their own galleries; clients access a gallery by private link without an account.
Done when: A second account cannot see the first account's galleries.
Connect Stripe for a single plan. One price, one checkout, one success page — pricing experiments come later.
Add a Pro plan at €12/month with Stripe Checkout. Free accounts are limited to 3 galleries; show an upgrade prompt on the fourth.
Done when: A test payment upgrades the account and lifts the limit.
First-run experience, empty states, loading states, error messages, mobile layout. This is what makes it feel like a product.
Add empty states with a clear next action on every list, skeleton loaders, and friendly error messages. Make everything work at 375px.
Done when: A new account never sees a blank screen.
Walk the security checklist. Add privacy policy, terms and a way to delete an account.
Add a Delete account option that removes the photographer's galleries and data after confirmation, and link the privacy policy and terms in the footer.
Done when: Checklist done; secrets rotated; a deleted account is really gone.
Publish on your own domain, send it to ten people who have the problem, and watch the first sessions.
Add a simple onboarding checklist on the dashboard: create your first gallery, upload photos, send the link to a client.
Done when: Ten real people have the link. One has used it twice.
Read next
Describe them now; click through them in a minute.