adamwolfe2 throws out the storage middleman

This fork ditches the Amazon-style storage layer for Supabase's own, betting on one provider instead of hedging across two.

infrastructureintegration

Every legal document a Mike deployment handles has to live somewhere, and getting files in and out of that store quietly shapes how hard the thing is to run. adamwolfe2 has rewired that layer to use Supabase - the all-in-one database-and-storage service the fork already leans on - and dropped the separate Amazon-style storage toolkit it used before.

The practical win is operational, not visible to end users: the new path reuses the same credentials the app already needs for sign-in, so there's no extra secret to provision or rotate. The trade-off is a commitment. An earlier change had kept a second storage backend (Cloudflare's R2, a rival file-storage service) in play as a fallback; this one abandons that hedge and goes Supabase-only. Upload behavior also shifts slightly - duplicate files now overwrite instead of erroring.

So what Worth a look for anyone weighing how to deploy a Mike fork cheaply on one stack - but only if you're not tied to Cloudflare for storage.

View this fork on GitHub →

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

Commits in this thread

1 commit from adamwolfe2/mike-amcollective, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
0c77543c refactor: replace S3 SDK with Supabase Storage JS SDK adamwolfe2 2026-04-30 ↗ GitHub
commit body
Eliminates S3 credentials requirement (dashboard-only, no API).
Uses @supabase/supabase-js (already installed) with SUPABASE_URL +
SUPABASE_SECRET_KEY - both already set as Fly secrets.
All public API (uploadFile, downloadFile, deleteFile, getSignedUrl,
key helpers) is preserved unchanged.

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-91.md from inside the repo you want the changes in.

⬇ Download capture-thread-91.md