Backend
Schemas that survive their second migration. APIs that say what they mean. Transactions that do not quietly lose money while everyone is asleep.
Java · Spring · Hibernate · MySQL · Tomcat
ποιμήν
Twenty years of writing software and then staying for the part nobody photographs: the migrations, the 3am page, the dependency that quietly went end-of-life. Backend, frontend, and the server it all wakes up on.
What we do
Schemas that survive their second migration. APIs that say what they mean. Transactions that do not quietly lose money while everyone is asleep.
Java · Spring · Hibernate · MySQL · Tomcat
Typed, componentised, server-rendered where it earns its keep. We write the CSS too, so there is nobody to throw the design over a wall to.
Angular · TypeScript · SCSS · SSR / prerender
Containers, certificates, deploys, and the incident at an inconvenient hour. The half of the job that never makes it into the portfolio.
Linux · Docker · nginx · Let’s Encrypt
Track record
We have shipped in languages we no longer bring up in conversation. What survived is a bias toward boring infrastructure, small deployable pieces, and writing things down so that the version of us six months from now is not furious.
On AI
AI tooling is in our daily loop and we see no reason to be coy about it. The scarce skill is no longer typing speed. It is stating a problem precisely enough that a machine can take a real run at it, then reading what comes back with enough suspicion to catch the mistake that is delivered confidently.
Faster, then. With the review still done by people who have been on call for their own decisions.
Email is still on the list; setting it up was, predictably, the part we left until last. Until then, leave a note here. We read every one.