14 February 2025·Kappak
Building software that lasts

The projects that hurt the most aren’t the ones we built from scratch. They’re the ones we inherited: no tests, no docs, and a “we’ll refactor later” that never happened. So when we start something new, we assume we’ll be the ones maintaining it in two years. That assumption changes everything.
We name things after the problem, not the tech. We keep boundaries obvious so that changing one part of the system doesn’t mean touching five others. We write the first test before the second feature. Boring? Maybe. But boring is what lets you move fast when it matters—when the product is live and the real requirements show up.
We’re not against new tools. We’re against adopting them because they’re new. If something genuinely simplifies the problem (better DX, fewer bugs, clearer semantics), we’ll use it. Otherwise we stick with what the team already knows and what the next person can pick up in a day.