Embracing the 3-Month Rule: A Practical Approach to Non-Scalable Solutions
In the entrepreneurial landscape, one piece of advice often emerges: “Do things that don’t scale.” While this concept, famously advocated by Paul Graham, is familiar to many, its practical application—especially in the realm of coding—is rarely discussed.
After dedicating eight months to building my AI podcast platform, I’ve cultivated a straightforward framework: each non-scalable tool or method I implement is given a lifespan of three months. At the end of this period, it must either demonstrate its value and be refined for long-term use or be discarded.
As engineers, we are conditioned to chase scalable solutions right from the outset. We find ourselves immersed in discussions about sophisticated architecture, microservices, and distributed systems—approaches tailored for enterprises poised to handle millions of users. However, at a startup, obsessing over scalability can become a costly form of procrastination, often forcing us to address issues that may never arise. My 3-month rule compels me to write straightforward, unrefined code that gets deployed and reveals the true needs of my users.
Insightful Infrastructure Hacks
Here’s a glimpse into the unconventional infrastructure strategies I’ve employed and the valuable lessons they have imparted:
1. One VM to Rule Them All
Imagine a single virtual machine hosting everything—a database, a web server, background jobs, and Redis—all for a mere $40 a month. While it lacks redundancy and requires manual backups to my local machine, this approach has proven wise. In just two months, I gained insights into my actual resource requirements far beyond what any capacity planning document could provide. I discovered that my platform, initially designed with AI in mind, only needed 4GB of RAM at peak times. My plans for a complex Kubernetes setup would have been a waste, managing empty containers.
2. Hardcoded Configurations
Configurations like the following are hardcoded directly into my code:
python
PRICE_TIER_1 = 9.99
PRICE_TIER_2 = 19.99
MAX_USERS = 100
AI_MODEL = "gpt-4"
No config files, no environmental variables—just constants distributed across my files. The benefit? Instant traceability. Anytime I need to modify a value, it takes about 15 minutes to redeploy rather than the week it would take to implement a configuration service that I’ve only needed to