The Problem

Side projects stall when the architecture is sized for a company that does not exist yet. Auth, roles, notifications, and abstraction layers appear before a user can create and complete a task.

The constraint was time and honesty. The app had to be real enough to deploy, and small enough that the repository still explained itself.

Approach

I limited the product to the core loop: create, view, and complete work. The stack stays conventional so the interesting part is the boundary of the product, not a novel framework choice.

Deploying early was part of the design. A live URL forces decisions about environment, routing, and what “done” looks like. A local-only prototype does not.

Impact

Results / Impact

The result is a public artifact, not a private experiment. The repository and the live app can be reviewed together, which is the point of this kind of project: evidence that the work shipped.

Live app

Public deployment on Vercel

Public repo

Implementation available on GitHub

Narrow scope

Core task loop instead of a platform

What I Learned

Scope is an engineering decision. Every extra feature is a test you now have to keep passing.

I would add a short written definition of done in the repository itself. Future changes should have to justify why they are larger than the original loop.