dropthejase rips out Louis's cloud stack and rebuilds it on AWS

The fork moves its entire backend plumbing - logins, file storage, and the AI connection - off Supabase and Cloudflare and onto Amazon's stack.

infrastructurechat-ui

This isn't a feature; it's a foundation swap. dropthejase has rewired how the front end talks to everything behind it. User logins now run through Cognito (Amazon's identity service), uploaded files land in S3 (Amazon's storage), and the AI agent is reached through Amazon's own runtime - all replacing the setup the original shipped with. A single deploy script pulls its own settings from the cloud and pushes the site live.

One change worth flagging for anyone who cares how the chat behaves: instead of resending the whole conversation each turn, the app now sends only your latest message and lets the agent rebuild the thread from its own database. Lighter traffic, and the server becomes the single source of truth for what was said.

So what Anyone weighing where to host a legal-AI product - or already standardised on AWS - should study how Louis wires it together end to end.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

9 commits from dropthejase/louis, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
bd92d5b1 feat(frontend): add AWS lib (config, credentials, storage, agentcore) and AwsContext Jason Lee 2026-05-06 ↗ GitHub
Create src/lib/aws/ with Cognito Identity Pool credential exchange,
Amplify Storage helpers, and env var config. Add AwsContext React
context wrapping Supabase session → IAM creds. Wrap providers.tsx
with AwsProvider.

a13a5f4d feat(frontend): mikeApi.ts - Bearer JWT for API/AgentCore, Amplify Storage for S3 Jason Lee 2026-05-06 ↗ GitHub
commit body
Replace NEXT_PUBLIC_API_BASE_URL with API_URL from aws/config. Switch
apiRequest and all multipart uploads to Bearer JWT (Supabase token).
Route streamChat / streamProjectChat directly to AGENTCORE_URL with
Bearer JWT - AgentCore JWT inbound authorizer validates the token.
Tabular streaming also uses Bearer JWT to API Gateway.

a0ceab77 chore(frontend): static export config and AWS deps Jason Lee 2026-05-06 ↗ GitHub
commit body
Add output: 'export' and images: { unoptimized: true } to next.config.ts.
Remove sitemap rewrites (incompatible with static export). Install
@aws-sdk/client-cognito-identity and aws-amplify. Remove
@opennextjs/cloudflare, wrangler, and Cloudflare-specific npm scripts.
Delete open-next.config.ts.

23381745 chore(frontend): env example and deploy script Jason Lee 2026-05-06 ↗ GitHub
Add .env.local.example with AWS env var placeholders (API URL,
AgentCore URL, Identity Pool ID, S3 bucket). Add scripts/deploy-frontend.sh
that builds the static export then syncs to S3 and invalidates CloudFront.

619fbfed Merge feature/frontend: AWS transport wiring, model selector (Claude only) Jason Lee 2026-05-06 ↗ GitHub
2d8d5685 feat(scripts): add deploy-frontend.sh (build → S3 sync → CF invalidation); update README Jason Lee 2026-05-07 ↗ GitHub
c61d9e47 fix(deploy-frontend): run npm ci before build Jason Lee 2026-05-11 ↗ GitHub
fa92fc57 fix: update .env.lambda.example to match CDK vars; print .env.local line after agent deploy Jason Lee 2026-05-11 ↗ GitHub
c6ac9cdb chore: gitignore zips, update README, refactor deploy-frontend to read from CFN outputs Jason Lee 2026-05-11 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-332.md from inside the repo you want the changes in.

⬇ Download capture-thread-332.md