dropthejase lays the AWS foundations for Louis

The Louis fork is being lifted onto AWS, and the scaffolding for that move just landed.

infrastructure

dropthejase has stood up the backbone of an AWS deployment for Louis, splitting the cloud setup into clean, separately-deployable pieces: one for document and frontend storage (fronted by Amazon's CDN), one for the API and its serverless functions, and one for a document-conversion service running LibreOffice in the background. Permissions for Bedrock - AWS's hosted-model service - are wired in so the app can actually talk to an LLM once deployed.

A few decisions are flagged as proof-of-concept only: buckets are set to wipe themselves on teardown, and an early stub for handling logins is already destined for replacement by a proper identity service. The split itself, though, looks like the durable shape: storage, API, conversion, and later auth and database, each isolated so a problem in one doesn't take down the others.

So what Legal-tech leaders weighing whether to self-host Louis on AWS now have a working blueprint to study before committing engineering time.

View this fork on GitHub →

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

Commits in this thread

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

SHA Subject Author Date
1d051296 feat(infra): scaffold CDK app with stage helper Jason Lee 2026-05-06 ↗ GitHub
2883c4d4 feat(infra): add StorageStack with docs bucket, frontend bucket, CloudFront Jason Lee 2026-05-06 ↗ GitHub
8002cb79 feat(infra): add ApiStack with REST API Gateway, Lambda, Secrets Manager Jason Lee 2026-05-06 ↗ GitHub
39ec1eaf feat(infra): add ConversionStack with LibreOffice Lambda container placeholder Jason Lee 2026-05-06 ↗ GitHub
commit body
Adds ConversionStack (DockerImageFunction + S3 event notifications for .docx/.doc).
Uses bucket ARN/name strings instead of the bucket construct to break the cross-stack
dependency cycle that S3 event notifications would otherwise cause. Also fixes
Lambda authorizer import to use fromFunctionAttributes with sameEnvironment=true.

c948bc3e chore(infra): add env example for downstream plans Jason Lee 2026-05-06 ↗ GitHub
69bd0507 feat(infra): wire Supabase secret into ConversionStack Lambda Jason Lee 2026-05-06 ↗ GitHub
d62d2a00 feat(infra): ApiStack - wire Lambda to backend Dockerfile.lambda, add Bedrock IAM Jason Lee 2026-05-06 ↗ GitHub
7f6592d8 fix(infra): AuthStack - use NodejsFunction+esbuild for authorizer (no pre-build needed) Jason Lee 2026-05-06 ↗ GitHub
01909358 Merge feature/infra-cdk: CDK stacks (Storage, Auth, Api, Conversion) Jason Lee 2026-05-06 ↗ GitHub
a24c896b Merge feature/conversion: LibreOffice Lambda container Jason Lee 2026-05-06 ↗ GitHub
08884d4e fix(infra): set RemovalPolicy.DESTROY on all buckets for clean POC teardown Jason Lee 2026-05-08 ↗ 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-330.md from inside the repo you want the changes in.

⬇ Download capture-thread-330.md