AI-guided proposal/closing tool for Augusto Digital’s sales motion. Monorepo:
| Package | What | Runs on |
|---|---|---|
packages/frontend |
Vite + React SPA (react-router, Cognito login via OIDC) | S3 + CloudFront |
packages/backend |
Express 5 (TypeScript) + Drizzle ORM | AWS Lambda (via @codegenie/serverless-express) behind API Gateway HTTP API |
packages/infrastructure |
AWS CDK v2 (TypeScript) | — |
The original single-file prototype (index.html, scale-of-win-proposal.html) stays at the repo
root untouched — it is live at https://scaleofwins.augusto.digital/scale-of-win-proposal via Cloudflare Pages.
.nvmrc), npm workspacesmake up # installs deps (in a container), starts postgres + backend + frontend
make logs # follow backend/frontend logs
make down # stop everything
make migrate # run drizzle migrations against the local db
make psql # psql into the local db
/api to the backend)postgres://sow:sow@localhost:5432/scale_of_winsEverything works without auth config; to exercise login locally, copy .env.example to .env
and fill in the dev Cognito values from the scale-of-wins-be-dev stack outputs, then make up
again. Without them the app runs “open” with a banner.
Schema changes: edit packages/backend/src/db/schema.ts, then
npm run db:generate -w packages/backend and commit the new file in packages/backend/drizzle/.
Account 057826131059 (Sheffield Software), region us-east-2. Stacks:
scale-of-wins-ci — GitHub OIDC provider + scale-of-wins-gha-deploy IAM role (deployed once, manually, with admin credentials)scale-of-wins-be-{env} — VPC (public/app/db tiers; app egresses via NAT instance in non-prod, NAT gateway in prod; db isolated) + Aurora Serverless v2 Postgres (min 0 ACU in non-prod) + Cognito user pool (groups rep/client) + API/migrate Lambdas + HTTP API + Cognito custom-auth trigger Lambdas (all outbound email via SES in the Augusto SES account 869569422610 through a cross-account role)scale-of-wins-fe-{env} — private S3 bucket + CloudFront (OAC, SPA fallback)Note: Aurora scales to zero in dev — the first request after idle takes ~15s while it resumes.
Merges to main deploy automatically via .github/workflows/deploy.yml (GitHub OIDC → the
scale-of-wins-gha-deploy role): CDK deploy, migrate Lambda invoke, frontend build with dev
stack outputs, S3 sync, CloudFront invalidation.
From the dev machine, make deploy-dev does the CDK part by assuming the same role.
Auth for humans is via aws sso login --sso-session sheffield-software.