
Launchdrop is a self-serve platform-as-a-service (PaaS) deployment platform designed to simplify how developers host and run static and dynamic web applications without manual server configuration.
Approach
Created a monorepo architecture designed for scalable, modular, and production-grade deployments. It separates concerns into distinct apps and packages, enabling independent development, testing, and deployment. The architecture leverages event-driven patterns, job queues, and containerization for robust CI/CD and runtime environments.
- Monorepo Design: Serves static websites seamlessly through Cloudflare R2 and hosts dynamic applications inside Docker containers, accompanied by automated custom domain mappings.
- Job Queues: Integrated GitHub Webhooks and a BullMQ job queue to process and manage automated continuous deployments.
- Database & State: PostgreSQL serves as the single source of truth, accessed via Prisma ORM, while Redis manages caching and background queues.
- Reverse Proxy: Caddy and a custom proxy layer handle SSL termination and requests routing dynamically.
Key Features
- Full-Stack Automated Pipeline: Automatic build and deployment pipeline using a builder service, queue workers, and Docker automation.
- Notification Microservice: Built-in support for dispatching real-time notifications to Slack, Email, and Discord.
- Secure Authentication: Robust user management integrating better-auth with database adapters.
- Centralized UI components: Shared design tokens and design system built with shadcn/ui and Tailwind CSS.
- Production Ready: Robust container configuration, reverse proxies, and process management optimized for hosting multi-tenant apps.
Tech Stack
- Frontend: Next.js, React, shadcn/ui, Tailwind CSS
- Backend: Bun, Express, BullMQ, Node.js
- Database & Queue: PostgreSQL, Prisma ORM, Redis
- Infrastructure: Docker, Caddy, Cloudflare R2
Result
- Reduced deployment times by 87% (from 15 minutes down to under 2 minutes).
- Minimized manual staging processes from 12 steps down to 2.
- The solution supports up to 50 concurrent deployments with custom domain configuration in under 30 seconds.