How a Weekend Side Project Turned Into My Full-Time Job

It started with annoyance. I was sitting at my desk on a Sunday in March 2023, trying to organize my bookmark collection. I had over 2,000 bookmarks spread across three browsers, most of them dead links. No tool I found could merge, deduplicate, and check them all at once.

So I did what any developer would do – I decided to build one myself. “Should take a couple hours,” I thought. Famous last words.

The First Weekend

I wrote a Python script that could parse Chrome’s bookmark JSON export and check each URL for liveness. Simple stuff – just HTTP HEAD requests with a timeout. It worked, kind of. Took forever because I was checking URLs sequentially, and about a third of my bookmarks were indeed dead.

By Sunday night, I had a working CLI tool that could import bookmarks from Chrome, Firefox, and Safari, deduplicate by URL, and flag dead links. Ugly code, zero tests, but it worked for me.

The Reddit Post That Changed Things

On a whim, I posted about it on r/Python. “I built a tool to clean up browser bookmarks” with a link to the GitHub repo. I went to sleep expecting maybe 10 upvotes.

I woke up to 400 upvotes, 50 GitHub stars, and 30 issues filed. People wanted Windows support, a web interface, tag management, import from Pocket and Raindrop, export to Notion… The requests kept coming.

Month Two: Building in Public

I started spending evenings adding features. Async URL checking (went from 40 minutes to 2 minutes for 2,000 bookmarks), a basic Flask web UI, better deduplication using URL normalization. I tweeted about progress, wrote a dev blog, and the community grew.

By month two, the repo had 1,200 stars and I was getting pull requests from strangers. Someone added Docker support. Another person wrote an entire browser extension. A company reached out asking if they could use it internally.

The Job Offer

Three months in, I got a DM on Twitter from the CTO of a productivity startup. They were building a knowledge management platform and loved what I’d built. Would I be interested in joining as a senior developer?

The interview process was basically a walkthrough of my own code. They asked about my architectural decisions, how I handled concurrent requests, why I chose certain libraries. It was the easiest technical interview of my life – because I was talking about code I’d written with genuine passion.

Lessons I Took Away

Looking back, a few things made this work:

  • I solved my own problem. Not a hypothetical one, not a tutorial project – a real pain point I experienced daily
  • I shipped early. The first version was embarrassing. I shipped it anyway. Feedback from real users was worth more than any amount of polishing
  • I built in public. Sharing progress on social media and Reddit created accountability and attracted collaborators
  • I stayed consistent. Even when progress was slow, I committed something every week

You Can Do This Too

I’m not special. I’m an average developer who happened to scratch an itch publicly. The tools, platforms, and communities exist for anyone to do the same. Find your annoying problem, build a solution, share it with the world. You never know where it’ll lead.

Leave a Comment

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

Scroll to Top