Why I Love Building Userfront

This is why I love working on Userfront: we’re drawing the auth owl for thousands of software companies.

December 11, 2024
5 Min Read

Hi, I’m Tyler. I’m the founding CEO at Userfront, and I want to share why I’m here and why I love working on Userfront every day.

My cofounder Damion and I have each been writing software for over a decade; in my case it’s about 20 years. My software background started with missile defense research for DARPA, where I wrote code to control hardware in supersonic dynamic systems, and then robotics at Stanford, where I focused on building novel medical devices.

My old wind tunnel setup

When I started writing software specifically for the internet and startups in 2012, I found all the “extra stuff” to be a nuisance. User administration, password resets, file uploads, email sending… why can’t I just build my app? I was on Ruby on Rails at the time, and the gem plugin ecosystem (as narrated by Ryan Bates at RailsCasts) is the only reason I was able to build anything useful at all.

Still, I stuck with it, and as I became more sophisticated, I noticed patterns emerging. My first approach to handling all the “extra stuff” was to pick a basic solution and move on. This works great because extra features are YAGNI (”You Aren’t Gonna Need It”), and moving quickly at the beginning matters a lot. But I also learned that this strategy is painful for certain foundational systems, particularly databases and auth. Both are hard to change once you have them in place, so you really want to make sure that whatever you choose will have what you need later, even if you don’t need it right now. For these foundational systems, it’s less “You Aren’t Gonna Need It” and more “You Will Need It - Just Not Right Now” (YWNI-JNRN).

For databases, I came to love Postgres, and at this point you’ll have a tough time convincing me to start with something else. Auth on the other hand… there were always pros and cons and opinions and tradeoffs. Damion & I never found something that really nailed it and fit the bill for a growing software company. Simple plugins make it easy to get started, but simple plugins don’t model intermediate or advanced needs. If you start with individual user accounts and later need to serve team accounts, you’re going to have a bad time. If you start with freemium customers and later want to serve enterprise customers, you’re going to have a bad time. If you start with session tokens and later need to scale horizontally, you guessed it… you’re going to have a bad time.

It seems like the instant you get off of the happy path for auth, everything jumps straight from “this takes 7 seconds to set up” to “read our PhD-level Zanzibar whitepaper”. Either you’re doing the basics, no problem, or you need to be a master artisan.

In other words, auth is like the meme for drawing an owl:

Drawing the auth owl

And this is why I love working on Userfront: we’re drawing the auth owl for thousands of software companies. I love helping people solve their growing pains because it feels like paying it forward. I’ve found that almost everyone wants to build things that make the world better, and we get to help them do that. Every important transaction and every piece of data relies on auth, and we get to help software companies spend less time figuring it out as they go. We get to help software companies succeed.

Didn't want to bother support, but wanted to give you guys some feedback — you guys are rockstars and my developers love working with your product and you are amazing at support requests as well. Cheers!

- Kunal Shah, Co-Founder and Managing Director, Accelerate BSi

At this point, I’ve spoken with almost 1,000 software companies about their auth needs, and I’ve seen every configuration you can imagine. These are the things that I believe matter most for companies and developers:

Auth wishlist

.unique-two-column-list { display: flex; justify-content: space-between; margin: 20px; flex-wrap: wrap;}.unique-column { width: 45%; box-sizing: border-box;}.unique-column h2 { font-size: 1.5rem; font-weight: bold; margin-bottom: 5px;}.unique-column ul { list-style-type: disc; padding-left: 20px; margin-top: 0;}.unique-column li { margin-bottom: 5px; font-size: 1rem;}@media (max-width: 768px) { .unique-column { width: 100%; }}

Should have

  • Fast and free to get started, no credit card required
  • Flexible architecture to handle all types of customers (freemium, organizations, enterprise)
  • Amazing docs
  • Secure and compliant by default

Should not have

  • Complex mental model with lots of diagrams
  • Vendor lock-in and squeeze
  • Circular docs
  • Security footguns, or compliance as an afterthought

This list is what we’re building at Userfront, and I love being a part of it. We have a thoughtful, world-class team who have built complicated systems and who care about getting it right. We sweat the details of the auth owl together so that software companies don’t have to. In doing so, we’ve built something rock solid that our customers rave about.

It feels amazing to create something that moves the needle for people in such a concrete way. We love celebrating with companies when they win a big new customer, or when we enable a feature that levels up their product. We love building a solid tool that companies don’t have to rip and replace in a year, and we love giving people a roadmap of what’s coming next on their journey.

At the end of the day, we’re all trying to build something great, and I love that Userfront is helping software companies do just that.

If you want to learn more about Userfront, send us a message.

.form-center-container { display: flex; justify-content: center; align-items: center; height: 100vh;}form.hbspt-form { display: flex; flex-direction: column; align-items: center; max-width: 100%;}.hbspt-form input, .hbspt-form textarea { color: black; font-size: 1rem; border: 1px solid var(--uf-dark); border-radius: 5px; background: white; padding: 12px 16px; margin-bottom: 18px; width: 100%; max-width: 400px;}.hbspt-form textarea { width: 100%; max-width: 400px;}.hbspt-form label { color: white; font-weight: 600; font-size: 1.1rem;}.hbspt-form legend { font-style: italic; font-size: 0.8rem; margin-top: -8px;}ul.hs-error-msgs { list-style-type: none; padding: 0;}li label.hs-error-msg { font-size: 0.8rem; font-weight: normal; color: var(--uf-pink); margin: -20px 0 20px;}.hbspt-form input[type="submit"] { background-color: var(--uf-pink); text-align: center; background-image: none; border-radius: 6px; justify-content: center; align-items: center; height: 48px; padding-left: 24px; padding-right: 24px; font-size: 15px; font-weight: 600; transition: box-shadow .2s; display: flex; box-shadow: inset 0 0 20px 20px transparent; max-width: 400px;}
Subscribe to the newsletter

Receive the latest posts to your inbox.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

By subscribing, you agree to our Privacy Policy.

Modernize Your Sign-On

Experience smarter enterprise sign-on tools & reporting.