• Free

24 Hour MVP

  • Course
  • 97 Lessons

Stop making excuses - learn to build v1 of your SaaS app in a day with Ruby on Rails.

About Your Instructor

I'm Ryan, a 3-time startup founder and partner at Fork Equity. I've spent years helping people acquire small companies, become better marketers, and now: learn to code.

To evaluate my programming chops, check out these 5 live streams where I build SaaS apps (from scratch) in 7-12 hours.

What is this course about?

Learn to bang out a SaaS prototype in 24 hours, from someone who's done it many times.

---
There are no "secrets to building quickly." Here's my exact process to building anything in a day:

  1. Wireframe - remove surprises and scope creep
  2. Data modeling - prevent technical debt
  3. Frontend - use a proven design system
  4. Backend - write the minimum code to accomplish each feature

Whenever I start a new project, this sequence ensures I waste as little time as possible on my hunt for The Truth. What's "The Truth?" Finding out if people care about what you built, or not.

What we’ll build in 24 Hour MVP
Powerpoint presentations and theoretical lectures are for losers. At Founder/Hacker we learn by doing.

In this course we'll build three Rails apps with varying complexity. We'll start with the simplest commands --  running “rails new” -- and by the end you'll be installing gems, integrating APIs, deploying to your own dot-com domains with working Stripe subscription payments, and even building admin panel with user impersonation and fancy charts.

Each app will explore the core steps I described above (Wireframe, Data modeling, Frontend, Backend) with increasing level of detail. And by popular request, code will be available in “freeze time” at the end of every lecture, so you never miss a beat.

Prerequisites
This course will not teach you to code from scratch. To maximize value from 24 Hour MVP, first enroll in our Fundamentals course, which will take you 20-30 hours to complete and make you proficient in Ruby.

Curriculum

Welcome

What to expect
  • 3 mins
  • 44.5 MB
