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.

TechnologyWhat it does on this very pageCode
DynamoDBStores the visitor counter you saw on the home page. You bumped it. Sorry.
RDS PostgresHolds hire-form submissions. Validated twice - client-side hints, then CHECK constraints that reject "competitive salary" for real. Migrations via node-pg-migrate, like adults.
GraphQLServes the Manifesto reactions and the visitor counter. Playground's open - poke at it.
Google SSOGates the AI assistant, so nobody runs up my token bill.
AI assistantLLM integration via an API route to Anthropic (Claude Haiku). Ask it about me.
RedisCaches Pepper's answers by question hash (repeat questions cost zero tokens) and holds per-user + site-wide rate limits.
Next.jsRenders every page you're reading, front and back, in one container. React 19 and TypeScript included - one of them keeps me honest.
Tailwind CSSStyles every pixel on this page. Yes, "centering a div" is on my hate chart, and yes, everything here is centered. Growth.
Docker + ECSRuns that Next.js container on Fargate. No servers I have to babysit.
Application Load BalancerRoutes every request that reaches this page - and 403s anything that tries to skip CloudFront and hit it directly.
CloudFrontCDN and TLS in front of it all. Cached the CSS that makes this look OK.
Route 53Resolves opentowork.lol to an actual server. The most boring service on this list, doing the most necessary job.
ACMIssues the free TLS certificate that keeps the padlock in your address bar happy.
SESFires the two emails - one to me, one back to you - the moment the hire form gets submitted.
VPCThe private network Postgres and Redis actually live in, specifically so the public internet can't reach them.
SSM Parameter StoreKeeps every password and API key out of the code you're about to read. Free - no Secrets Manager needed for one owner.
TerraformBuilt literally everything above with one apply. Including the thing hosting this.
GitHub ActionsBuilds, tests, and deploys this exact page on every push - authenticated to AWS with zero static keys.
gitleaksScans every commit for leaked secrets in CI. Its proudest achievement to date: finding absolutely nothing. As planned.
AirflowFluent 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.