examples Stintly

Side Project Illustrative

Stintly

A focus timer that bills clients while you work

Illustrative example. A fictional organisation; its names, figures and domains are invented.

NORTH.md — Stintly

Project purpose, ambition, and trade-off defaults. One person. Stolen hours. Real constraints.

1. North Star

Ship a focus timer that freelancers pay for, reaching €5,000 MRR by month 12 — without hiring, raising or expanding beyond the core loop.

The goal is a profitable, sustainable side project, not a startup. The month-12 target tests whether the core value proposition works; it is not a growth target.

2. The Bar

A feature is shippable when:

  • It works end to end in Chrome and Firefox, tested by hand in each.
  • At least one automated test covers the happy path.
  • It does not break existing integrations (time-tracker sync, CSV export).
  • The landing page describes the new capability before the feature ships.

A weekly demo (Friday, 15 minutes, recorded) is the forcing function. If a feature is not ready to demo by Friday, it waits for the next one. No exceptions.

3. Asymmetric Bets

Go 10x on:

  • The timer itself. The core loop is start → focus → log. Every bit of friction in that loop loses a user. This is the one thing worth obsessing over.
  • Integration reliability. If a user’s time entries fail to reach their time tracker at 4 pm on a Friday, they will not come back. Integrations must be boring and correct.

Accept 1.1x on:

  • Settings and preferences. Functional, not beautiful. Nobody is here for the settings page.
  • Onboarding. Clear enough not to block the first session; no further investment until the core loop is validated.
  • Marketing site design. One page, clearly written. No redesign until revenue data says design is the bottleneck.

4. Anti-Goals

  • We do not hire. Hiring means payroll, management and a revenue requirement that changes what the project is. This is a side project; its constraints are its identity.
  • We do not raise funding. Outside capital brings growth expectations a €5k MRR target cannot meet. If subscriptions cannot sustain the project, the project is wrong, not the funding.
  • We do not add a feature outside the core loop without removing one. The backlog is full of good ideas. Scope creep never announces itself; it arrives as “just one more small thing”. Anything beyond the core loop replaces something of similar complexity.
  • We do not build mobile apps. The target user is at a desk with billable work open. A mobile experience solves a different problem for a different user. Revisit when this is profitable.
  • We do not build a client-facing portal. Freelancers manage clients in their own tools. Stintly is a personal productivity tool, not client management software.

5. Trade-off Defaults

Trade-offDefaultFlip when
Ship vs. polishShip: an imperfect tool in production produces feedback; a polished unreleased one produces nothingA bug touches billing or time-entry data; it is fixed before anything else ships
Breadth vs. depthDepth in the core loop; no breadth beyond itThree paying users cancel and name the same missing feature as the reason
Build vs. buyBuy: hosted billing, a managed database with auth, managed hostingA vendor bill passes 10% of MRR, or a vendor outage breaks the core loop twice in a quarter
Automated vs. manual testingManual for UI, automated for sync logicThe same regression happens twice; automate that exact path
User feedback vs. own instinctFeedback for the timer experience; instinct for product directionFive paying users independently ask for the same change of direction; it gets a week of serious consideration

6. Ambition Triggers

  • “Would I pay €12 a month for this myself?”
  • “If this feature disappeared, how many users would email me within a week?”
  • “What is the version of Stintly that gets linked in every freelancer productivity thread for the next two years?”
  • “If I had three uninterrupted days instead of scattered hours, what would I build, and is that more important than what I am building now?”
  • “Is this a demo I would be proud to send to the mailing list?“

7. Reversibility

One-way doors — decide deliberately:

  • The sync contracts with the time trackers we integrate with. Breaking a sync breaks trust with every user who relies on it.
  • Pricing structure. Moving to annual-only, or changing the free tier, resets existing users’ expectations and carries real churn risk.
  • The schema for stored time entries. Migration is possible, but it costs user trust if it goes wrong.

Two-way doors — move fast:

  • Almost everything else. For a side project, a bad decision costs a week’s work, not a company.
  • UI layout and copy. Change freely based on what users actually say.
  • Technology choices below the integration layer. Migrate when a better option appears.
  • Marketing site structure. Test different framings freely.
  • Feature names. Rename until something sticks.

When in doubt: treat it as two-way and move fast. The enemy is inertia, not imperfection.

All examples View source on GitHub