Indie Shipyard
A deliberately small tracker for indie developers: every app, its stage, and the one next thing to do.
indieshipyard.com- Period
- 2026
- Scope
- Web app
- Stack
- Next.js, Supabase, Postgres, Stripe
- Status
- Live
Problem
When you're building several apps at once, the hard part isn't any single one. It's remembering where each stands and what to do next. Project tools like Jira solve a different problem: teams, sprints, assignees. I wanted to track a portfolio, not a process.
Approach
Deliberately not Jira. Each app has one stage (Prototyping, Building, In Review, Live or Retired) and one next thing to do. There's also a drawer for ideas you're not ready to commit to. No sprints, no custom fields, no charts.
Useful before sign-up. The free version runs entirely in the browser with local storage: up to three apps, unlimited ideas, no account. When someone upgrades, their local data is imported into their account, so nothing is lost.
A public page. Paid users can publish a read-only view of their pipeline to share with others. Ideas always stay private.
Payments the database can trust. A one-time Stripe purchase unlocks sync. The interesting part is who is allowed to mark an account as paid. Users can edit their own row, but Postgres column-level grants remove their ability to write that one flag:
revoke update on table public.yards from authenticated;
grant update (user_id, data, updated_at, username, is_public)
on public.yards to authenticated;
-- is_paid is only writable by the Stripe webhook (service role).
Row-level security keeps users to their own data, and the grant keeps them away from the payment flag, so neither a bug in the client nor a curious user with devtools can flip it.
Outcome
Live at indieshipyard.com. I use it to track my own apps.