I build the products, the teams, and the code that runs them. Founder mindset, engineer's hands.
I've co-founded and led a SaaS company from idea to production, owning product, design, infrastructure, and a small distributed team along the way. That founder mindset, a bias to ship, an obsession with user value, and comfort with ambiguity, is how I approach every project since.
Today I lead frontend architecture for multi-tenant SaaS platforms in React and TypeScript. Engineering is the craft I use to turn ownership into outcomes.
A few breakdowns of how I approach building, and the trade-offs that come with it.
When I joined Orbify, there was no dedicated frontend architecture and no one owning frontend decisions. The codebase had grown fast into a large, inconsistent surface built on outdated patterns, the kind that gets progressively harder to build on the longer it's left alone.
I led a team through a full refactor, replacing outdated patterns with a modern React architecture based on bulletproof-react. The key decision was speed of delivery versus technical purity: instead of a full monorepo, I adapted bulletproof-react so multiple apps could share a common component set and core logic, like auth and API clients, without taking on monorepo overhead. It was a deliberate trade-off suited to a startup that needed to keep shipping while we rebuilt underneath it.
The application got faster, but the bigger win was maintainability. In a startup shipping quickly, a codebase the whole team can move through confidently matters more than any single clever pattern.
GreenCell, an EV technology company, needed a mobile app that could reliably control and monitor Habu, their mobile EV charger, in real time. No single connection method was good enough on its own: Bluetooth offers near-instant control but only works at close range, while cellular reaches anywhere but with more delay. The app had to feel instant regardless of which one was actually available.
I built the app in React Native with a connection-quality-aware architecture: BLE first, since it let us poll and control Habu with almost no delay, and an automatic fallback to 3G when Bluetooth was unavailable or too weak, accepting slightly more latency in exchange for the charger staying reachable from anywhere.
The app stayed responsive whether you were standing next to your charger or controlling it remotely, switching connections automatically without the user ever having to think about it.
Solidstudio was a software agency where I worked as a senior mobile and web engineer, building a whitelabel product that customers could license and deeply customize into their own branded apps. The real challenge was architectural: how do you ship updates and cherry-picked changes to a shared core product without breaking the live, already-customized apps running in production for real customers?
Designing the underlying system was the crucial piece: without a clear separation between the shared core and each customer's customization layer, shipping a true whitelabel product wouldn't have been possible at all. My focus was the mobile side, built in React Native with Expo modules, where every whitelabeled customer shipped independently under their own Apple Developer account. Each customer also got an admin panel, built in React and Ant Design, to manage their own configuration.
The system let us ship a genuinely whitelabel product: customers could deeply customize their app without diverging from the core, and updates could flow back in without constant merge conflicts across every customer's live app.
Coming out of Orapa.co, we needed a product sales teams would actually want to use, not just another feature nobody asked for, and we needed to find that out fast without spending months building the wrong thing.
We first tested an interactive AI sales training chatbot combining text-to-speech, speech-to-text, and natural language intent analysis, built on GPT-3 years before ChatGPT popularized LLMs, when the APIs, tooling, and best practices we take for granted today barely existed. We then simplified into Intro.so: a standalone Electron desktop app and a Chrome extension that injected insights about the people you were meeting directly into Google Calendar, right before your Google Meet call. Under the hood it was a TypeScript codebase with a Node/Express backend, sourcing data by scraping LinkedIn with Puppeteer and combining it with third-party data providers.
The Chrome extension became the strongest signal across everything we built: hundreds of customers used it, real proof that people wanted meeting insights surfaced automatically. But we never built out the layer needed to turn that adoption into a fully monetizable product, so revenue never followed and we eventually wound the company down. The company ultimately didn't become a sustainable business, but the experience fundamentally shaped how I build products today: validate quickly, measure honestly, and optimize for solving real customer problems rather than falling in love with an idea.
Even with money, you can't move fast without a network, especially in tech. Orapa.co set out to fix that: a marketplace where you could pay for a warm introduction to people worth knowing.
We built it quickly and deliberately kept scope tight: just enough to get real supply and demand in front of each other and learn whether the model held up, rather than over-engineering a product nobody had validated yet.
We validated product-market interest fast, and just as fast ran into the problem that kills most two-sided marketplaces: we couldn't fill the supply side quickly enough for the model to work. Rather than keep pouring time into a marketplace that wasn't holding together, we made the call to pivot.
More case studies in progress. Check back soon.
Open to founding engineer roles, senior engineering leadership, and contract work with teams that ship.