My First Year of Coding

One year ago today I sat down and started a project that has changed my life. That sounds totally corny but it’s true. April 1st of last year was day one of my 180 websites in 180 days project and I was super nervous. I had no idea how to code. My computer broke and I was using a borrowed laptop. And I set up this crazy learning challenge where if I failed everyone would see it. Clearly I was nuts. I remember thinking to myself if the project did fail I could call it an elaborate April Fool’s joke.

But I was also super excited. I was finally going to learn to build the things I wanted make! I had wanted to learn to code for quite some time, but books and online courses seemed so dry. I was going to just do it by teaching myself. When I finished my website for the first day of the 180 websites project I was incredibly proud. I knew I had a lot of hard work ahead of me, but I had overcome what is often the largest hurdle in any project: getting started.

I’ve learned a lot about myself in the past year working on both the 180 websites project and YumHacker. One of the bigger surprises was how much I dig data! I’m not a ‘numbers’ gal but getting, manipulating and displaying data has been the most exciting part of programming for me. I’m also continually fascinated by how people engage with the things I make and I enjoy trying to optimize their interactions.

Most importantly, I’ve been able to overcome the fear of being judged. Whether you are making a piece of artwork, teaching yourself something new or building a business you’re bound to encounter some negative energy. People will say some pretty weird or just plain mean things to you when you’re doing something kind of crazy. Those comments sting a bit, but they’re most dangerous when you let them feed your self doubt. Battling your own self doubt is incredibly formidable.

Do not let the Zoidbergs get to you.

In my first blog post, I wrote, “I am not sure where this project will go but I think it will be interesting!” Sometimes I can’t believe how much I’ve learned and sometimes I can’t remember what life was like before I learned to code. This past year has been challenging, exhilarating, lonely, overwhelming, frustrating and awesome. It’s been the best year of my life. I’m still dealing with a bit of impostor syndrome and it still sounds weird when I tell people I’m a software engineer, but I can’t imagine doing anything else.

Update: Since I finished the 180 Websites project, I’ve been working on a website called YumHacker. You can read more about that project here.

Dark and quiet here tonight!

Dark and quiet here tonight!

It’s about bloody time! :D

It’s about bloody time! :D

Working on the road.  (at Heavenly Valley)

Working on the road. (at Heavenly Valley)

Tips from the Pros: How Not to Suck at Valentine’s Day



Sharing a meal is one of the more intimate experiences two people can enojy together. Food is love. So it’s no surprise that the most romantic day of the year is also one of the busiest days of the year for restaurants.

Dining out for Valentine’s Day might seem as simple as making a reservation, but with so many people clamoring for a romantic table, you could easily end up annoyed and disappointed. So we spoke with people who work in restaurants to get the scoop on how not to suck on Valentine’s Day.

Make your reservation for the beginning or end of the night.

Most diners want reservations between 7-8pm. Making an earlier or later reservation means you will not be there during the most hectic parts of the evening which will most likely result in better service. Earlier is better in my opinion.

Expect to have a cocktail while waiting for your table.

Again, it’s a very busy night. Restaurants also tend to overbook due to the high number of VDay no shows and last minute cancellations.

- Akili, General Manager, Drago Centro, Los Angeles

Avoid the Prix Fixe menus.

Most places will run a prix fixe menu to help the kitchen keep up with the high demand. The point of the prix fixe menu is to get people in and out as quickly as possible. What’s being served is probably not the best the restaurant has to offer.

Instead, go some place not stereotypically romantic.

All the fancy places are going to be packed full. Why not go for a new culinary adventure? Korean BBQ may not sound romantic but dining with your love while risking 3rd degree burns will certainly be fun and memorable.

- Jen, Bartender, San Francisco

Skip Valentine’s Day.

If you’re looking for romance, make a reservation for the weekend before. You’ll miss the insanity of the VDay rush and get much better service. If you mention you’re celebrating early, the restaurant might even throw in an extra treat.

If you must go out, try to snag a seat at the bar.

The bar area is often overlooked as a romantic spot in the restaurant but often it’s quieter and more intimate than the main floor. Plus, you’ll probably get more attentive service.

- Jeff, Server, New York

Be nice to the staff.

VDay is chaotic and stressful for everyone. Being super nice when making reservations and when interacting with the host/server/management goes a LONG way.

Expect to be cramped.

VDay is seen as a huge money making day in the restaurant biz and the goal is to capitalize on everyone who feels they need to go out. Most restaurants adjust floor plans to accommodate more guests, thus creating more cramped seating.

- Shannon, Manager, Baltimore

