Blog
Thoughts on software, entrepreneurship, and everything in between.
Thoughts on software, entrepreneurship, and everything in between.
Got a project in mind, a question, or just want to chat? I would love to hear from you.
Send an EmailThoughts on building software, running a business, and everything in between.
Architecture decisions, incident write-ups, and post-mortems from production systems.
Why I split a WhatsApp messaging gateway across a cloud front door and a Mac at home, and how the two halves stay in sync, stay secure, and confirm every send.
How I built a voice-to-blog pipeline: speak into my phone, a two-stage speech and language model writes the post, and it ships itself.
How HMD Pay charges nothing for payment processing, and why the model that everyone said was impossible has been running for over three years.
Integrating charitable micro-donations into an iOS app with StoreKit 2: the implementation, the Apple fee question, and the case for purpose-driven software.
Performance patterns for Next.js 15 on Vercel: Server Components, static generation, image and font budgets, edge redirects and build-time computation.
Lessons from five years of building software and running HMD Corporation: shipping early, technical debt, deleting code, delegation, and avoiding burnout.
Practical CI/CD pipeline design for small teams: GitHub Actions, caching, parallel jobs, and deployment strategies built for speed and reliability.
Hard-won open-source licensing lessons: why MIT was the wrong default, the move to CC BY-NC-SA, dual licensing, AGPL for SaaS, and why a CLA matters.
The architecture and technical decisions behind HMD Payments, a zero-fee payment platform supporting crypto, Papara, IBAN, and card transactions
How we built a Discord invite-tracking system that handles thousands of events per minute and detects fake accounts with behavioural heuristics.
Practical MongoDB patterns for high-throughput apps: per-guild documents, capped collections, compound indexes, bulk writes and lazy schema migration at scale.
The architecture behind Chat Guard, a Discord moderation bot serving 7,500+ servers and 15M+ users: sharding, MongoDB at scale, and the event pipeline.