Well, that was fast. This is getting hard. I’ve definitely hit “the dip” already. You saw this coming, right? This was a frustrating week and I felt that progress really slowed down—but I did meet one really important milestone.

Last week I wrote that learning to build an app is not too hard. Software is not too risky or intimidating. And even though this week was rough, I still believe that.

Look, it’s not like I expected this to be a cakewalk. It’s still going to be hard work. This week it did get harder.

First, let’s look at what I did while building the new browser extension, and then I’ll explain what I learned from it and how it’s relevant to you:

  • Switched to a more reliable and immediate method to pause JavaScript execution
  • Chose a JavaScript diffing library
  • Built CSS diff calculation and storage
  • Added button tooltips to clarify their purpose
  • Refactored several functions because extension API methods changed in Chrome

Why founders quit early

If you’ve read Seth Godin’s book, you know that he advises readers to quit when it gets hard. It’s better to quit early, lock in your gains from that easy, initial learning period, and don’t waste effort during the tough stages unless you really will stick it out for the long term. Because few actually do.

I think many founders hit the dip, get lost in it for a while, and give up. That’s where all the advice about software being so hard comes from: people who never made it past the dip, or who only barely made it out.

Look at that list of what I accomplished above. It’s pretty short. Much shorter than the week prior. Should I quit now like Mr. Godin advises?

This week, I hit a more difficult stage of my project. But I kept going anyway because I’m stubborn, and even though progress was slower, I achieved something; item number three in that list is a big, big deal.

Until this week, I still didn’t really know for sure if it was even possible to build the core features of my product. Sure, my research had found the right APIs and theoretically shown it was doable. But I had no real proof it was truly feasible or that I, a coder not experienced in this at all, could actually build it.

This week, I built the core feature of Mod&Dot: the ability to calculate diffs when edits are made in devtools. It’s messy. Actually, right now, the extension is not unlike Frankenstein’s monster—patched together, a bastardization of life, that scares anyone who sees it other than its creator.

But I’ll be damned if it didn’t just open its eyes. Pushing past the dip is worth it.

Week 6 was: difficult

Building that critical feature was difficult—way more than I expected. The extension is unstable and buggy right now. Next week, I’ll work on making it more stable.

But I’m glad I didn’t quit. The dip might be hard, but I find a ton of satisfaction in solving these hard problems.

Maybe you have to be part mad scientist inside to bring a new monster into the world and to believe it can become something good.

But even though some said it couldn’t be done, this designer’s monster is alive.