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 Pragmatic Approach to Unscalable Solutions

In the tech world, there’s a notable piece of advice from entrepreneur Paul Graham that resonates deeply with startups: “Do things that don’t scale.” While this advice sparks inspiration, the roadmap for executing it in the realm of coding often remains less explored.

After dedicating eight months to develop my AI podcast platform, I formulated a straightforward yet effective strategy: every unscalable workaround has precisely three months to demonstrate its worth. At the end of that period, it either earns the right to be properly developed or fades away.

As engineers, we are conditioned to focus on scalable solutions right from the outset. We delve into intricate design patterns, microservices, and distributed systems—all things necessary for accommodating millions of users. However, this mindset is often more aligned with big corporations. In a startup environment, pursuing scalable code can equate to costly procrastination, as we invest in solutions aimed at users who may never materialize. My 3-month framework compels me to create straightforward, if imperfect, code that can be deployed swiftly, revealing the true needs of my users.

Current Technical Hacks: Smart Approaches for a Startup

1. Utilizing a Single Virtual Machine

All components, including the database, web server, background jobs, and caching service, run on a single $40-a-month virtual machine. There’s no redundancy and backups are manually stored on my local machine.

Why is this a clever choice? In just two months, I’ve gained invaluable insights into my actual resource requirements that no capacity planning document could match. Surprisingly, my resource-intensive platform peaks at just 4GB of RAM! The complex Kubernetes setup I almost pursued would have merely managed vacant containers. When system failures occur—and they have, a couple of times—I receive authentic data about what truly falters, which is never what I anticipated.

2. Hardcoded Configuration Settings

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

Gone are the days of using configuration files or environment variables; constants are now scattered throughout the codebase. Any changes necessitate a redeployment.

The unexpected advantage? I can instantly search my entire codebase for any configuration value. Every price adjustment is logged in the Git history, and each change undergoes a review

Leave a Reply

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