The tools I reach for, and why they tend to stick around.
A living inventory of the stack behind Sweet Cat Software. Opinionated, but always up for a better argument.
Core stack
- Languages
- TypeScript & Node.js, end to end. Python when the job calls for it.
- Frontend
- React with Vite and Tailwind CSS v4. Astro for content sites (this one).
- APIs
- GraphQL via AWS AppSync; REST where it fits. Apollo on the client.
- Data
- DynamoDB single-table designs, PostgreSQL, and MongoDB.
AWS
- IaC
- AWS CDK for everything. One readable stack per project, deployed from the laptop.
- Serverless
- Lambda, Step Functions, EventBridge, SQS/SNS, API Gateway.
- Platform
- Amplify Gen 2, Cognito, S3, CloudFront, Route 53.
- AI
- Amazon Bedrock — including AgentCore for agents with longitudinal memory.
How the work gets made
- Agentic coding
- Claude Code, driven by a tight CLAUDE.md and a three-MCP setup (Tailwind Plus, an AWS MCP server, and Playwright).
- Testing
- Jest for units, Playwright for end-to-end UI and API journeys.
- Shell
- zsh with lazy-loading, AWS multi-account helpers, and a sane non-interactive PATH.
- Editor
- Whatever stays out of the way. The terminal is home base.
On the workbench
- Local inference
- LM Studio and a small-form-factor box for running models close to the metal.
- Robotics
- ROS 2 on a Raspberry Pi — a long-running project named Elliot.
- Off-grid
- A solar + battery setup keeping a Michigan cabin online without the grid.