Created
May 28, 2026 23:44
-
-
Save eliotstock/431dc8012825e9a2b45b02c8ff83d04b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Backend | |
| Runtime & language | |
| - Node.js — dev pinned to 24.13.0 (.nvmrc, engines), but the Docker image builds/runs on node:20-alpine → node:20-slim (mismatch, see note below) | |
| - TypeScript 5.6, ESM ("type": "module"); tsx watch in dev, tsc for the prod build | |
| - Express 5 | |
| Agent / protocol | |
| - @copilotkit/runtime ^1.8 — CopilotKit runtime endpoint (server.ts) | |
| - @ag-ui/client 0.0.43 — AG-UI event emission from the deterministic engine (engine/emitter.ts, engine/runner.ts) | |
| LLM SDKs — all three used only in engine/llm-fallback.ts (free-text extraction; happy path has no LLM): | |
| - @google/genai ^1.44 — Gemini | |
| - openai ^6.27 | |
| - @anthropic-ai/sdk ^0.57 — Claude | |
| Data & payments | |
| - mysql2 ^3.19 — MySQL driver (db.ts) | |
| AWS SDK v3 | |
| - @aws-sdk/client-s3 — signed-scan uploads | |
| - @aws-sdk/client-kms — PII encryption | |
| - @aws-sdk/client-secrets-manager — prod DB + Stripe creds | |
| HTTP plumbing | |
| - multer ^2.1 — multipart upload handling | |
| - cors ^2.8 | |
| - dotenv ^17.3 | |
| Dev tooling: tsx, typescript, concurrently, @types/* | |
| Frontend | |
| - React 19 + React DOM 19 | |
| - Vite 6 (dev server + build), @vitejs/plugin-react | |
| - TypeScript 5.6 | |
| - react-router-dom ^7.15 — routing (3 files) | |
| - @copilotkit/react-core + @copilotkit/react-ui ^1.8 — chat panel | |
| - @teamhanko/hanko-elements ^2.4 — passwordless/passkey auth | |
| - handlebars ^4.7 — client-side template rendering (lib/renderTemplate.ts) | |
| - Served in prod by nginx:alpine (static build behind the Lightsail nginx → ALB) | |
| Infrastructure / deploy | |
| - Docker multi-stage builds; AWS ECS Fargate (ap-southeast-6) × 2 services, ALB, Cloud Map service discovery, ECR | |
| - AWS Secrets Manager / KMS / S3 | |
| - MySQL: dev = per-worktree Docker container; prod = Lightsail managed MySQL (us-east-1) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment