3 months ago

My first failure WIP Desktop

I failed to launch the product in under 72 hours. Disappointing, isn't it? It felt bad to make a claim & never complete it. I tried but I didn't gave my best shot. It was only 50% of me. Rest of the time I lost motivation because of some errors & my perfectionist nature. Even though the final result isn't perfect but its good enough in my terms.

That & once you lose some days then you keep on losing more & more. Once you let your guard down, it becomes a habit. First its just lets take a day off & then another comes & goes & then another & its too late until you realise a week has passed.

Announcement Date

I announced the beginning of this project on 30th July 2018.

But I was busy squashing a bug on my another project due to the publisher stopped sending newsletter from that week & people got irritated with false notifications.

So on the 1st day all I did was spin up a boilerplate & that's it. Next day onwards I started coding, i.e, from 31st July 2018. I had a fever then because I went go for a run even if it rains πŸ’¦

Then I made the first screen which kinda sucked a lot & probably looks πŸ’© shitty

I was facing some errors later on so I went into the source code of my favorite text editor VSCode & also on that day I open sourced my code.

Later on, I made the sidebar which didn't look quite good.

Also, added some emojis 🌢πŸ”₯οΈπŸ’€πŸ‘» to make it look attractive as its really hard to make the design look good when there is literally no text.

This was the minimalistic approach. I also want to learn Design so went all on my own. As good design always makes the product look 1000x better.

One mistake I made was using a new library @reach/router because I like to try new things & often get bored by doing the same things again & again. And I have already used react-router like a million times. Also, the API looked quite πŸ”₯ so I went with that. Everything was alright but I was facing a weird issue of "Cannot GET /" with @reach/router & I googled but nothing came up.

I went in depth into related issues & opened up lots of tabs trying to figure out what was wrong but I couldn't.

Then I landed on a great Tyler Mcginnis's article Fixing the "cannot GET /URL" error on refresh with React Router (or how client side routers work) & this was by far the best explanation I've ever read & figured out a solution.

I went again with React Router & just because this is a small app it was easier to fix with just the 10 lines. Then I used Hash History to fix up that issue.

Then I started making the design look better 🎨

Thanks to Pascal Pixel's advice I made it look good enough.

Then the worst part happened when the bug was in the upstream repo. I was using Apollo & it has an error on refetchQueries. Most people don't use refetchQueries as its not needed & is unnecessary. And goes against the idea of GraphQL.

But as I was using Apollo for the first time, I used refetchQueries because I didn't know how to go the other way. This is where I wasted the most of my time. I posted questions on StackOverflow, Reddit, Spectrum, Slack, Twitter & every place I could but all I got was upvotes. No answers 😭

Wasted some days due to the error. So I went ahead & made a Dark Theme. This was on 7th August 2018.

On the next day, I set up Travis CI for the first time. This was to make automatic releases when I add some new features πŸš€ or squash some bugs πŸ›

Then after a lot of math & trial & error I made the Launcher Background work.

Again I faced weird Apollo errors. I am using React & found the solution on the Vue Wrapper πŸ˜‚. There are lots of things not documented in Apollo & only Google helps. Sometimes even it can't help.

As you can see in the WakaTime screenshot below I spent a lot of time on such a simple application.

Then I got bored doing the same thing again & again. I had to write tons of media queries. I have written a lot of code that I generally don't & that too in a really less time.

This is the Wakatime screenshot on 12th of August 2018 πŸ‘‡

Wakatime Screenshot for 12th August 2018

After a while, even Flexbox starts to irritate you in a way that you don't like it & I was doing this thing again & again. Everytime I used to edit files, rename files, copy files. Setting up the structure of the project took me a lot of time but made it easier to find bugs & squash them. Everything is organized in a way that its easier to contribute & find files for myself.

And yesterday I launched the project finally πŸš€πŸš€πŸš€

βœ… Things I learned

πŸ”₯ I can launch in under 72 hours

πŸ”₯ It is possible to make a complete product from scratch if I put in a decent amount of work daily

πŸ”₯ Making a product is only 30% of the work. Rest effort goes into marketing, content, blogs, etc..

πŸ”₯ I am going to get bored after doing the same thing again & again

πŸ”₯ Tweeting a lot is boring so I'll pivot to tweeting less. Also, few words have a bigger impact.

πŸ”₯ Sleeping for 8 hours makes me more productive than sleeping for 4 or 5 or 6 hours

❌ Things that can be improved

πŸ”₯ Shipping for 10 hours / day (currently my highest is 9 hours & lowest is 3 hours)

πŸ”₯ Do not try to make a perfect product. It can be done after v1.

πŸ”₯ Design skills

πŸ”₯ Speed, Efficiency & Consistency

πŸ”₯ Stop frequenting Social Networks

πŸ”₯ Stop Procrastinating

πŸ”₯ Stop Lying & Start Launching

Like the post ? Share it with your friends.