If you landed here expecting a sterile corporate portfolio filled with generic buzzwords, take a breath. You are in the wrong place.
Welcome to Tech Studio & Coffee Lab—a digital sandbox where rigorous software engineering meets the precise, sensory science of specialty coffee.
I’m Simon Mwangi (also known online as Wangenye), a full-stack software engineer and coffee roaster based in Nairobi, Kenya. For years, I’ve operated in two worlds that most people assume have nothing to do with each other: writing resilient distributed web applications and managing experimental micro-batch coffee processing.
In practice, they require the exact same cognitive mindset.
The Engineering Core: Resilient Systems & Local Context
In software, clear beats clever every single time. Whether I’m architecting a multi-tenant B2B SaaS platform like BeanRelay or building educational hubs like Coffea Academy, my focus is always on structural integrity, predictable data flows, and fault tolerance.
Building in Nairobi teaches you real-world resilience fast. Third-party API callbacks drop, network connections fluctuate, and payment rails need meticulous handling. That’s why my engineering stack is intentionally chosen for performance and reliability:
- Frontend: Next.js (App Router) and Tailwind CSS for snappy, server-rendered experiences with minimal client-side overhead.
- Backend: NestJS and TypeScript for modular, maintainable enterprise-grade services.
- Payments: Deeply integrated M-Pesa (Till and Paybill) and Stripe architectures designed with strict fallback handlers to prevent lost transactions in production.
I don't just build apps that look good on a localhost screen; I build systems designed to survive real-world edge cases.
The Parallel: Code and Coffee Craft
People often ask how a software developer ends up roasting specialty coffee and designing post-harvest fermentation protocols. The answer comes down to variables and traceability.
In roasting, a single degree of temperature drift or a poorly managed drying bed can ruin an entire micro-lot of coffee. In software, an unindexed database query or a sloppy state management bug will tank your application performance. Both crafts demand:
Systematic Tracking: Documenting every variable—whether it's green coffee moisture content and yeast inoculation parameters or database query execution times.
Modular Design: Isolating components so that when something breaks, you can diagnose the root cause without rewriting the whole system.
Human-Centric Design: Creating software that humans actually enjoy using, just like roasting coffee that highlights origin notes rather than hiding them behind dark roasts.
What to Expect on This Blog
This space is built to document the messy, fascinating reality of building digital products and physical systems from scratch.
Now that we’ve laid down the modern Next.js and Sanity infrastructure (as covered in Part 1), upcoming articles will dive deep into practical engineering patterns, including:
- Building fault-tolerant M-Pesa payment state machines in NestJS.
- Structuring clean, headless content models with Sanity CMS for high-performance publishing.
- Designing automated roastery inventory synchronization engines.
If you care about clean architecture, pragmatic problem-solving, and building things that actually work in production, pull up a chair. Let's build something remarkable.