Tech Stack
What I use day to day, at work and for music.
Languages
- TypeScript
- The default for frontend and backend work.
- Go
- Payment service backends and high-throughput APIs.
- Rust
- Native desktop tools.
- JavaScript
- Scripts and older codebases.
Frontend
- React
- Component architecture for every web interface I build.
- Next.js
- App Router, server components, static and server rendering.
- React Native
- Cross-platform mobile apps.
- Tailwind CSS
- Styling, including this site.
- Tauri
- Cross-platform desktop apps.
Platform
- Module Federation
- Composing independently deployed micro-frontends into one product.
- Changesets
- Versioning and changelogs for shared packages.
- tsup
- Building tree-shakeable libraries.
- Vitest
- Unit tests for components and hooks.
- GitHub Actions
- CI and package publishing.
Backend
- Node.js
- API servers, scripts and tooling.
- Express
- REST APIs.
- MongoDB
- Document storage for application data.
- MySQL
- Relational data.
State
- Redux
- Large apps with complex, shared state.
- Zustand
- Everything smaller.
Security
- Auth0
- Identity and access management.
- OWASP
- The baseline for every payment flow.
- PCI DSS
- Card payment compliance.
Music
- Ableton Live
- Production and arrangement.
- MainStage
- Live keyboard rigs.
- Studio One
- Recording.
- Omnisphere
- Synths and pads.
- Kontakt
- Sampled instruments.
- Korg Triton
- Hardware workstation.