Home / Business / The 3-Month Rule: My Technical Framework for Doing Things That Don’t Scale

The 3-Month Rule: My Technical Framework for Doing Things That Don’t Scale

Embracing the 3-Month Rule: A Startup’s Guide to Unconventional Coding

In the world of startups, conventional wisdom often advises, “Do things that don’t scale.” While this principle, famously advocated by Paul Graham, is widely acknowledged, the practical execution of it within coding practices frequently goes unaddressed.

After eight months of developing my AI podcast platform, I’ve established a straightforward yet effective framework: unscalable coding hacks are granted a lifespan of three months. Post this period, they either demonstrate their worth and are transformed into viable solutions, or they are retired.

As engineers, we are typically conditioned to devise “scalable” architectures right from the start. We cherish design patterns, microservices, and other cutting-edge constructs meant for handling vast user bases. However, this big-company mindset can be detrimental to startups, where anticipating scalability often results in unnecessary complexities and procrastination.

My approach compels me to adopt simpler, albeit “imperfect,” coding practices that yield actual results, providing insights into real user needs.

Smart Infrastructure Hacks Worth Adopting

1. Consolidated Operations on a Single VM

Currently, my entire operation—database, web server, background tasks, and caching—runs on a mere $40/month virtual machine. This setup lacks redundancy and requires manual backups.

This might seem counterintuitive, but it has been an enlightening experience. Within just two months, I gained more understanding of my resource requirements than any technical plan could provide. I discovered that my platform’s resource peak hovers around 4GB of RAM, meaning a comprehensive Kubernetes orchestration I nearly implemented would have just iced over empty containers.

Each time the system goes down (which has happened twice), I receive firsthand data on the exact failures, which have been far from what I predicted.

2. Straightforward Hardcoded Configurations

python
PRICE_TIER_1 = 9.99
PRICE_TIER_2 = 19.99
MAX_USERS = 100
AI_MODEL = "gpt-4"

I’ve chosen to forgo complex configuration files or environmental variables, opting instead for constants directly in the code. Modifying any of these values necessitates a redeployment.

The hidden advantage? I can quickly search my entire codebase for configuration values, tracking changes through git history with ease. Over the past three months, these values have changed only three times—taking me 15 minutes

Leave a Reply

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