# I built a time tracker without touching the code: declarative architecture programming with Claude

> Source: <https://dev.to/nomad4tech/i-built-a-time-tracker-without-touching-the-code-declarative-architecture-programming-with-claude-1e88>
> Published: 2026-10-04 13:35:40+00:00

I ran an experiment: build a complete product without writing or editing a single line of code myself. Not a script, not a prototype - a web app with a backend, a database, a phone layout, an installable PWA, a Chrome extension and a landing page. In my spare time after my regular job, over a few days.

Before the "even a time tracker needs vibe coding" comments: yes, I know, a time tracker is not a spaceship. I am a backend developer, and everything under the hood (the API, the database, the modules) I could have written by hand, without any model. It was planned and designed by me, and the model only filled in the implementation. The point is not that the app is hard. The point is that a complete, working product can be made without ever looking at the code.

The frontend is a different story. I am not a frontend developer, so there I worked at the level of intuition and engineering understanding: how it should feel, how it should behave, what goes where. That is a level above the code. So here is the question I want to put to you up front: **if an app is built this way, is it still "yours"? Would you take a good app made fast by a model over a good, slower and smaller one written by hand?** I have my own answer below, and I would like to hear yours.

The result is Overdraft, a personal time tracker. It has no users yet. I just released it, and I never planned to advertise it. I made it for myself and for my son. This post is about how it was made, and what I think that says about where programming is going.

I wanted something simple: press play on a task, and later see where the time actually went. Not a timesheet, not a team tool. A mirror for personal time, and maybe a way to regulate "wasting" it.

A few rules came from that, and they are all mine:

The idea, the product decisions and the architecture were mine. The code was written entirely by Claude, through Claude Code. I did not open an editor to fix "just one line". If something was wrong, I said what was wrong, and the model changed it.

What that looked like in practice:

`auth`, `board` and `progress` modules with explicit contracts between them. Frontend: Vite, React, TypeScript, one flat structure. Each module has a short `CLAUDE.md` that states what it owns and what it must not know about.
The repository today has about 25,000 lines of Java, TypeScript, CSS and SQL, 23 database migrations and 184 commits made over six days. I wrote none of those lines.

We have been writing declaratively for a long time: you say what you want (SQL, HTML, config) and the engine decides how. What I did here is one level up. I did not describe the code. I described the **architecture**: what the parts are, what each one owns, where the boundaries are, what is forbidden, and what the product must feel like. The implementation was left to the model.

Maybe it deserves a name like declarative architectural programming. I am not sure the term is right, but the split is real: the human owns the idea, the constraints and the taste; the model owns the typing.

`KNOWN_ISSUES.md` file instead of being lost.
This is the part I have not settled. The app came from my idea, my rules and my architecture, yet I did not write the code. The backend I could have typed myself; the frontend and the extension I steered by intuition and engineering sense, without reading the code. It feels strange to say "I made it" and "I did not make it" about the same thing.

My current answer: I am the author of the product and of the decisions, and the model is the author of the typing. A film director does not operate the camera either. But I notice that the line is blurry, and that it moves every few months.

No users, no marketing, no revenue. It is early access and free, and it started as a tool for me and my son. If you try it, I would like to hear what is wrong with it.

Tell me in the comments. And if you track your time, tell me what the one feature is that you could not live without.

Disclosure: this article was also written entirely by a model (Sonnet 5.5), from my notes and the project files, as part of the same experiment.
