Full-stack product engineering

A mobile assistant and the admin tools behind it. A trading interface and its indexer. A banking app and the partner integrations it depends on. My full-stack work tends to be the pairing rather than one layer of it.

The interesting decisions are about boundaries: what becomes a service, what stays in the client, and what nobody downstream should have to think about twice.

AI products across mobile, web, and data

LegalAgent is two clients against one system: an Expo assistant for lawyers and a TanStack Start admin for the team maintaining its sources. I built both.

Token flows across contracts, data, and interface

At Bitlauncher the token bridge was the full-stack problem: swapping USDT, USDC, and BITUSD into the token used for bidding touches contracts, indexed events, wallet balances, and the bidding interface at once.

Regulated products and exchange infrastructure

The pairing is the same in both cases: a visible client, and the system that makes it real. At Wink the React Native app sat on a serverless AWS backend I also owned, where account behavior, security, and partner-bank APIs actually lived. At Bitcash the exchange UI sat on a React, Node.js, PostgreSQL, Hasura, and Google Cloud stack I architected, including the matching engine and realtime chat.

Writing about product systems

See the work

Explore the project portfolio for implementation details, systems, and technology.

The employment record behind this work is the full-stack CV.