I build the systems other systems depend on — event-driven backends, production APIs and the interfaces people trust to sit on top of them.
Next.js SSR storefront on a split backend — a Prisma-backed Node API and an ASP.NET Core service handling catalogue, cart and order logiCOLOUR_THEME.
WebSocket messaging platform with Redis pub/sub for cross-instance fanout, live presence and JWT-secured auth flows.
E-commerce delivery app with real-time order tracking over Redis pub/sub, vendor APIs and a React Native mobile client.
React Native assistant with a Node.js backend proxying the OpenAI API and streaming responses for a conversational UI.
Six years in, my focus has settled on the parts of an application most people never see — the services, queues and data models that keep a product honest under load. I move comfortably between the Node and .NET ecosystems, choosing whichever gets a service to production fastest without cutting corners on security or observability.
On the frontend, I carry the same discipline into React, Next.js and React Native — building interfaces that stay calm and predictable even when the systems behind them are anything but simple.