Emmanuel
Francis
Backend-first engineer who ships full-stack products. I build scalable systems with Java & Spring Boot and deliver production SaaS end-to-end.

DirtyBucket
A full-stack SaaS beat marketplace โ producers sell, artists buy, and every beat is processed through an async media pipeline.

Architecture & Features
What I Built
Payment & Monetization
- Dodo Payments integration with 3-tier license system (Basic, Premium, Exclusive)
- Subscription plans: Starter (free, 10 uploads, 15% commission), Pro ($10/mo ยท $99/yr, 5% commission), Ultra ($19.99/mo ยท $199.99/yr, 0% commission)
- Dynamic commission calculation engine applied at checkout
- Resend for transactional emails on purchases and sales
Media Processing Pipeline
- RabbitMQ queue for async beat processing after upload
- FFmpeg converts WAV source โ Preview clip ยท Full MP3 ยท Original WAV
- All artifacts stored on AWS S3 with pre-signed URL delivery
- Producers and artists receive instant download access after transaction
Auth & Security
- Google OAuth2 + JWT-based email/password authentication
- RBAC with three roles: Admin, Producer, Artist
- Spring Security securing all sensitive endpoints
- Role-gated upload limits and commission logic per subscription tier
Infrastructure & DevOps
- Java Spring Boot REST API with clean layered architecture deployed to Railway
- Dedicated headless worker service on Railway โ isolated CPU lane for FFmpeg beat processing
- Docker + Docker Compose for reproducible local and production environments
- RabbitMQ as the central message broker decoupling upload from processing
Hosting & Managed Services
- Railway โ hosts the Spring Boot API server with zero-config deployments
- Railway โ second headless service dedicated to the FFmpeg worker (CPU-intensive, separated by design)
- Railway Managed PostgreSQL โ production database with auto-backups and connection pooling
- AWS S3 for beat file blob storage with pre-signed URL delivery to artists and producers
Frontend Architecture
- Next.js 14 App Router with TypeScript and TanStack Query
- Tailwind CSS + shadcn/ui component library
- Server-side data fetching with optimistic updates
- Google OAuth2 social login flow on the frontend
Per-Beat Rights Management
3-Tier Licensing System
Every beat carries one of three license types, each with distinct rights and file deliverables.
MP3 lease for content creators and demo artists
- MP3 deliverable
- Non-exclusive
- Limited distribution
- Stream-ready
WAV + MP3 for emerging artists ready to release
- WAV + MP3 deliverables
- Non-exclusive
- Wide distribution
- Radio-ready
Full ownership transfer โ beat is taken off the market
- All file formats
- Exclusive rights
- Unlimited distribution
- Stems included
Producer Monetisation Model
Subscription Tiers
Higher tiers unlock unlimited uploads and reduce the platform commission taken at checkout.
Every Technology Used
Full Stack Breakdown
Backend, frontend, infrastructure, and third-party services โ all in one platform.
Other Work
Additional projects showcasing backend architecture, REST API design, and clean code practices.
Blog Post Application
Production-grade Java REST API with full auth
- Developed a RESTful blog backend using Java and Spring Boot, implementing full CRUD APIs with 20+ endpoints following REST conventions.
- Implemented JWT authentication and RBAC with Spring Security, securing 100% of write operations and enforcing role-based access for users and admins.
- Designed a layered architecture (Controllers โ Services โ Repositories โ DTOs), reducing controller complexity across 5+ domain modules.
- Integrated PostgreSQL with Spring Data JPA, persisting relational data with entity mapping.
- Containerized with Docker and Docker Compose for one-command local setup โ reduced environment setup from ~30 minutes to under 2 minutes.
What I Work With
Backend-first with strong full-stack capabilities โ I build scalable APIs, architect async pipelines, and ship production-ready SaaS products end-to-end.
Backend
Primary focus
Full Stack
Extended capabilities
Cloud & DevOps
Infrastructure
Tools
Daily drivers
I focus on building robust backend systems โ async pipelines, secure APIs, event-driven architectures โ while maintaining the ability to deliver complete full-stack products when needed. DirtyBucket is proof.
Let's Build Something
Open to backend and full-stack roles. If you need someone who can architect systems and ship complete products, let's talk.