Why we exist
Because we got tired of wiring the same shit together
Every project needs file uploads. Every single one. And every time, you're stuck choosing between:
- AWS S3 (docs from 2012, SDK weighs 50MB)
- Cloudinary ($99/month to start, opinionated as hell)
- Vercel Blob (great DX, terrible pricing past 100GB)
- Rolling your own (security nightmare, 3 weeks of work)
None of them talk to each other. None of them give you signed URLs without jumping through hoops. And none of them were built for the reality that you might switch providers next month when pricing changes or a new one launches.
We built the abstraction layer that should've existed
One API. Four providers (R2, Vercel Blob, Supabase Storage, Uploadcare). More coming.
You bring your own storage credentials. We handle:
- Signed URLs — No files through our servers (5-15ms response time)
- Rate limiting — Multi-layer (memory → Redis → DB) to survive DDoS
- Abuse prevention — Email verification, disposable domain blocking, quota enforcement
- Batch operations — Upload 100 files with 1 API call
- JWT tokens — Tokenized file access without exposing storage URLs
This isn't a demo. The rate limiter has 9 security layers. The domain verification system has abuse event logging. The architecture can handle 10,000 concurrent requests on Cloudflare's free tier because we're not proxying your files.
Why not just use Cloudinary?
Cloudinary charges $99/month minimum. That's 11× our Pro plan ($9/month).
More importantly: they're a storage provider. If you outgrow them or they raise prices, you're locked in. Your URLs break. Your app breaks. You rewrite everything.
ObitoX doesn't store your files. You own them. You can switch from R2 to Vercel Blob by changing 3 lines of code. No migration. No downtime. No vendor lock-in.
The actual technical bet
We're betting that signed URLs + cryptography beat proxying data through servers.
R2 signed URL generation: 5-15ms (pure crypto, no network call)
Vercel Blob API call: 220ms (external API, HTTP round-trip)
Traditional upload proxy: 800ms+ (bandwidth cost, server CPU)
We're not "disrupting" anything. We're just writing less code and not charging you for bandwidth we never touched.