Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save eliotstock/431dc8012825e9a2b45b02c8ff83d04b to your computer and use it in GitHub Desktop.

Select an option

Save eliotstock/431dc8012825e9a2b45b02c8ff83d04b to your computer and use it in GitHub Desktop.
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