gumroad
Sell stuff and see what sticks
Gumroad is the publicly released source code for the Gumroad creator marketplace, a Ruby on Rails app that lets creators sell digital products directly to buyers with no traditional store setup needed.
Gumroad is an e-commerce platform that lets creators sell products directly to buyers without needing a traditional online store setup. This repository contains the full source code for the Gumroad web application, which has been made publicly available by the company.
The application is built with Ruby on Rails on the backend and uses JavaScript for the frontend build system. Running it locally requires several tools to be installed first: a specific version of Ruby, Node.js, Docker (used to run supporting services like the database and cache), MySQL 8, and a few media-processing libraries. The README walks through installing all of those prerequisites step by step for both Mac and Linux, with a separate guide for Windows.
Once the setup is complete, starting the application involves three steps: launching the Docker services with a single make command, setting up the database with a Rails command, and then running the development server. The app then becomes available at localhost:3000. Seller-specific subdomains like seller.localhost:3000 also work automatically in modern browsers without any extra configuration.
The setup includes some documented limitations in local development. Features like Apple Pay require a live HTTPS address rather than a local server, and cross-subdomain cookies behave differently on localhost compared to a real domain. The README explains workarounds for both of these situations.
The project uses RSpec for its test suite. Running the full suite requires the Docker services to be running and a test database to be set up separately. Integration tests run in a real Chrome browser via a tool called Capybara and Selenium. The README also mentions an Elasticsearch dependency that needs its search indexes reset on occasion, and a Sidekiq background job worker that runs alongside the main Rails server.
Where it fits
- Run a local copy of the Gumroad platform to study how a production Rails e-commerce app is structured.
- Fork the project to build your own creator marketplace starting from a proven production codebase.
- Contribute bug fixes or new features to the open-source Gumroad application via pull requests.
- Learn how subdomain routing, Stripe payments, and background jobs are wired together in a real Rails app.