Gumroad is a self-hosted e-commerce platform built with Ruby on Rails that enables creators to sell digital products directly to consumers through a customizable web storefront. At its core, it provides a complete digital product storefront with Stripe payment integration for processing transactions securely.
The platform is structured as a Rails monolith using service objects to organize business logic, with PostgreSQL powering full-text search for product discovery and Rails migrations managing database schema changes. It handles file delivery through Active Storage backed by Amazon S3, maintains user sessions via cookie-based authentication, and processes all payments through Stripe's API while storing only transaction references locally.
The application includes a local development setup process for contributors and an automated testing workflow to verify code correctness. Its asset pipeline uses Webpacker to compile and serve JavaScript, CSS, and images, while Rails' resourceful routing maps HTTP requests to controller actions.