It’s always exciting to see the range of problems our alums take on on with their programming skills after grading from Flatiron School. Lukas Thoms is tackling a unique hardship of the moment: he’s aiding hungry theatre-goers in the near-impossible task of obtaining Hamilton tickets. After seeing (and loving) the hit hip-hop musical, Lukas immediately attempted to get tickets to see it again—but found that the ticket lottery was, as he says, “oddly user hostile.” Naturally, he decided to build an app to make the process easier.
Lukas’s Ham Lottery App notifies users when the Hamilton ticket lottery opens every day, auto-fills users details whenever they enter, and tells users when the lottery closes.
Lukas was kind enough to take a moment away from his new job at HappyFunCorp to chat with us about the Ham Lottery App, his path toward learning to code, and his experience building a startup.
What got you interested in coding? What brought you to Flatiron School?
I’ve always loved computers—I built my first computer when I was 12—but I ultimately got my degree in Political Science and Economics, and somehow ended up with a job at Fab.com after graduating from NYU. At Fab, I worked in online merchandising (choosing which products to sell, and working with vendors to sell them), and it’s also where I fell in love with working at startups. I followed that career path for a few years but ultimately was never satisfied that I didn’t have any say in building the products I was using. So I decided to quit my job, and move to the product side via Flatiron School. I worked at the Apple Store throughout college, love Apple, and know a lot about how people use their iPhones, so iOS Development was the most natural place for me to start.
What inspired you to create the Ham App?
My mom bought me and my boyfriend tickets to Hamilton for Christmas. When you see the show for the first time, your instant reaction at the end is “oh my God, I need to see that again.” So I started entering the ticket lottery and found the process to be weirdly user-hostile, and decided to see if I could fix it.
Can you describe process of making it? What languages did you use? Any challenges or triumphs from the process you can share?
The app itself is pretty small—it’s fundamentally a wrapper around the Hamilton lottery website. My previous app was built in Objective-C, so I decided to try my hand at Swift. Learning Swift was a bit challenging at first, but ultimately the APIs were almost the same as Objective-C so I got the hang of it in a day or two. All in all, the first version of the app took about 20-ish hours to build.
[irp posts=”2488″ name=”Learning Swift? Here are the Developers You Need to Follow”]
The biggest challenge I ran into was because of an intensely bad assumption I made in my haste to finish v1: that no one would need to change their auto-fill information. Originally, if you needed to, say, change your ZIP code or your last name, you would have to delete the app and reinstall it (did I mention it was an intensely bad assumption?). That wasn’t even the worst part: if you were entering your info for the auto-fill and your last name was different from the first time you entered it (including not being capitalized) it would appear to save, but silently fail.
After getting about five emails a week about that issue, I took a weekend to completely rewrite the data persistence model as well as a feature to redo your auto-fill information, and I stopped getting emails.
What’s your reaction to the super positive responses from press and users alike that you’re getting for Ham App?
I love attention, so it’s been awesome.
How did the experiences of creating Ham App and Shophood [Lukas’s local shopping app] differ? What did you learn from each?
Without getting too much into a long and dark story about trying to make a startup work, Shophood was (and in many ways still is) my dream—something I spent day and night thinking about. Ham App was just a side-project, originally conceived as a way to bring more users to Shophood. When Ham App blew up, I learned first-hand what it looks like when you’ve built a product people love. And while it was very, very hard to admit it, Ham App’s growth helped me realized that Shophood (in the form I had created it) simply wasn’t something people wanted. Which sucked, but c’est la vie.
What’s next for you? Anything you’re dying to build?
I just started a new job at an awesome dev shop called HappyFunCorp. I’m focused on being a good member of the team right now, but I hope to sometime soon learn React Native and build an Android version of Ham App.
Care to share any tips for others who might want to build their own app?
Nobody is ever impressed when you talk about the things you want to do. Find a place to start, and start.
Hamilton… worth seeing? 😛
Depending on your net worth. But if you win the lottery, cancel everything and go see it (and then leave me a good review on the App Store).
Lukas with Hamilton creator Lin-Manuel Miranda
Keep up with Lukas on Twitter. If you’re interested in building your own apps with the language Lukas used for the Ham App, try our new, free Swift course!