THE STACK
The stack, and what each part actually does here
Nothing here is complex. That's the point - it's about the wiring, not the feature. Don't trust me? Every row links to the code.
| Technology | What it does on this very page | Code |
|---|---|---|
| DynamoDB | Stores the visitor counter you saw on the home page. You bumped it. Sorry. | |
| RDS Postgres | Holds hire-form submissions. Validated twice - client-side hints, then CHECK constraints that reject "competitive salary" for real. Migrations via node-pg-migrate, like adults. | |
| GraphQL | Serves the Manifesto reactions and the visitor counter. Playground's open - poke at it. | |
| Google SSO | Gates the AI assistant, so nobody runs up my token bill. | |
| AI assistant | LLM integration via an API route to Anthropic (Claude Haiku). Ask it about me. | |
| Redis | Caches Pepper's answers by question hash (repeat questions cost zero tokens) and holds per-user + site-wide rate limits. | |
| Next.js | Renders every page you're reading, front and back, in one container. React 19 and TypeScript included - one of them keeps me honest. | |
| Tailwind CSS | Styles every pixel on this page. Yes, "centering a div" is on my hate chart, and yes, everything here is centered. Growth. | |
| Docker + ECS | Runs that Next.js container on Fargate. No servers I have to babysit. | |
| Application Load Balancer | Routes every request that reaches this page - and 403s anything that tries to skip CloudFront and hit it directly. | |
| CloudFront | CDN and TLS in front of it all. Cached the CSS that makes this look OK. | |
| Route 53 | Resolves opentowork.lol to an actual server. The most boring service on this list, doing the most necessary job. | |
| ACM | Issues the free TLS certificate that keeps the padlock in your address bar happy. | |
| SES | Fires the two emails - one to me, one back to you - the moment the hire form gets submitted. | |
| VPC | The private network Postgres and Redis actually live in, specifically so the public internet can't reach them. | |
| SSM Parameter Store | Keeps every password and API key out of the code you're about to read. Free - no Secrets Manager needed for one owner. | |
| Terraform | Built literally everything above with one apply. Including the thing hosting this. | |
| GitHub Actions | Builds, tests, and deploys this exact page on every push - authenticated to AWS with zero static keys. | |
| gitleaks | Scans every commit for leaked secrets in CI. Its proudest achievement to date: finding absolutely nothing. As planned. | |
| Airflow | Fluent in it. Still haven't figured out where to wire it in here for maximum uselessness. |
Why two databases
Because every job posting demands both SQL and NoSQL experience. So: Postgres and DynamoDB, wired in purely to prove I know how each one works - relational constraints on the hire form, atomic counters with TTL on everything else.
Be thankful I stopped there. Cassandra and ClickHouse were on the shortlist.
A public LLM agent that isn't a security hole
These days even waiters need ML and LLM experience to get hired, so here's mine - go play with it on Floor 4 of the home page. Ask it about me, the stack, or whatever else. It'll politely decline the whatever else - which brings us to why: narrow system prompt, read-only tool calls, a guard layer against prompt injection, and rate limits tied to your signed-in session.