Don’t look to your bartender or server to be your wingman.

We have been inundated all day and night with pseudo-romance, ending relationships, beginning relationships and we want the day to be over as much as anyone who wants the date to be over.

Be original.

If you are actually going to celebrate romance on the most unoriginal day of the year, at least be original in the execution.

- Victoria, Bartender, The Escondite, Los Angeles

The problem with working on a food website is that I’m always hungry!  (at Paragon Restaurant & Bar)

The problem with working on a food website is that I’m always hungry! (at Paragon Restaurant & Bar)

I Code to Procrastinate When I Should be Growing My Startup


Since I’ve launched YumHacker I’ve been feeling kind of unproductive. It’s not that I am not getting things accomplished, but now that I am shifting my focus from building YumHacker to growing YumHacker my schedule has radically changed. Between meetings, events and emails I’m not left with…

What I learned making 100 websites in 100 days

Couldn’t have said it any better! Congrats Thuongvu!

YumHacker: I Built a Social Network for Food and Here's How I Did it


I’ve always been fascinated by the internet’s ability to facilitate communication. When I set out to make 180 websites in 180 days, my goal was to learn to code so I could take part in creating those communication channels by making interactive websites. Toward the end of the 180 websites project I succeeded in making a few websites where people could collaboratively draw pictures, share photos, or chat.

Making these basic interactive websites felt awesome, but I wanted to do something bigger.  I wanted to build a build a full scale, dynamic website where people have a virtual identity that they can be proud of.  

Many of my friends really enjoy food — exotic, off the beaten path, authentic, soulful food.  But finding great, new restaurants to try is really hard.  When I head to the internet, I invariably end up trying a place that scores highly on Yelp.  Most of the time the food is, well, meh.  I’m rarely blow away.

For me, most of the awesome new restaurants I discover are recommendations from friends. I created YumHacker to help you to find great restaurants from people you trust, your friends.


There are lots of online tools to help you find new restaurants.  Most food websites are based around the reviews and recommendations of strangers. This is how Yelp operates.  Yelp is pretty amazing because they have all the data: pictures, hours, locations, reviews and star ratings.  Having all of the data is very valuable because it empowers you to make an informed decision. But at the same time, looking at 100 reviews made by strangers requires me to do a lot of work to figure out if the restaurant is a good fit for me.

Foursquare has a really nice balance between tons of data but with a personal touch. They even have the ability to find restaurants near you where your Foursquare friends have checked-in.  If your friends go to a restaurant then the chance of you wanting to go there too goes way up.  Unfortunately, it can be difficult to tell whether your friends love, hate or are indifferent toward a place they’ve checked-in to.

In real life, when someone gives you a recommendation, you get the name of the place and short comment on why they like it.  YumHacker mirrors those real life recommendations online so you can get them any time you want. YumHacker is a place where you can find great restaurants endorsed by people you trust.


YumHacker keeps it simple. Endorse restaurants you like and follow people you trust to see what restaurants they endorse. A helpful map shows you all of the places you’re endorsing, and its also possible to have the map display only endorsed restaurants from your friends. Geolocation features make it easy to find new places nearby. Short, 100 character comments put the focus on what matters and leave no room for bloat. You can upload photos, too, if that’s your jam.

After thinking about the structure for YumHacker, I knew I wanted it to be snappy. I consulted with some friends and decided to make YumHacker a one page app using Rails as an API and Backbone on the frontend. On the backend, Rails responds to all initial requests with the javascript assets and a barebones html document so Backbone has somewhere to work its magic. The Rails API then manages all subsequent requests, responding with JSON. For the restaurant search feature, YumHacker taps into the power of the Google Places API to find new restaurant information like price point and hours. For the database, YumHacker uses Postgres with PostGIS. For authentication, YumHacker uses Devise with Omniauth Facebook and Twitter integration.

My first experiences with Backbone were frustrating because Backbone nudges you in the right direction and that wasn’t the direction I was initially headed in. But after I got into the swing of things it was awesome! Having a way to organize and model data made building complex view structures a breeze. If you’re curious, all of the code for YumHacker is publicly available on GitHub so check it out!


This is the first public release of YumHacker and there are still lots of things to do. I’m going to add more advanced filters so you can refine your search by price, category and neighborhood. Coding a mobile optimized front end is also at the top of my priority list. I’m also thinking about adding the ability to make custom lists like ‘My Favorite Burritos’ that you can share. Of course, I’d love to hear any feedback or suggestions for features you’d like to see on YumHacker!

Thuongvu Ho's 100 Websites project

Way to go Thuongvu on finishing your 100 websites project!