Engineering Notes
Why the engineering decisions were made. The reasoning, the trade-offs, and the failures that taught us each lesson.
Why Scripting?
Why Reepolee builds with plain TypeScript scripts: they let platform quirks be absorbed into readable code you own, in one place, rather than leaking into configuration, plugins, or setup instructions.
Boring UI Wins
On why standardized, predictable UI wins over the life of a product - covering component learning curves, layout conventions, browser-native features, accessibility, maintenance debt, and why the best interface is the one nobody notices.
The Generator Pattern, Not a Library
Why Reepolee uses a code generator instead of a library, and what that choice means for security, maintainability, and the surface of change in your own project.
The Reepolee Approach
An introduction to the Reepolee philosophy: on-premise infrastructure, zero-dependency applications, code generation over AI, SQL over ORMs, and a commitment to simplicity that compounds over decades - for freelancers, solo devs, small agencies, and informal groups who carry the maintenance cost.
Living on the Edge
On early adoption, one-off software, the kind of problems nobody else wants to tackle, and why code is the advantage that compounds.
No Deps, No Build
On building zero-dependency, no-build web applications with Bun for nonprofits, education, intranets, and small teams - and why appropriate complexity is a feature, not a compromise.
Use the Tools That Work for You
On choosing tools by what makes you productive, not by what the community has decided signals the right kind of developer.
How We Name Our Columns and Why It Matters
On establishing inhouse naming rules before generators run - column patterns, soft deletes, and a case for snake_case across the entire codebase, not just the database.
Light, Dark, Do Both
On implementing light and dark mode correctly - system preference as the default, per-site user override, and why both are needed.
Default Is a Feature
On keeping tools at their defaults, the portability of skills over config, why TUIs are nostalgia dressed in Rust, and what native GUI tools are quietly getting right.