Lessons learned from building a side project

4 min read
Alecsandru Grigoriu
  •  Jun 2, 2016
Link copied to clipboard

At some point, we’ve all thought about having a piece of the product world—a project we can’t wait to work on every day. With a side project you rely on your own experience and make your own judgment calls. You’re in charge of your ideas and you gain skills along the way as you push ideas beyond doodles on a napkin.

Set apart from your daily routine, a side project can motivate and excite you.Twitter Logo For me, the thrill comes from being able to experiment and give back to the community. But from having an idea to promoting it to the right audience, side projects involve a whole lot of hard work. This article covers the lessons I learned while building UX Recipe in my free time and releasing its iOS app.

UX Recipe is a checklist where you discover, choose, and estimate your next tools and techniques. You can use UX Recipe 3 ways:

  1. Create your own process for your product or UX project
  2. Estimate the hours and costs for each item in your process and calculate the total
  3. Explore a curated list of recommendations

Each item comes with its definition and a collection of useful links. This way the team and the client know from the start what, how, and how much.

UX Recipe for the web.

I started this project on my own because I felt people were under-developing the term “UX.” It’s not UI—and it’s not a fancy word to attach to a resume. Moreover, UX isn’t a magic ingredient you add to get users to start pouring in.

“UX isn’t a magic ingredient you add to get users to start pouring in.”

Twitter Logo

Take a roadmap with you

I knew from the start what I was going to launch as a first prototype and I stuck with that plan until it happened. This way, I didn’t allow myself to extend deadlines, add features, or take the bait to every opinion. It’s not easy to be that strict, but it helps. Treating a side project like client work helps you avoid the I’ll-do-it-tomorrow effect.Twitter Logo It’s easy to postpone deadlines when there are no ground rules.

Something I did to push myself forward: I kept a tight schedule and published work online as soon as possible. I also shared the project with acquaintances to put some pressure on myself. Failure is educational, but it stings when it happens before an audience.Twitter Logo

Build a roadmap for every version you intend to release. Of course, from one release to another, your project might need changes. A distraction-free design sprint can do wonders.Twitter Logo

“Treat your side project like client work.”

Twitter Logo

2. Offer outcome, not output

One of the best parts of UX Recipe is its content. Users resonated with UX Recipe’s manifesto thanks to its casual and witty tone of voice. Add to this a curated list of resources and the ability to estimate your project, and it was more than a calculator.

After analyzing feedback and going through the recordings, I noticed something: People returned for its value, not for the numbers. Either they were promoting it with the same tone or using it as a discovery tool. Collecting and grouping the information paid off.

Emphasize the value proposition you offerTwitter Logo, not just a batch of features. Users might return for what you stand for and be part of your mission on a long turn, and that’s a major win.

UX Recipe resources, Easter eggs, and templates.

3. Prototype, prototype, prototype

When you’re working on a side project, time is of the essence. It was clear that I needed to put something online if I wanted to test it fast. After finalizing the content, I moved to prototyping in HTML/CSS/JS. I published it all using Github pages, fixed the obvious bugs, and started asking for feedback.

Whether you use HTML, InVision, or paper, you should create a prototype. You’ll experiment, record quick ideas, make mistakes sooner, and communicate better. For example, from the beginning I shared my project on Github. It was online all the time, allowing me to add small updates and test features.  

“Build a prototype so you can make mistakes sooner.”

Twitter Logo

4. It’s not a solo job

At a certain point you’ll realize you need help. I wanted an iOS app, but I didn’t know Xcode. I wanted to promote the project, but I didn’t know all the marketing tools, tips, and tricks.

So then I wanted an Android app. Would I build it myself? No. Would I ask for help? Yes.

I was lucky. The project attracted passionate people who wanted to contribute. They showed interest due to the nature of the project. Also, I offered the code on Github and that made things even easier. Developers, both strangers and friends, optimized my code just to help out.

“There’s no harm in asking for help.”

Twitter Logo

A colleague started to work on the iOS app just so he could practice his Xcode skills. A friend offered to help with marketing and analytics. And a friend of a friend who happens to be an Android developer started building the Android version.

Even the company I work for, Grapefruit, supported me. There’s no shame in admitting you feel overwhelmedTwitter Logo, and there’s no harm in asking for help.

You might be an awesome designer or developer, but you’re not a unicorn. They don’t exist.

5. Learn to promote

There’s more to promotion than paid ads.Twitter Logo One thing I got wrong from the beginning: relying on promoted ads. They help, but they don’t get you near users.

With the right guidance, I started learning more advanced features from Google Analytics. I understood my audience better—where they’re coming from and their interests. I planned my posts on social media and tracked the conversation. I learned that to get lucky on DesignerNews, you should post at 9am Pacific time.

Promoting to the right audience.

6. Patience is a virtue

I daydreamed a lot about the end result—I always imagined how the product would look after launch and how it’d grow. Then I realized I hadn’t even tweeted about the project or asked for feedback.

Every time I tweeted about it… nothing happened. No visits, no retweets, nothing. Don’t build something because you want it to go viral.Twitter Logo

I knew getting the project out there would be tricky and time consuming, but not impossible. So I started small with tweets, likes, and conversations on various groups. At first there was little to no activity or response, but I kept going.

There was a boost of motivation every once in a while. The project got picked up by Product Hunt, sent via Sidebar, and shared by Smashing Magazine. From there other sites started to promote it.

7. Listen, measure, and react

The fun doesn’t stop when you launch a product—it just puts you in front of the unexpected.

I used Trello to save all the feedback and ideas I got, grouping them into columns for Critical, To-do, Nice-to-have, and Nope.

I also mixed various tools to keep track of users’ behavior and patterns. I used Google Analytics, Hotjar, and Fabric. Users started to report bugs and errors, so I needed to play the role of a support team. Once you release a project—brace yourself—you’ll discover skills you never knew you had.

Measure and improve based on metrics.


8. Keep an eye on the competition

As the saying goes, you are not alone—so get to know your competition. I often verify how other checklist tools are evolving. I’m always curious to see if someone else tried similar or new features.

“Emphasize the value proposition you offer.”

Twitter Logo

9. Move forward when you’re stuck

After UX Recipe’s web prototype release and its promotion boost, things calmed down and nothing really happened for a while. I got so comfortable that updates became rare. And for months, I just relied on visits from referrals.

It was only when I decided to prepare the iOS app that things started to move again. With the iOS app released, updates are often submitted. Small or big, it doesn’t count that much as long as there’s traction and activity. The iOS app’s release also motivated me to stay on track with the Android version. I planned again in advance, refined the roadmap, and promised myself to not let things slip again.

10. There’s no time like free time

As long as you don’t quit your day job, a side project will stay a side project. Working on it full time just won’t happen—it took me some time to get used to this.

What did I do?

  1. I planned my weekends in advance
  2. I scheduled my weekday nights
  3. Organized hackathons for complex features

This way I pressured myself to work on a regular basis and rank the updates by frequency and complexity. For example, I update the content from Monday to Friday. On weekends I only work on new features. It’s a compromise I have to make as long as UX Recipe remains a side project.

Continue the conversation

Are you building a side project? Do you have any tips to share? Let’s talk! Tweet us at @invisionapp and @alecsandru.

Collaborate in real time on a digital whiteboard