Zero to 1.5 Million Coders: Lessons from Building Grasshopper

Three years ago, I set out on an ambitious mission: to create a mobile app that would teach anyone to code from scratch, right on their phone. Today, our learn-to-code app Grasshopper has been downloaded by over 1.5 million aspiring coders around the world.

The journey from idea to successful product has been filled with invaluable lessons. As the founder and lead of Grasshopper, here are some of the key things I‘ve learned about building an educational technology startup.

Start With the Problem You Want to Solve

The inspiration for Grasshopper came from my own challenging experience learning computer science. Despite having strong math skills, I felt out of place and intimidated in my introductory CS classes at Stanford. The jargon, tools, and stereotypes about what a "coder" looked like made me doubt if I belonged.

I ended up majoring in CS and got a software engineering job at Google. But even a decade into my career, those feelings of imposter syndrome would resurface. I realized I wanted to make the path smoother for the next generation of coders.

In 2016, after years of working as a PM at Google, I pitched the company‘s Area 120 incubator on my vision: a mobile-first, gamified app that would break down barriers and make coding education widely accessible. By starting with a problem I was deeply passionate about, it gave me the drive to persevere through all the challenges to come.

Assemble an A-Team

From day one, people have been the heart of what makes Grasshopper special. I learned that while intelligence, skill, and experience matter a great deal, the most important quality in a teammate is being a team player. Technologies can be learned, but patience, hard work, and commitment to the mission are invaluable.

Over the past three years, the Grasshopper team has grown and evolved, but at each phase we‘ve had an incredible group willing to roll up their sleeves, admit when we were wrong, and put in the long hours to build something great. Bringing together engineers, designers and curriculum experts, all united around the goal of making coding education fun and accessible, has been crucial to our success.

Validate Ideas With Real Users ASAP

Before we wrote a single line of code, we started putting Grasshopper in front of users to get their feedback. In the early days, this meant testing interactive paper prototypes and rough betas with small groups.

This lean, user-centered approach allowed us to quickly discover what resonated with learners (coding puzzles and achievements) and what fell flat (turtle graphics and clunky UX). Based on these insights, we kept iterating and improving with each new cohort of testers.

Within just a few months, we had an MVP that was ready to launch on the Play Store to a closed beta group. Closely monitoring their engagement and gathering both quantitative and qualitative feedback set us on the path to product-market fit.

Define the Right Success Metrics

As a data-driven team, we knew setting clear success metrics would be key to measuring our progress and making strategic decisions. But with so many different numbers we could track, from active users to content creation velocity, it was easy to get lost in a sea of data.

After some trial and error, we narrowed our focus to two critical metrics: Day 1 retention (the percentage of users who complete at least one lesson on their first day) and graduation rate (the percentage who finish our introductory curriculum). These north star goals kept us accountable to building an engaging experience that successfully taught real coding skills.

Notably missing from our top-line metrics was anything related to user growth. We consciously decided not to prioritize marketing or press until we knew we had nailed the core product experience. Saying no to distractions and optimizing for retention and learning outcomes set us up for sustainable organic growth down the line.

Listen to Your Users (Even When it‘s Hard)

Around six months post-launch, we found ourselves in a frustrating situation. Despite shipping new features and content every week, our retention and graduation rates remained stubbornly flat. Users kept telling us the curriculum was confusing to navigate and they wanted a clearer sense of progress. But we were resistant to making major changes to the app structure.

As the product lead, I had to take a hard look in the mirror and realize that we were failing to listen to our users. We had valid reasons to be attached to the dynamic curriculum model we had built, but we needed to put those aside and hear the clear feedback we were getting.

Once we shifted to a linear curriculum with a prominent progress bar and achievement milestones, our engagement rates started to climb and the positive reviews poured in. This experience crystallized for me how critical it is to always put the user first, even when it means throwing out work you‘re personally invested in.

Stay True to Your Mission

Pivoting from a dynamic to linear curriculum was a bold move that made me nervous. Would this new structure be "innovative" enough to excite our team and stakeholders? Were we compromising our educational principles by relying on gamification?

In the end, I realized that as long as we stayed true to our core mission of teaching coding to as many people as possible, the implementation details could evolve. Hitting our learning objectives was more important than any one feature or design choice.

This north star has continued to guide us through many forks in the road, from new technologies to business models. While the details may change, as long as we‘re making progress on our goal of breaking down barriers to coding education, we know we‘re on the right track.

Invest Early in Scalability and Support

After months of keeping a low profile, we were thrilled to see major tech news outlets like TIME and TechCrunch cover the Grasshopper app at launch. As the buzz spread and our download numbers climbed, we felt confident we had the server capacity and support processes to handle the extra attention.

But we underestimated the global appetite for what we had built. Overnight, our new user registrations shot up by 6300%. Our scrappy team found ourselves struggling to keep the app running smoothly while triaging an avalanche of user feedback and troubleshooting requests.

Thanks to some quick work by our engineers to update our backend architecture and the thankless efforts of our support leads, we made it through those intense early weeks post-launch. But the experience taught us a valuable lesson about investing early in the unsexy but essential work of building for scale. Features like monitoring dashboards, feature flags, and a self-serve knowledge base ended up being critical.

Be Transparent About the Challenges of Work-Life Balance

On a personal note, my journey as a founder has been humbling. I navigated the ups and downs of building Grasshopper through some of the most intensely demanding and rewarding moments of my life, including pregnancy and becoming a first-time parent.

There‘s no magic formula for juggling it all. Being a working mom at an early-stage startup often feels like one big exercise in ruthless prioritization, constantly making tough tradeoffs between being there for my team and my family.

I‘ve learned to be realistic about the myth of "balance" and embrace the messy, rewarding reality of the choices I make each day to try to show up as a leader and a parent. I share this not because I have it all figured out, but because I believe in normalizing these conversations.

Building Grasshopper has been a wild ride filled with unexpected challenges, joyful breakthroughs, and no shortage of mistakes along the way. I‘m deeply grateful to the team that‘s been in the trenches with me and the community of learners who inspire us every day.

To anyone else out there trying to tackle an ambitious goal or start something new, I hope these lessons from our journey are helpful. Stay true to your mission, keep listening to your users, and don‘t be afraid to adapt when things aren‘t working. With persistence, patience, and a lot of help, you never know what you might achieve.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *