punyaslokdutta tries to fold storage into one backend

A proposal to drop a second storage service and lean entirely on the tool the fork already runs, then quietly shelved.

infrastructure

This fork stores its files - uploads, downloads, signed links - on Cloudflare's object-storage service, which needs its own account, keys, and setup. punyaslokdutta pointed out that Supabase, the backend the project already uses for logins and its database, can do all the same file jobs. The pitch: cut the extra service entirely, and run one fewer vendor account and one fewer set of credentials.

The tradeoff was operational, not about features. Fewer moving parts to provision and manage, in exchange for putting all your eggs in the Supabase basket. The proposal was closed after a couple of days without being merged, so it never landed. Whatever the objection was - durability, cost of moving data out, or discomfort with leaning so hard on a single vendor - it wasn't written down.

So what Legal-ops leads weighing build-vs-buy will recognise the tension: consolidating vendors simplifies operations but concentrates risk.

View this fork on GitHub →

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

Commits in this thread

2 commits from punyaslokdutta/HarveyOss, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
39cdf1ca chore: local setup - swap R2 for Supabase Storage, install frontend deps Punyaslok Dutta 2026-05-09 ↗ GitHub
commit body
- storage.ts: replaced @aws-sdk/client-s3 + R2 with Supabase Storage
  (upload, download, delete, signed URLs all via @supabase/supabase-js)
- .env.example: removed R2 vars, added STORAGE_BUCKET=mike
- frontend/package-lock.json: updated after npm install --legacy-peer-deps

Local setup recap:
- Backend :3001, frontend :3000
- Supabase project: gbdfkvaigunfvrgurkwk (ap-northeast-1 Tokyo)
- Storage bucket: mike (private, Supabase Storage)
- DB schema applied via 000_one_shot_schema.sql
- AI provider: Gemini
- Secrets in .env / .env.local - gitignored, not committed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4e73a45d Merge remote-tracking branch 'origin/main' Punyaslok Dutta 2026-05-09 ↗ 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-794.md from inside the repo you want the changes in.

⬇ Download capture-thread-794.md