4 live 1 building on the bench: Pehra Pro, Snap Receipt last shipped

Projects

ShipLock

Status
Unreleased
Platforms
iPhone · Android
Since
January 2026
Stack
Flutter · Riverpod · Firebase · Gemini
Last shipped

ShipLock is a commitment-first app for finishing one project before you start the next. You lock one project into a focus track (morning, afternoon or evening) for 14, 21 or 30 days. AI turns it into a fixed plan with one outcome per day. And quitting takes effort, on purpose.

ShipLock's focus tracks, with one project locked in for the morning.

The problem

"Most people don't fail because they lack ideas. They fail because they abandon them too early."

That line is from the product spec, and the whole app is built around it.

How it works

  • Focus tracks. Three slots a day: morning, afternoon, evening. One project per slot.
  • Lock a project. A name, a type, a finish line, and a length: 14, 21 or 30 days.
  • The Finish Path. One AI call writes a day-by-day plan with one clear outcome per day. The prompt asks for no advice, and for a plan that's "realistic and slightly uncomfortable".
  • Every day: done or skip.
  • The parking lot. A new idea goes here, not into a new track.
  • Quitting. The quit button stays disabled until you choose a reason.

Decisions

Why can't you edit the plan? #

Because an editable plan becomes a second project. The Finish Path is fixed, "designed to reduce decision fatigue". The cost: a bad plan stays bad. You follow it, or you quit with a reason.

Why make quitting hard? #

"Friction is a feature." The rule for every feature: it must reduce quitting, not increase thinking. So ShipLock leaves out task lists, editable plans, drag-and-drop scheduling and gamification, on purpose.

Why no sign-up screen? #

You can look around without an account. Anonymous sign-in happens only when you tap "Lock This Project", because that's the first moment there's something worth saving.

Why is the model name in Remote Config? #

One client-side call to Gemini through Firebase AI Logic, with the model name read from Remote Config. Changing the model doesn't need an app release.

Where it stands

An MVP, built in eleven days in January 2026. Before a store release it still needs skipped days saved properly, a real insight card, and release signing.

The numbers

  • 110 commits in eleven days, from 23 January to 3 February 2026.
  • About 13,800 lines of Dart.