Setting up your environment
    Confirming your environment works

      Overview of a SaaS application

      SaaS Web Application Architecture
      • 5 mins
      • 15.7 MB
      Preview
      My proven process to build quickly
      • 7 mins
      • 108 MB
      Terminology (CRUD, DRY, MVC, and many more)

        Accessing our applications

        [Action Required] GitHub invitations

          App #1 - Anonymous Suggestion Box

          Turn written feedback into anonymous, public Tweets for all to see.
          What we're building
          • 3 mins
          • 52.7 MB
          Preview
          Naming our app
            Creating a fresh Rails app
              Wireframe - Single Page CRUD App
              • 23 mins
              • 117 MB
              Data modeling - Creating a database
              • 19 mins
              • 91.3 MB
              [Bonus] Version control with Git
                Data modeling - Inserting database tables
                • 18 mins
                • 84.8 MB
                [Bonus] Connecting git with GitHub
                • 7 mins
                • 32.5 MB
                Frontend - Creating pages
                • 26 mins
                • 101 MB
                Frontend - Implementing UI with Tailwind
                • 36 mins
                • 220 MB
                Backend - Creating database records
                • 17 mins
                • 91.2 MB
                Backend - Creating a Twitter App
                  Backend - Using the Twitter API
                  • 7 mins
                  • 41.3 MB
                  Backend - Integrating Twitter in our application
                  • 26 mins
                  • 146 MB
                  Backend - Connecting to the Frontend
                  • 55 mins
                  • 278 MB
                  Backend - Improving our Twitter service
                  • 8 mins
                  • 37.3 MB
                  [Bonus] Javascript listeners to improve UX
                  • 13 mins
                  • 56.6 MB
                  Backend/Frontend - Validations to prevent bad data
                  • 21 mins
                  • 108 MB
                  [Challenge] Saving and exposing Tweet URLs
                    [Solution] Saving the Tweet ID and URL
                    • 8 mins
                    • 42.3 MB
                    [Solution] Show Tweet URL on Home Page
                    • 8 mins
                    • 42 MB
                    Expansion ideas (how to earn back your course tuition)
                      Preparing to release our application

                        Deploying applications to a server

                        My simple process for turning source code into a production web app on a custom domain.
                        Overview
                        • 1 min
                        • 17 MB
                        Domain setup and DNS
                          Provisioning a server
                            Deploying to a server
                            • 16 mins
                            • 90.5 MB
                            Debugging our deployment
                            • 19 mins
                            • 134 MB
                            Connecting our server to a domain
                            • 9 mins
                            • 43.6 MB
                            [Bonus] Accessing the production database

                              App #2 - Stakeholder Update Network

                              Private platform where founders can share monthly updates with other founders.
                              What we're building
                              • 3 mins
                              • 37.5 MB
                              Preview
                              Wireframe - Part 1
                              • 46 mins
                              • 217 MB
                              Wireframe - Part 2
                              • 32 mins
                              • 138 MB
                              Data modeling - Defining tables and attributes
                              • 29 mins
                              • 130 MB
                              Creating a Rails app from a template
                              • 26 mins
                              • 124 MB
                              Data modeling - Writing and running migrations
                              • 52 mins
                              • 273 MB
                              Data modeling - Adding associations to Models
                              • 23 mins
                              • 121 MB
                              Data modeling - Changing table names
                                Frontend - Landing page and Tailwind config
                                • 46 mins
                                • 353 MB
                                Frontend - Using partials and building an application form
                                • 49 mins
                                • 200 MB
                                Frontend - Admin panel and namespaced routes
                                • (1h 02m 51s)
                                • 366 MB
                                Frontend - Dashboard and RESTful routing
                                • (1h 04m 46s)
                                • 340 MB
                                Frontend - Finishing touches
                                  Backend - Whitelisting form parameters
                                  • (1h 03m 32s)
                                  • 355 MB
                                  Backend - Whitelisting form "radio" inputs
                                    Backend - Admin panel and private controller methods
                                    • (1h 09m 11s)
                                    • 368 MB
                                    Backend - Building transactional mailers
                                    • 49 mins
                                    • 235 MB
                                    Backend - Creating user logins
                                    • 46 mins
                                    • 254 MB
                                    Backend - Magic login links
                                    • 16 mins
                                    • 70.5 MB
                                    Backend - Onboarding and forced user login
                                    • 37 mins
                                    • 198 MB
                                    Backend - Dashboard and database seeding
                                    • 44 mins
                                    • 273 MB
                                    Backend - Model scopes and subscriber form
                                    • (1h 15m 25s)
                                    • 415 MB
                                    Backend - Handling rich text
                                    • 52 mins
                                    • 486 MB
                                    Backend - Update endpoint and DRY controllers
                                    • 29 mins
                                    • 259 MB
                                    Backend - Digest mailer and better seeds
                                    • 59 mins
                                    • 474 MB
                                    Backend - Viewing updates and DigestService batching
                                    • 30 mins
                                    • 166 MB
                                    Backend - Getting started with Stripe
                                    • 13 mins
                                    • 103 MB
                                    Backend - Implementing Stripe Checkout
                                    • (1h 19m 59s)
                                    • 765 MB
                                    Backend - Final cleanup
                                    • (1h 14m 22s)
                                    • 582 MB
                                    Backend - Enforcing free plan rules
                                      Backend - Production mailers
                                      • 31 mins
                                      • 234 MB
                                      Backend - Cron jobs and tasks
                                      • 34 mins
                                      • 291 MB
                                      Backend - Deploying to production
                                      • 26 mins
                                      • 183 MB
                                      Backend - Intro to delayed jobs
                                      • 21 mins
                                      • 228 MB
                                      Setting up cron jobs in production

                                        App #3 - Embeddable JavaScript Widget

                                        Single line of code, embeddable on any website, that lets website visitors send you text messages without exposing your phone number.
                                        What we're building
                                        • 5 mins
                                        • 157 MB
                                        Preview
                                        Wireframe - Interface + Widget UX
                                        • 32 mins
                                        • 194 MB
                                        Data modeling - Sketching table names and relationships
                                        • 12 mins
                                        • 68.3 MB
                                        Data modeling - Creating our app and generating migrations
                                        • 42 mins
                                        • 314 MB
                                        Frontend - Widget CRUD
                                        • 55 mins
                                        • 519 MB
                                        Frontend - Popup message form
                                        • 29 mins
                                        • 293 MB
                                        [Bonus] JavaScript 101
                                        • 56 mins
                                        • 389 MB
                                        [Bonus] JavaScript + DOM
                                        • 34 mins
                                        • 264 MB
                                        Frontend - Creating an embeddable JS snippet
                                        • 57 mins
                                        • 404 MB
                                        Frontend - Making our snippet embeddable on other websites
                                        • 30 mins
                                        • 216 MB
                                        Frontend - Sending form data with fetch()
                                        • 26 mins
                                        • 224 MB
                                        Frontend - Widget UX improvements
                                          Frontend - Dynamic widget styling
                                          • 48 mins
                                          • 403 MB
                                          Frontend - Messages view
                                          • 15 mins
                                          • 154 MB
                                          Frontend - Landing page and live preview editor
                                          • 30 mins
                                          • 246 MB
                                          Frontend - More challenges and cleanup
                                            Backend - Widget avatar storage on AWS S3
                                            • 59 mins
                                            • 585 MB
                                            Backend - Message CSV export
                                            • 17 mins
                                            • 122 MB
                                            Backend - Async requests without JavaScript
                                              Backend - Text Message API
                                              • 36 mins
                                              • 336 MB
                                              Backend - User email notifications
                                              • 19 mins
                                              • 142 MB
                                              Backend - Final cleanup and billing strategies
                                              • 39 mins
                                              • 275 MB
                                              Backend - Predeploy challenges
                                                Backend - Deploying with the Heroku CLI
                                                • 18 mins
                                                • 154 MB
                                                [Bonus] Future lecture ideas