Back to Blog

5 Rules I Follow When Building Projects

Best Practices · August 2026

Anybody can start a project; very few people actually finish them. Over the last few years, transitioning from writing basic Python scripts to architecting full-stack applications, I realized that motivation is useless without a framework. I kept abandoning projects halfway until I established a set of non-negotiable rules. These aren't just generic theories I read online—they are battle-tested habits forged through the friction of real development.

Rule 1: Start Uncomfortably Small

We all want to build the next massive platform on day one. It's a trap. Every single complex system must start as a simple system that actually works. When I first conceptualized DocoDive, I didn't start by coding user feeds and complex authentication. The very first version was literally just a single script that could upload a document to a server. That’s it. Only after the core foundation was solid did I layer on the complexity. If you try to build everything at once, you will build nothing at all.

Rule 2: Treat Zero-Budget as a Feature

I don't have infinite server funds, and honestly, that’s an advantage. Before spending a single rupee, I ask: How can I engineer this to run entirely on free tiers? Using platforms like TiDB serverless, Cloudflare R2, Render, and GitHub Actions forces you to write highly optimized, efficient code. In the old days, developers had to fight for every kilobyte of memory. That traditional frugality breeds creativity. Cost isn't just an afterthought; it’s a core architectural constraint.

Rule 3: Trust No User (Validate Early)

Bad input is the enemy of good software. Back when I built my Student Grade Manager in Python, I quickly learned that if a user can enter a letter where a number belongs, they absolutely will—and it will crash your program. I validate data aggressively at every single entry point, front-end and back-end. It’s tedious, unglamorous work, but writing strict validation is the difference between a flimsy toy project and a production-grade application that commands respect.

Rule 4: Ship Fast, Let It Break

Perfectionism is just procrastination wearing a suit. You can spend six months polishing a codebase locally, but until it hits production and real users touch it, you have no idea if it’s actually good. My rule is brutal: get an MVP (Minimum Viable Product) live immediately. A shipped project with a few visual bugs teaches you 100x more than a "perfect" project rotting on your local localhost. Ship it, take the criticism, and iterate fast.

Rule 5: Document Like Your Future Self is an Idiot

There is a traditional engineering discipline that modern devs ignore: keeping a log. I guarantee that three months from now, you will have zero idea how your own database routing works. I write unapologetically clear READMEs, I comment on tricky backend logic, and I document my API endpoints. Documentation isn't just for other people; it’s a way to force yourself to think through your own architecture in slow motion. If you can't explain it in text, your code is too messy.

Conclusion

Software engineering isn't just about syntax; it's about discipline. These five rules—start small, exploit free tools, validate ruthlessly, ship fast, and document heavily—are the backbone of my workflow. They keep me grounded, cut out the BS, and ensure that when I sit down to code, I actually produce results.