How I Hacked A Win: A Q&A with Dominic Smith


Before winning the zip.code hackathon award for “Best Use of Listing Data” in November of 2015, Dominic Smith nearly walked out. He arrived, intimidated by the talent in the room and troubled that, unlike many, he showed up without a team. In this conversation, Dominic talks about the thrill of hackathons, the forming of team AbleHome, and their surprise in creating an award-winning app in under 48 hours.

How and why did you decide to participate in the zip.code hackathon?

Zip.code was the fourth hackathon I participated in since starting at Galvanize. I heard about it right after graduation, and I thought it would be a great way to network and build some job leads. It was sponsored by Retsly, a subsidiary of Zillow, and was held at the Trulia HQ which is basically across the street from Galvanize SF. Since Zillow/Trulia are one of the biggest real estate tech companies, I figured that if nothing else, it would be in a cool office, they would have some decent free food, and they would probably have some pretty good swag. What’s funny is when I showed up on the first day and tried to find a team, I almost gave up and didn’t participate.

I was seriously intimidated by the other developers there and the teams they put together. There were software engineers who had been in the industry for decades, teams of developers from other companies in the real estate business, and people who came clear across the country just to enter this hackathon. I had some serious imposter syndrome looking around the room, but I was fortunate to find a team of other people who just showed up and wanted to participate. I pitched them my idea, and they loved it.

What app did you build?

Our team, AbleHome, created a handicap accessibility rating for real estate listings and injected that rating into JSON data returned from Retsly’s API. My team and I served that JSON up on a front-end that let users search an area for real estate listings and sort them based on their accessibility. Using Google Maps, users could not only see where the real estate listings were, but could also see things like handicap ramps, handicap parking spots, sidewalk ramps, and bus stops near the real estate listing.

To do this, I built a geo-indexed database that contained a couple hundred thousand records of location data taken from San Francisco’s open data portal. Myself and another member of my team then built a Node.JS back-end that queried Retsly’s real estate listing API, pulling out specific data from each listing that would be pertinent to accessibility. This included things like the number of floors, if the house had any accessibility features built in, if the property is on a slope or hill, etc.

Using coordinates provided by Retsly’s real estate data, I queried my location database, returning data points in about a one-mile radius of each real estate listing. I ran the data returned from my database and from Retsly’s API through an algorithm I built that weighted each value, and ultimately gave me a score for the property listing on a rating of 0 to 10, with 10 being extremely accessible for someone with disabilities.

What programs did you use?

Node.JS and MongoDB on the back-end. Some basic Javascript and Jquery on the front-end, as well as the Google Maps API and Retsly’s MLS listing API.

How did you settle on creating a handicap accessibility rating app for real estate listings?

I have a friend who is in a wheelchair, and he’s been a lot of my inspiration for trying to improve accessibility through technology. There are a lot of things that people with disabilities need to consider when finding a place to live, things that the average person doesn’t really think about. This lack of awareness to the needs of people with disabilities is evident in real estate listings, and Zip.Code gave me a platform to point out those shortcomings. Things like doorway and hallway width, cabinet depth, if bathroom walls are reinforced, and a number of other considerations never make it into the data collected on a listed house.

For people with disabilities, actually going out to a listed property and assessing these qualities on their own can often be time consuming and fruitless. The app I made for the hackathon was a sort of workaround for this lack of data, by bringing in outside data on the area to help narrow listings down. But ultimately, the real estate listing industry needs to do a better job about the standards and data collected on a house for listing.

How would you describe winning the zip.code Hackathon?

Unexpected. The competition was packed with crazy-talented people.  I presented our app, and before I went on stage all I could think about was how good everyone else’s app and presentation was. I was totally blown away with what some people were able to accomplish in 36 hours. But winning was a sort of validation for me. I’d won a couple other hackathons before this one, but the competition in this one was by far the most difficult. Having recently graduated from Galvanize, it was a huge confidence boost in my abilities as a developer.

You’ve been in four hackathons. What are common traits of a winning team?

I’m no hackathon shark or pro, so take my advice with a grain of salt. Of the hackathons I’ve been in I’ve been lucky enough to place in three of them. It’s kind of cliche, but I think winning teams buy into the whole “making the world a better place through <insert technology buzzword>” mindset.  They identify a problem they can be passionate about, and try their hardest to solve that problem in the allotted time. Sounds pretty obvious, but having passion about the problem you’re addressing or what you’re creating translates into your work, and it also lets you sell it better when you’re on a stage presenting. Obviously you can’t get by on passion alone, but it’s a good start.

What did you learn from this experience?

A good idea and a little bit of skill can take you a long way. I also learned that no matter how stuck you get, there’s an answer out there.  At about 10 p.m. on the second day, I got really stuck trying to batch import a bunch of data from a spreadsheet into MongoDB. I ended up reaching out to Tim Garcia, one of the Galvanize SF instructors, on Slack. Tim saved my butt and helped me find the answer I was looking for.

Do you have any advice for anyone who is thinking about participating in a hackathon?

Do it. You don’t need to be the most experienced dev in the room to have a good time or win. Also, hackathons offer so many opportunities. You get to test yourself, mentally and physically (although not every hackathon requires sleep deprivation). You force yourself to focus on building something, quickly. You often get to play with technologies or API’s you maybe wouldn’t normally consider playing with. You usually get a lot of cool free stuff. And you also get to network and meet other developers. I met my current employers at a hackathon.

How was your experience during the Galvanize Full Stack program?

It was both fun and challenging. For six months I committed myself to full immersion, and lived, breathed, and dreamt about nothing but code and the program. It’s funny, but since graduating I haven’t had a single dream about code. I write code nearly every day, but I’m not as entrenched in it as I was learning at Galvanize. I think it’s rare moments in life when you can commit yourself so wholly to something, especially for as long as six months. But Galvanize gave me a place to do that.

Where do you work now?

I work for Target in Minneapolis as a software engineer. I met senior engineers from Target at a hackathon in San Mateo. They liked my resume and interviewed me on the spot. Within a couple of weeks they were flying me out to Minneapolis for a tour of their campus. When people think of Target they usually don’t think of them as a technology company, but they have a huge engineering division that works on everything from to point of sale hardware and software, to cutting-edge retail technology used in brick and mortar stores.

Dominic Smith is a graduate of the Galvanize San Francisco Full Stack Immersive program. 

Inspired to tackle your first hackathon but need programming skills? Start with the Galvanize Web Development program.

Learn More!