00:00:06.960
Hello, Rails World.
00:00:09.280
We get Let's get some noise.
00:00:12.800
3:45. Who had an afternoon coffee? Huh?
00:00:16.800
Yeah. Look at that. Me, too. So, I'm
00:00:19.840
going to be honest. This is my first
00:00:20.960
ever talk and I read all the slides last
00:00:23.439
night. So, this is going to be a journey
00:00:24.480
for both of us and I'm very excited to
00:00:26.000
share it with you guys. And let's uh
00:00:28.240
dive in.
00:00:33.360
Five years ago and today, everyone says
00:00:36.880
Rails is dead. It's too old. It's slow.
00:00:42.239
It won't scale. Only boomers use Rails.
00:00:47.600
To be honest, I said the same thing five
00:00:49.760
years ago when my now co-founder Steven
00:00:53.600
came to me and said, "For our startup,
00:00:55.120
we should use Rails." I said, "No way.
00:00:59.520
Absolutely not." I said, "All those
00:01:01.760
points, it won't scale, dude. No one
00:01:03.520
uses Rails. It's 2020. It's so dead. We
00:01:05.920
have to use Node." He was like, "Dude,
00:01:08.240
you're wrong. We have to use Rails.
00:01:09.760
Please trust me." We went back and forth
00:01:12.159
for actually a few hours before I was
00:01:13.760
like, "Fine, whatever. You can use
00:01:15.360
Rails."
00:01:17.439
And since then, I can confidently say
00:01:19.360
that was one of the worst arguments I've
00:01:20.880
ever made. And Rails has been one of the
00:01:22.880
best things that I believe has ever
00:01:24.720
happened to me.
00:01:26.400
So for me, Rails has taken a decade of
00:01:30.640
startups and app attempts from failures
00:01:33.119
to what is working now and what I call a
00:01:35.759
somewhat success and why I'm able to be
00:01:37.200
up here today.
00:01:40.799
Now 5 years later, I work on this
00:01:43.200
company called And our mission at
00:01:45.280
is to enable others to earn an
00:01:48.000
income online. We believe that work
00:01:50.560
should be fun and becoming an
00:01:52.320
entrepreneur should be pretty damn
00:01:54.000
simple. We let people spin up almost any
00:01:56.560
business models that can be started
00:02:06.079
and since then we've helped creat,000
00:02:15.840
people were able to earn a total of over
00:02:17.520
$140 million.
00:02:20.400
Now we're a consumer platform. We have
00:02:22.800
things like chat and real-time
00:02:24.400
notifications and live streaming. We
00:02:27.200
support payments for over 200 countries.
00:02:29.280
And we even have an app store that
00:02:30.800
allows developers like me and my younger
00:02:33.120
self to build on top of our platform.
00:02:36.480
But like any good story, it wasn't
00:02:38.800
always this easy.
00:02:41.920
I started building as a young kid.
00:02:45.760
And during this story, what I really
00:02:47.599
want to tell you about is I want to tell
00:02:48.640
you about the failures and the journey
00:02:50.160
that I've had to get here. and how Rails
00:02:52.959
actually gave me a competitive advantage
00:02:54.400
to get past that. And I hope that when
00:02:56.959
you leave here, maybe you're a little
00:02:58.239
bit inspired or at least you hear some
00:03:00.000
funny stories and you yourself want to
00:03:01.920
walk out of here and go home and type
00:03:03.599
Rails new and start something because
00:03:05.360
that's truly why we're all here.
00:03:08.560
So, I'm going to take you back to the
00:03:09.760
beginning of my journey. This is 2014. I
00:03:12.959
was 12. I started as something called a
00:03:15.120
sneaker botter. So, does anyone here
00:03:17.680
know what a sneakerbot is? Amazing.
00:03:20.480
Okay. So, a sneakerbot is automated
00:03:22.640
software that you run on websites like
00:03:25.040
Nike or Supreme or even Shopify, sorry.
00:03:29.280
And you use these to buy limited items
00:03:31.440
like Jordans in hopes that you can
00:03:32.799
resell them for a little bit of cash on
00:03:35.040
the aftermarket like eBay or Facebook.
00:03:36.879
So, that's how I got into entrepreneur
00:03:38.879
entrepreneurship. I started selling
00:03:40.640
shoes online and using these sneaker
00:03:42.080
bots. From there, I took that into high
00:03:44.959
school where I learned and fell in love
00:03:46.640
with programming. I would build apps,
00:03:48.560
countless apps, websites, iOS apps,
00:03:50.560
whatever it might be. But none of them
00:03:52.799
ever got more than 100 users, but who
00:03:54.879
cares because it's cool when you build
00:03:56.560
stuff that gets a little bit of a a
00:03:58.560
little bit of usage. From there, I tried
00:04:02.080
to go to college and I got rejected from
00:04:04.239
my dream school. I wanted to study at
00:04:06.239
University of Texas and do computer
00:04:07.680
science. So after getting a rejection, I
00:04:10.560
decided to appeal it and I built an iOS
00:04:12.560
app called Shark Trivia that was very
00:04:16.560
much like HQ Trivia app at the time
00:04:18.160
where I was the game show host. I was
00:04:20.079
able to make this app, download it on my
00:04:23.040
sister's iPad, mailed that iPad to the
00:04:25.120
admissions office, and four weeks later
00:04:26.479
I actually got it overturned and I ended
00:04:28.639
up going to UT.
00:04:32.080
Here's 2020. Okay, I'm a third year in
00:04:35.840
college and COVID happens. They send us
00:04:39.040
home. I go home back to Connecticut
00:04:41.040
where I'm from and I'm quarantined for
00:04:42.880
16 hours a day. And candidly, sorry, 24
00:04:46.240
hours a day. But candidly, CO was one of
00:04:48.800
the best things to actually happen to me
00:04:50.320
because me as a builder, I got 16 hours
00:04:52.960
a day of just uninterrupted time to
00:04:54.720
code. During this period, I started a
00:04:57.199
few startups. One notable is here. And I
00:05:01.360
thought I did pretty Well, we got it to
00:05:02.639
about 7K MR. It ended up failing. But
00:05:05.840
there's a story in this. And this is the
00:05:09.360
first time I actually used Rails. So
00:05:12.080
that story that I told you about in the
00:05:13.600
beginner where my co-founder Steven was
00:05:15.520
like, "We have to use Rails," it was for
00:05:16.960
this project. And although this project
00:05:19.600
died, we ended up spending 9 months
00:05:21.840
building it. And what was so incredible
00:05:24.000
about it was sure we only made eight and
00:05:27.199
a halfk at our peak, but I have never
00:05:30.560
ever felt joy like I have building with
00:05:33.039
Rails that first time. I was moving
00:05:34.960
fast. I was productive. I was shipping
00:05:37.600
features in days. And keep in mind, I
00:05:39.039
came from like a Node.js Express
00:05:41.280
background. I've never even used a
00:05:42.560
database that wasn't So to use
00:05:44.320
active record was like a dream come
00:05:46.320
true.
00:05:47.840
This failed, but I kept going. We
00:05:50.880
started three more startups, all Rails
00:05:52.960
apps, and they all failed. But we kept
00:05:55.680
going. And in 2021, we started our
00:05:59.840
fourth business. So, I'm not sure if
00:06:01.759
anyone remembers, but during COVID,
00:06:03.680
there was a few items that were
00:06:05.039
constantly sold out online. Everyone was
00:06:07.280
home. They wanted to get a PS5. You
00:06:08.800
couldn't get one. People wanted at home
00:06:10.960
workout gear, couldn't get it. Even
00:06:13.120
things like above ground pools and
00:06:14.800
Sriracha, they were constantly sold out.
00:06:16.960
And you're probably wondering, why the
00:06:18.319
hell am I talking about this? And that's
00:06:21.039
because internet entrepreneurs, the same
00:06:24.560
cloth that I was cut from when I was 12,
00:06:26.240
I wasn't doing this at the time, were
00:06:27.840
using sneaker bots, the same exact
00:06:30.240
software to buy these items on websites
00:06:32.400
like Walmart and so on. Unethical, maybe
00:06:36.080
profitable, yes. And what we did was we
00:06:39.440
were looking for a new business to start
00:06:40.720
and we came across this really, really
00:06:43.039
sketchy Discord server where people were
00:06:45.199
buying and selling software, like actual
00:06:47.360
software license keys. And within this,
00:06:50.319
you'd see people saying, "I'm selling my
00:06:52.000
software for a,000 bucks." And they
00:06:54.080
would take payment on crypto or Cash App
00:06:56.720
or Venmo. And keep in mind, you're
00:06:58.720
buying from a Discord username, like an
00:07:00.240
alias, like purple penguin number seven.
00:07:02.080
You don't know if you're going to send
00:07:02.960
this person money and get scammed or
00:07:04.319
not. But there was clearly something
00:07:06.319
here because there was thousands of
00:07:07.599
dollars being transacted a day. So, we
00:07:11.360
initiated our playbook. Our playbook of
00:07:13.680
we found something. Let's start a new
00:07:15.360
Rails app. And our playbook was okay
00:07:18.240
rails new let's go to themeforest.com
00:07:20.800
let's download a bootstrap template and
00:07:22.880
let's push it up to Heroku and see what
00:07:24.479
happens and that's how was born
00:07:27.520
started with this super niche problem of
00:07:30.319
just selling bots to buy Sriracha and we
00:07:35.440
kept going 2021
00:07:38.720
this right here is our first Rails app
00:07:40.720
like I said it's a theme forest website
00:07:42.639
Bootstrap hosted on Heroku it looks
00:07:45.280
nothing like it is today. And I couldn't
00:07:47.599
even tell you that we knew what it was
00:07:48.800
going to look like today. But we kept
00:07:50.080
going and Rails really gave us that
00:07:51.840
ability to just keep shipping. Within
00:07:53.919
our first month, we made 25 thou. We
00:07:55.599
sold $25,000 worth of this software.
00:07:57.919
Within our second month, we had $100,000
00:07:59.840
worth of revenue or worth of software
00:08:01.360
sold. And it's not like we had a massive
00:08:03.599
business. We had 50 users, 50 h 100red
00:08:06.000
users that we were building for. But
00:08:08.479
using
00:08:10.160
just talking to our customers all the
00:08:12.080
time and with the advantage that we have
00:08:13.759
to ship faster than anyone else, it
00:08:15.120
didn't really matter.
00:08:19.599
So at this time, I'm still in college.
00:08:21.440
We're building Rails from during nights
00:08:24.240
hacking on weekends and just kind of
00:08:25.919
pulling it together.
00:08:30.319
This clicker's a little There we go.
00:08:32.399
Okay. Later that year, things kept
00:08:34.959
taking off. So, we moved into a hacker
00:08:36.719
house. Over here, you can see we got
00:08:40.159
monitors everywhere, and we just
00:08:41.680
constantly shipped. This middle picture
00:08:43.919
is a picture of a closet. It's a pantry
00:08:46.160
that my co-founder Cameron, Mr. Curly
00:08:48.399
Hair, lived in for 2 years while we were
00:08:50.320
building this. And the third picture is
00:08:51.920
a laundry room that some 19-year-old
00:08:54.480
developer from Australia moved across
00:08:55.920
the world in to live in. And the reason
00:08:57.920
I'm saying this is it's not to we had no
00:09:00.959
idea what we were doing. We were
00:09:02.160
literally in a house and just working
00:09:03.600
all the time and having the most fun
00:09:05.680
ever just shipping. You could literally
00:09:07.120
see VS Code open on the windows. And the
00:09:09.839
point here is even though we had didn't
00:09:11.680
know we were building, every time we
00:09:12.959
felt stuck, Rails just made it easy just
00:09:15.040
to keep going and keep moving.
00:09:18.640
Here's a photo of when we first hit
00:09:20.080
100,000 users. And for context, this is
00:09:23.040
literally a Rails console connected to
00:09:24.640
production in a while loop just going
00:09:27.680
over and over again. And this was a
00:09:29.760
remarkable milestone. And I'm happy to
00:09:31.760
say that we're now at 12 12 million
00:09:33.440
users.
00:09:34.959
So the story keeps going. 2022
00:09:41.760
clicker. Okay. Enter. Rails won't scale.
00:09:46.399
So we ran into our first scaling issue
00:09:48.240
in 2022. So we used to do these things
00:09:50.560
called flash drops. A flash drop is
00:09:53.040
basically when you have a seller on your
00:09:54.880
platform and they stay sold out all the
00:09:56.959
time and they use that to build up hype
00:09:58.800
and get customers in the door and then
00:10:00.560
they'll do something like this where
00:10:02.399
they'll tweet saying, "Missed out on
00:10:04.320
both the waves? Be here in 10 minutes.
00:10:06.000
We have a massive announcement to make."
00:10:07.680
And then the announcement is a link to
00:10:08.959
your website. And as novice programmers
00:10:11.760
that were running on 2x dinos on Heroku
00:10:14.959
and have never scaled a website to
00:10:16.320
anything, we got pummeled every single
00:10:18.959
time a flash drive a flash drive went
00:10:20.880
off.
00:10:21.839
Every time it would go up, request
00:10:23.600
queuing through the roof, website down.
00:10:25.920
We lost customers. And keep in mind, we
00:10:27.519
had like 10 sellers selling on our
00:10:28.800
website. So, we lost customers. We had
00:10:30.640
no idea what to do. So, this is the
00:10:33.040
first time I got exposed to trying to
00:10:34.399
hire people in the Rail space, which I
00:10:36.399
honestly have had a we had a challenge
00:10:38.240
in the beginning. So, we put a post up
00:10:40.320
on this website called codebentor.com,
00:10:42.240
and we said, "Hello, we will pay anyone
00:10:44.800
who can stop our site from going down."
00:10:47.120
We found this random dude named Sam who
00:10:50.640
hit us up and within an hour he had
00:10:52.560
access to our production Postgress he
00:10:54.560
could push to main on GitHub and we just
00:10:56.000
said do just do whatever you can please
00:10:58.720
and Sam comes in and he laughs it off us
00:11:01.920
a little bit and he's like okay and he
00:11:03.920
fixes it literally all he did was fix
00:11:05.839
some atrocious N plus1's and cache our
00:11:07.760
JavaScript like vendor folder or
00:11:09.440
something and next thing you know we
00:11:10.880
could host flash drops but this was our
00:11:12.800
first scaling challenge
00:11:20.000
Obviously, it didn't stop there. So, a
00:11:22.480
few months later, we kept growing and
00:11:25.120
things got worse.
00:11:27.360
So, like I said, right now, our biggest
00:11:29.120
market is people using bots and selling
00:11:31.440
bots. And these bots would always get a
00:11:33.519
lot of usage on Friday nights because
00:11:35.360
websites like Nike would drop a new pair
00:11:36.959
of Jordans on Saturday. So, everyone
00:11:38.640
would come on Friday night to get their
00:11:40.079
software download link and license key.
00:11:42.160
So Friday was a hot spot. So one Friday
00:11:45.440
night, it's like 8:00 p.m. Me and my two
00:11:47.120
co-founders, the team's like four people
00:11:48.480
at this point, four and Sam, so four and
00:11:50.160
a half. And we were out to dinner and we
00:11:53.440
get a text saying, "Yo, sites down." And
00:11:55.680
we get a call from customers, "Sit's
00:11:57.360
down. Sites down." And we whip out our
00:11:59.680
laptop because obviously we had our
00:12:01.600
laptop at dinner and we couldn't figure
00:12:04.640
out the issue. It was one of those nasty
00:12:06.800
Heroku Postgress buffer overflow issues
00:12:10.000
that out of memory like you don't know
00:12:11.760
how to solve that and if you know how I
00:12:13.519
didn't know how four years ago. So we
00:12:15.279
tried to fix it and we couldn't and
00:12:16.880
these users were they were they were
00:12:18.560
angry. They were coming at us. They paid
00:12:19.920
for something and they couldn't get it.
00:12:21.600
So what did we do? Well, we called our
00:12:23.839
info guy because what else do you do
00:12:25.040
when the database is down? So we try to
00:12:26.959
call Sam and dial his number. Give him a
00:12:29.120
call. No answer. Try again. No answer.
00:12:34.399
shoot off some text. Yo, sites down.
00:12:35.839
Sites down. Need help. Need help. No
00:12:37.760
answer. So, at this point, we're like 40
00:12:39.920
minutes into our biggest outage ever.
00:12:41.440
And keep in mind, we're running on fumes
00:12:42.959
here. Like, we go down every other day,
00:12:44.480
every other week, and we barely just got
00:12:46.320
our customers. So, my co-founder Cam has
00:12:49.200
this crazy idea, and he's like, "Yo, why
00:12:52.240
don't we call an Uber to Sam's house?"
00:12:56.000
I was out of options. So, that's exactly
00:12:58.079
what we did. So, we call up an Uber in
00:13:00.079
the middle of New Jersey and put it to
00:13:02.480
Sam's address and we call him and he
00:13:05.120
say, "Hey, I need you to go knock on
00:13:07.120
this guy's door and tell him the
00:13:08.560
website's down."
00:13:11.040
You can imagine what the response was
00:13:12.399
from the Uber driver when he hears that.
00:13:14.639
He was like, "Obviously, no." And we
00:13:16.800
fought him a little bit and offered him
00:13:18.240
a nice Uber tip. And within a few
00:13:20.959
minutes, he's like, "Fine, I'll do it."
00:13:22.160
And we ferociously wait. And next thing
00:13:24.240
you know, 10 minutes later, the site's
00:13:25.760
back up. And Sam texts us and he goes,
00:13:28.560
"Clever." So
00:13:31.760
that's when I learned I guess he could
00:13:33.120
just do things.
00:13:35.519
Let's keep going. So I want to give a
00:13:38.639
little context on who this person is,
00:13:39.839
and we'll touch back on it later in the
00:13:41.120
story. This is Jackson. Jackson was our
00:13:43.440
40th user. He's 19 years old at this
00:13:45.200
photo. This is him in our college dorm.
00:13:46.720
Once again, he ended up joining our
00:13:48.320
customer support team.
00:13:50.560
6 months later, we had a massive
00:13:52.560
problem. At this point, it's only me and
00:13:54.560
one other engineer building. and that
00:13:56.320
other engineer decided to leave to start
00:13:58.079
his own startup. While I wished him good
00:14:00.399
riddance, this left me in a pretty poor
00:14:03.680
spot. I was the only one that could be
00:14:05.360
shipping. So, we went over to Jackson.
00:14:08.480
And keep in mind, Jackson, he was
00:14:10.240
studying computer science, but he was a
00:14:11.760
freshman at Duke during COVID. So, he
00:14:13.279
only got like his intro to programming
00:14:15.360
class in. He's never actually built any
00:14:16.800
web apps before, but he had a desire to
00:14:19.600
learn programming. So, I go up on my tap
00:14:21.839
on his shoulder. I go, "All right,
00:14:22.959
Jackson, like next man up mentality. I
00:14:25.199
need your help. And we go and we start
00:14:28.720
on user mailer and he starts making our
00:14:30.800
emails which was incredible cuz I hate
00:14:33.279
emails. So he starts working on them and
00:14:35.360
then he starts building out some
00:14:36.480
features and he starts using active
00:14:38.079
record and within weeks he was shipping
00:14:40.399
features. So this whole one person
00:14:43.279
framework it actually works. I have
00:14:45.279
proof. So there's that. our second
00:14:47.920
engineer
00:14:49.839
2023.
00:14:51.440
At this point, we kept building and
00:14:53.680
honestly, we didn't really know what we
00:14:55.040
were doing. We just kept iterating. At
00:14:56.399
this point, our website was now selling
00:14:58.399
things like Discord payw walls and
00:15:00.240
Telegram pay walls and unfortunately
00:15:02.560
even NFTts for a bit, but we didn't
00:15:05.199
really have a clear vision. We just kept
00:15:06.560
listening to our users. And that was
00:15:08.800
really the beauty of Rails. We have
00:15:11.199
probably built a 100 features and 98 of
00:15:13.440
those have been thrown out the window.
00:15:14.880
But the speed at which we could adapt
00:15:16.959
and move and build and just listen to
00:15:18.959
our users allowed us to get to where we
00:15:20.959
are today. And it's also made me realize
00:15:23.600
that any startup person that you talk to
00:15:27.199
that says they had this vision from day
00:15:28.959
one when they show you what they're
00:15:30.560
working on now that's successful, they
00:15:31.839
are completely lying to you. If anyone
00:15:33.920
says they have a vision from day zero,
00:15:35.360
it is They just solved a very
00:15:37.199
tiny problem and probably did it really
00:15:39.120
damn well for like 5 to 10 people and
00:15:41.040
then just built and built and built. So
00:15:43.120
I've kind of learned that over the days.
00:15:44.399
You just got to keep building.
00:15:47.360
Yeah, like I said, we tried NFTs. We're
00:15:49.839
not proud, but we did it. Um, anything
00:15:51.600
to stay alive. So, this is just an
00:15:53.519
example of people using NFTTS that they
00:15:55.839
just bought on like OpenC to gain
00:15:57.759
Discord access. Anyway, this phase
00:15:59.759
ended, we just kept iterating. So, enter
00:16:02.399
2024
00:16:03.920
and like always, we kept building and we
00:16:06.639
started becoming what is now like
00:16:08.800
somewhat of a consumer platform. So, we
00:16:10.800
were now kind of pushing Rails to limits
00:16:12.399
to do more fancy things. And we landed
00:16:14.800
on this whole concept of an apps
00:16:16.639
ecosystem where developers can build
00:16:18.320
things and sell them on our website. And
00:16:20.079
the first app we did was chat. Who here
00:16:22.880
has built chat?
00:16:25.519
It's hard. It's really hard. And I
00:16:27.920
totally underestimated this. We then
00:16:29.839
spent the whole next year trying to
00:16:31.759
build chat. And we built it four times.
00:16:34.720
And any time someone would come on and
00:16:37.279
there'd be more than 10 users, the
00:16:38.560
entire chat would crash. It was so bad
00:16:41.040
that we our updates were pinned as chat
00:16:44.160
status not crashing green not slow
00:16:49.199
yellow
00:16:50.800
UX not dysfunctional yellow like but we
00:16:54.240
just kept building and like I said the
00:16:55.759
whole theme here is Rails didn't really
00:16:57.279
stop us it just allowed us to keep
00:16:58.399
iterating going and going and going
00:16:59.680
going
00:17:01.920
with chat we got more problems we
00:17:03.680
started building our own real-time
00:17:04.959
notifications and boy was I happy to
00:17:07.360
hear about this notification
00:17:09.280
8.1 uh Rails edition cuz these suck. So,
00:17:13.679
we started dealing with notifications
00:17:15.199
and what would happen was we'd have chat
00:17:16.959
and a chat with 10,000 people would tag
00:17:18.880
at everyone and then everyone would say
00:17:20.799
GM GM GM and the next thing you know
00:17:22.959
your entire website's down. So, it's
00:17:24.799
either we had to send notifications with
00:17:26.559
a six minute delay which you can't do
00:17:29.440
that or we would just overflow our
00:17:32.000
sidekick cues and it would blow up our
00:17:33.360
postgress and everything would go down.
00:17:34.960
So, this was a whole another phase. We
00:17:36.400
spent probably six weeks building
00:17:37.600
notifications and built it probably
00:17:39.600
three times, but we just kept moving.
00:17:43.520
And then came our database, the next
00:17:45.919
most important thing. So to date, we've
00:17:47.760
been around for four years and we've
00:17:49.280
been on four different databases.
00:17:51.919
I don't recommend that, but you got to
00:17:54.000
do what you got to do to stay alive. So
00:17:55.280
we started on Heroku Postgress, like I
00:17:56.960
mentioned, and then we hired an infro
00:17:59.280
guy. And if anyone here has hired their
00:18:01.679
infro guy, they know they come in with
00:18:03.039
very strong opinions that they don't
00:18:04.559
want to let up on. So he was like you
00:18:06.320
got to get off Heroku. So I was like
00:18:07.760
okay fair valid and we're moving to
00:18:09.840
self-hosted Postgress. And I didn't know
00:18:12.240
any better at the time. I completely
00:18:14.080
take responsibility for this but we
00:18:15.760
moved from Postgress on Heroku to
00:18:18.080
self-hosted Postgress on an EC2
00:18:19.760
container. And that right there was
00:18:21.760
probably the worst technical decision
00:18:22.960
we've ever made because within two
00:18:24.640
months our CPU was at 90% all the time
00:18:27.679
and I had to go into the PG bouncer
00:18:30.720
files to modify connection. It was
00:18:32.320
horrible. I would never recommend anyone
00:18:33.919
host their own Postgress, but if you do,
00:18:35.520
you can get out of it. Because after
00:18:36.880
that, we then went to AWS Aurora until
00:18:40.080
the beginning of this year when we
00:18:41.440
decided we had more downtime. The first
00:18:43.440
week of January, we actually went down
00:18:45.200
every single day again. Funny enough, I
00:18:47.840
was even on a date one night on a
00:18:49.360
Saturday at 8 p.m. and the website went
00:18:50.960
down and I had to leave that date. And
00:18:52.960
it's fair to say that didn't that
00:18:54.240
relationship did not work out. But what
00:18:55.600
did work out was our migration to Planet
00:18:57.520
Scale that we then did over the next two
00:18:59.679
months. And we migrated with zero
00:19:02.160
downtime from a Postgress database to my
00:19:04.320
SQL. Was it fun? Honestly, kind of. And
00:19:06.559
you kind of just got to do what you got
00:19:07.679
to do. And we kept moving.
00:19:11.120
So why am I showing you all this? Why am
00:19:13.440
I showing you that the site keeps going
00:19:14.799
down, site keeps going down? Well, I
00:19:17.440
think this whole concept of Rails won't
00:19:19.520
scale is actually completely just wrong.
00:19:23.600
And it's all inverse because what Rails
00:19:26.480
really is is it gives you the power to
00:19:28.640
get to scaling problems. If you hit a
00:19:31.200
scaling problem, if your site goes down
00:19:32.799
like this, then you're doing something
00:19:34.640
right. Most people can't even get that.
00:19:36.880
And most of like even myself before 2020
00:19:39.679
was like, there's no way we can use
00:19:41.200
Rails. We won't scale. But BS, Rails
00:19:44.240
allowed us to actually have a framework
00:19:46.000
that got us to scale. It allowed us to
00:19:48.000
build and build and build and iterate
00:19:49.520
and embrace failure. And like all these
00:19:52.640
stories also it allowed us to solve them
00:19:54.160
fast. And also for what it's worth like
00:19:55.919
these problems that I mentioned would
00:19:57.200
have happened on any framework. Rails
00:19:58.720
just enabled us and accelerated us to
00:20:00.799
get to these problems fastest.
00:20:05.440
2025. So remember that guy Jackson I
00:20:08.000
told you about never really before.
00:20:10.240
Never built a web app. Didn't know
00:20:11.280
anything about Rails? Well this is
00:20:12.559
present day Jackson. He leads our
00:20:14.559
backend team and he leads all payments
00:20:16.640
at And like I said we did 140
00:20:18.559
million last year. So if you don't
00:20:20.960
believe that Rails is the oneperson
00:20:22.559
framework like here's your proof and
00:20:24.000
here's your poster boy. Anyone can do
00:20:26.000
it.
00:20:28.159
Secondly, our team is now 15 engineers
00:20:30.400
and that's not uh all that to say of the
00:20:33.200
15 only three to four people work on
00:20:34.960
Rails to support all this we only need
00:20:36.799
three to four people and that's also the
00:20:38.240
beauty of the framework and also you
00:20:39.440
don't you don't need that much many
00:20:40.960
resources. You can do it with just this
00:20:42.240
amount of people
00:20:44.720
and like I said in the spirit of
00:20:46.159
iteration we're currently on version v3.
00:20:48.880
It shipped like yesterday. And to be
00:20:50.400
honest, we still have no idea where
00:20:51.440
we're going. But at least we know that
00:20:53.679
we have Rails in our back pocket to
00:20:54.880
allow us to iterate fast and keep
00:20:56.240
moving.
00:21:01.440
So the real question is why am I here?
00:21:03.760
And while this is a cool story and
00:21:06.159
there's cool numbers and everyone here
00:21:07.520
enjoys hearing outage issues, the real
00:21:10.159
point we're here and we're all here is
00:21:11.440
because code actually makes an impact on
00:21:13.200
people. We're all here to actually
00:21:14.400
fulfill some greater purpose and make an
00:21:16.080
impact on people in the world. It's not
00:21:18.000
just cool to talk about database
00:21:19.120
migrations 24/7. Let's talk about what
00:21:20.720
these database migrations actually do
00:21:22.320
for people. So, I'm going to tell you a
00:21:24.880
little about that. So, because of all
00:21:26.559
this work and all this outages and all
00:21:27.919
the work that we all do in this room,
00:21:29.440
people can now become entrepreneurs and
00:21:30.880
spend their time doing what they love.
00:21:32.480
Here are some examples.
00:21:34.960
Alley sells your number one resource to
00:21:36.799
help you crush the MCAT and get into
00:21:38.320
medical school.
00:21:40.240
This guy, I don't know his name, allows
00:21:41.760
you to master League of Legends and
00:21:43.360
become a challenger.
00:21:45.919
She teaches you a 12-week plan to shred
00:21:48.080
fat and sculpt your curves and boost
00:21:50.320
confidence.
00:21:51.840
This guy helps you become a mover.
00:21:54.240
Sorry, music producer.
00:21:58.960
Digital marketing is out. Women in 2025
00:22:01.440
are choosing SAS queens instead.
00:22:07.120
This guy teaches you how to land a dream
00:22:08.880
data engineering role.
00:22:11.440
And these people teach you how to run a
00:22:13.039
core, how to build an app that is
00:22:15.039
consumer. You might have saw this on
00:22:16.159
Twitter and they host it on WP. And why
00:22:18.640
am I telling you all this? Again, it's
00:22:20.080
not because it's because the work that
00:22:22.559
we do and the and the code that we write
00:22:24.480
has impact on real people. And now these
00:22:26.159
people can go out and they can fulfill
00:22:28.159
their purpose and be entrepreneurs and
00:22:29.600
really do it. And that's what it's all
00:22:30.640
about. So where do we go from here?
00:22:37.760
Listen, Rails is at risk. Okay, we need
00:22:41.280
more engineers and more websites to be
00:22:42.880
starting using Rails. I am here because
00:22:46.080
I am so confident that Rails is the best
00:22:48.400
tool to start a startup. I have so much
00:22:51.760
proof and I have so much joy more than
00:22:53.360
anything and I and envy and I can't
00:22:55.840
believe how many people don't choose it.
00:22:57.520
If we truly believe that Rails is the
00:22:59.600
oneman framework and the power of
00:23:01.840
entrepreneurialism and capitalism, then
00:23:04.000
how do we actually do this? How do we
00:23:05.360
change this trajectory and get that
00:23:06.880
chart where we all think it should go?
00:23:09.280
Here's what I think. First off and first
00:23:11.760
and foremost, we need to build more cool
00:23:14.559
in public and talk about it. Every
00:23:17.039
single person here has the ability to go
00:23:19.280
and type Rails new and build something.
00:23:20.960
All you need to do is build for five or
00:23:22.400
10 people and talk about it. It's the
00:23:24.320
easiest way. We need to make cool
00:23:26.559
startups in Rails and tell the world. We
00:23:28.559
need new blood.
00:23:33.200
Secondly, we have to create more content
00:23:36.400
to tutorials, Tik Toks, blog posts,
00:23:39.039
YouTube videos that are actually
00:23:40.400
targeted at Gen Z devs. Look at what
00:23:42.400
look at what uh Chris is doing with
00:23:43.679
Typcraft. Like, this is awesome. We're
00:23:45.600
getting new devs in the space.
00:23:49.440
Lastly,
00:23:50.960
Vive coding is actually okay. Listen, I
00:23:53.679
know it produces slop, but even if it
00:23:56.960
produces slop at first, it gets people
00:23:58.559
building and they use Rails and they
00:24:00.159
enjoy it and they put something in the
00:24:01.360
world. And remember that first feeling
00:24:03.120
you had that? So, embrace it, enjoy it,
00:24:05.039
and get it. Spread the word.
00:24:08.880
So, why am I here?
00:24:11.200
Uncle Sam, I want you to build with Ruby
00:24:14.559
on Rails. But all jokes aside, the
00:24:16.240
people in the room are the ones that can
00:24:17.440
actually make a difference. We are
00:24:18.880
probably the top a thousand Rails fans
00:24:20.960
on the earth. And we probably know Rails
00:24:22.960
better than the inside and out. And we
00:24:25.520
need more startups on Rails. We need
00:24:26.960
more people building things.
00:24:30.000
So, I do have a challenge and I do have
00:24:32.480
something I want to leave you with. And
00:24:34.320
I know this might sound a little salesy
00:24:35.760
because I just told the story a lot, but
00:24:38.000
I don't want it to sound like that, but
00:24:38.960
if I'm going to be honest, like my
00:24:40.240
incentives are aligned with yours. If
00:24:41.520
you I want everyone here to build. And
00:24:44.000
so, if you start something in these next
00:24:45.919
30 days, I personally will be your first
00:24:48.159
customer. You can use to accept
00:24:50.480
payments and minutes. and you can send
00:24:51.520
me a link and I will start a group of
00:24:52.880
all our new Rails entrepreneurs and
00:24:55.120
we'll cheer each other on and we'll
00:24:56.400
spread the word.
00:24:59.279
So, I'm going to leave it at that.
00:25:01.440
Again, I'm so grateful to be here. Rails
00:25:03.600
not only has changed my life, but it's
00:25:05.679
changing countless and thousands of
00:25:07.520
people's other lives as a second order
00:25:09.120
effect. And I can't wait to see where
00:25:10.880
Rails goes from here. I truly believe it
00:25:12.880
is the best framework on Earth. And I
00:25:14.400
want to see more people see that, too.
00:25:15.919
So, thank you.