I build full-stack applications designed for the agent era: typed, verified, and easy to change. Pragmatic about tools, paranoid about correctness.
Backend Rails, Phoenix/Elixir, Golang, Node.js, PostgreSQL, Redis
Frontend React, Next.js, TypeScript, Vite, Tailwind
Web3 Solidity, Foundry, wagmi, RainbowKit, EVM (Polygon)
Infra Docker, Cloudflare Workers, Vercel, Railway, CI/CD
Agents write, machines verify: strict types, proof-demanding functions, tests as spec, CI as judge. No rewrites without a customer asking for something the stack can't give.
- hush Keep API keys out of AI agent chats — vault, redacting runner and MCP server (Go)
- pi-google-services Google Workspace MCP server: 26 tools, single binary, OAuth login (Go)
- Socrates Desktop AI assistant for teachers — every AI output stays reviewable before use (TypeScript)
- caduceus-api Quiz API on Cloudflare Workers + Hono + Drizzle + D1, JWT auth, Mercado Pago payments (TypeScript)
- inverso Open-source investment comparison tool with real-time market data (TypeScript)
- elenchos Blockchain registration system with Solidity smart contracts on Polygon



