I build from strategy to production.
Full-stack engineer and music-technology founder. I came into software from a working music career, and I take ideas from product strategy and interface design through frontend architecture into production, building the backend, data and AI systems when the product needs them.
- now
- Contract full-stack engineer, leading label and publisher
- open to
- Remote, Los Angeles, New York, Nashville
- lately
- Publishing-native AI workflows that save a label’s admin team hundreds of hours and have registered hundreds of songs for real artists. Data engineering and migrations that save clients tens of thousands of dollars a year.
- elsewhere
- GitHubLinkedIn
try what did you build for the confidential client? / show me the brokr demo / make me a one-sheet
No.WorkMy partStatus
One sentence to a running stack.
Describe an app and Brokr compiles a plan, then provisions GitHub, Vercel, Neon, Resend, R2 and an AI gateway for it.
- my part
- Designed and built it solo
- status
- Side project




Tools 55
- languageMy go-to languageThe default for almost everything I shipTypeScript
- languageJavaScript
- languageAI services and the data sidePython
- languageThe analytics service, and the Tastemakr APIGo
- languageRaw SQL when the ORM is in the waySQL
- languageHTML / CSS
- languageNode.js
- codingMy go-to coding agentClaude Code
- codingCodex
- codingCursor
- frontendMy go-to UI libraryReact
- frontendMy go-to frameworkMy main app frameworkNext.js
- frontendWhat Tastemakr's web app ran onRemix
- frontendA smaller demo, not the production appSvelteKit
- frontendSplidi's iOS app, with a full-stack WebSocket chat as an early milestoneReact Native
- frontendMy go-to design toolWhere I designed before I could build. Still where hierarchy and brand get setFigma
- frontendTanStack Query
- frontendMUI
- frontendMy go-to UI primitivesRadix UI
- frontendMy go-to animation libraryMotion
- frontendMy go-to stylingEmotion
- apiMy go-to API layerTyped contracts between client and servertRPC
- apiTyped contracts between client and serveroRPC
- apiZod
- apiThe Go web layer in front of the analytics serviceGin
- apiThe Python service layer next to the AI modelsFastAPI
- apiReal-time sessions in Splidi and Tastemakr's review roomWebSockets
- dataMy go-to databaseThe workhorse, and what the APIs actually readPostgreSQL
- dataMy go-to Postgres hostNeon
- dataSupabase
- dataMy go-to ORMPrisma
- dataStaged extracts, sitting beside PostgresDuckDB
- dataThe file format for those extractsParquet
- dataThe warehouse I moved reads off ofSnowflake
- dataThe deep-history tier, on object storageApache Iceberg
- dataMy go-to object storageObject storage, plus auto-provisioned buckets inside BrokrCloudflare R2
- dataAmazon S3
- infraDocker
- infraMy go-to hostVercel
- infraDigitalOcean
- infraServerless GPUs for the model workRunPod
- aiThe shape my products take, not a chatbot bolted onAgents + retrieval
- aiSelf-hosted open models with my own fine-tunes and merged adaptersFine-tunes + LoRA
- aiHugging Face
- aiSelectable model priority inside BrokrModel gateway
- aiAI SDK
- aiMy go-to vector storeChroma
- aiQdrant
- aiPinecone
- integrationsMy go-to code homeGitHub
- integrationsMy go-to paymentsPayments, and Stripe Connect for paid templatesStripe
- integrationsMy go-to emailEmailResend
- integrationsOAuth and API-key connectorsOAuth
- integrationsSo an agent can stand up infrastructure on its ownCLI + SDK
- integrationsPuppeteer