The template: never put your life in your code

An engineering lesson, paid in three days. We share it so it costs you less.

In short: when you build a tool for yourself, your own data ends up slipping into the code. The day you want to show it to someone else, you can't: showing the tool means showing your life. The template fixes that — and for good.

The trap of the tool you love

You start a project for yourself. So you fill it with whatever you have on hand: your real projects, your real contacts, your real background. That's normal, it's even what makes it useful right away. Except that over time, that data is no longer in the tool: it's glued to the code. You install the module, and it lays down its data — yours — just like on day one.

As long as the tool stays for you, everything is fine. The problem comes the day you want to show it. A demo, a client, a curious friend. Then, every screen displays your life: your ongoing projects, your to-do list, your notes. Impossible to show without exposing yourself.

The trap hiding behind it

You tell yourself: easy, I'll remove my data. You remove it… and half the tool shuts down. Because other pieces — screens, assistants, shortcuts — depended on that module that carried your data. By tearing out your data, you tore out the functions with it.

That's the real cost of mixing two things that have nothing to do together: code, which is reusable, and data, which belongs only to you. Glued together, they fall together.

The template: separating what gets reused from what belongs to you

A template is an empty mold. The module provides the form — the screens, the logic, the functions — and nothing else. The data, on the other hand, comes alongside: either generic (neutral examples, "Client showcase site", "Mobile app"), or whatever the person will enter themselves.

Concretely: at installation, the tool must deliver a clean shell. Not your projects. Not your name. Examples if you want to show what it's for, or nothing at all. Your real data, meanwhile, gets placed afterwards, in your own instance — never in the code that everyone installs.

The rule, in one sentence: a module must be installable by anyone and produce an empty, neutral page — never your life.

The bonus we didn't see coming

By making the module generic, we don't just fix the demo. We also fix all the futures: the next person who installs the tool won't inherit your projects either. What seemed like a cleanup chore was actually the right way to build from the start.

What it taught us

Three days going around in circles over a demo we couldn't make presentable, without understanding why. The cause boiled down to one sentence: we had put our life in our code. The lesson, though, is simple, and now it's free for you:

To remember: never mix reusable code and personal data. Code is shared, data is not. Separate them from day one — and your tool will be presentable, sellable, and ready for the next person, without ever betraying anyone.
🔭