Summary by TwinMind · 18m 26s
Summary by TwinMind · 18m 26s

We stopped using serverless. The results are insane.

We stopped using serverless. The results are insane.

Theo - t3․gg

Theo - t3․gg

Platform Statistics & V7 Launch Announcement

  • Wild year and a half since launch: 8+ million files uploaded
  • Hundreds of thousands of users, tens of thousands of applications
  • 6 months of development for complete overhaul (internal/external)
  • V7 launch: up to 5x faster upload speeds
  • Dog-fooding V7 with pic thing since launch

Key V7 Features & Improvements

  • Speed: Up to 5x faster uploads (especially for smaller files)
  • Reliability: Pause/resume functionality for uploads (S3 can't do this)
  • Framework Support: Added Remix support package
  • Legacy Infrastructure: Started shutting down original S3 direct upload system
  • Upgrade Process: Zero code changes required for many users - just package swap + environment variable change

Performance Benchmarks

  • Small files (800KB): 4 seconds → 0.5 seconds (377% faster)
  • Multi-image test (4x ~1MB files): 5 seconds → 1.5 seconds
  • Network conditions: 5ms latency San Francisco gigabit connection
  • Scaling: Performance now scales better with file size/count vs fixed overhead

Technical Architecture Changes

Old V6 Architecture (7 request hops):

  • User browser → Your server → UT API → S3 direct upload
  • S3 completion trigger → Lambda → UT API → Your server → User polling
  • Ghost files possible (security issue)
  • No upload validation/processing capabilities
  • Complex polling mechanism required

New V7 Architecture (3 request hops):

  • User browser → Your server (self-signed) → UT Ingest Server → S3
  • Connection held throughout upload
  • Direct response forwarding from your server back to user
  • Eliminated polling entirely

Infrastructure & Bundle Improvements

  • New Ingest Server: Custom Fastify-based server (no longer serverless)
  • Bundle Size Reduction: 30% reduction on top of previous 84KB cut
  • Final Bundle: 15.6KB minified + gzipped
  • Regional Deployment: Ingest servers in all UT operating regions
  • Token Structure: New upload thing token (replaces simple secret)
    • Combines: secret + app ID + region
    • Eliminates round-trip API calls for server selection

New Capabilities Unlocked

  • File Processing: Server-side file processing/validation
  • Security: Automatic file scanning for illegal content (future paid feature)
  • Compliance: Better path for HIPAA/SOC2 compliance
  • Bring Your Own Bucket: Now possible with new architecture
  • Self-Hosted: Future ability to deploy UT server in customer infrastructure
  • Resume Uploads: Spotty connection handling
  • Real-time Validation: File size, capacity, safety checks during upload

Team & Development

  • Key Contributors: Julius (infrastructure), Mark
  • Development Timeline: 6-month focused effort
  • Work Impact: Held up other development during this period
  • Relief: Team excited to ship after long development cycle

Business Direction

  • Enterprise Ready: No longer just for hobby projects
  • Sales Process: Schedule calls available for business customers
  • Future Features: Many new capabilities now unlocked by architecture change