We help founders build software that scales.
Since 2011, we've turned ideas into products that real people use—from classrooms to clinics to c-suites.
The house edge
Vegas makes billions on a 0.5% edge, compounded millions of times.
These patterns are our edge. Not universal truths—some contradict each other, others are obsolete. Sometimes you fold pocket kings. Sometimes you ship on Friday. But we've seen them enough to bet on them.
The edge isn't knowing all the patterns. It's knowing which one applies.
Patterns we've noticed
The idea is worth zero
Your revolutionary idea? Five teams are building it right now. Ideas are worthless. Execution is worth millions. The team that ships first with decent distribution wins. Ship today or lose to someone who will.
Wisdom
Build half the features, twice as well
20% of features get 80% of use. But nobody knows which 20% until real users show you. Ship the invoice system before the dashboard. Payment flow before preferences.
Technical
Distribution beats product
The inferior product with superior distribution wins. Every time. That competitor with the ugly UI but great SEO? They're printing money. Build something good enough, then tell everyone.
Wisdom
Bootstrap math vs VC math
Bootstrap: $5M ARR, 30% margins, sell for $25M. Founders walk with $25M. VC path: $5M ARR, -50% margins, raise at $100M valuation. Sell for $200M, founders walk with $20M after preferences.
Business
AI is a feature, not a product
Your "AI startup" is a GPT wrapper with a subscription. So are 10,000 others. OpenAI will build your feature next month. The moat isn't the AI, it's the workflow, the data, the distribution.
Technical
The Friday deploy myth
Everyone says don't deploy on Friday. Wrong. If you're scared of Friday deploys, you're scared of your code. Good deployment practices work every day or they don't work at all.
Technical
Remote work builds better software
Remote since 2011. Not trendy, just effective. No commute means deep work. No office means lower burn. The four-hour focus block beats the eight-hour office day.
Business
Your first hire determines your fate
Hire a brilliant jerk, build a toxic culture. The first engineer sets the technical bar. The first salesperson sets the customer bar. No hire beats bad hire.
People
Boring technology
React. Node. PostgreSQL. AWS. The stack that a thousand developers know beats the one that five understand. Every boring choice is one less 3am debugging session.
Technical
The burn rate clock
Every founder knows the math. Runway divided by monthly burn equals months until death. Most shops bill hourly and estimate loosely. Fixed outcomes stop the clock.
Business
Mobile-first means mobile-only
If you design for mobile, desktop users adapt. If you design for desktop, mobile users leave. The phone IS their computer.
Market
JavaScript fatigue is real
47 state managers. 23 build tools. This isn't innovation, it's procrastination. Your app doesn't need the newest framework. It needs to ship.
Technical
The enterprise trigger
First Fortune 500 client? Everything breaks. SSO becomes mandatory. SOC2 isn't optional. The $100K contract costs $200K to deliver. Build enterprise-ready or stay small.
Business
Test the money path first
If payment fails, nothing else matters. A bug in the signup flow is unfortunate. A bug in the payment flow is unemployment.
Technical
Charge money on day one
Free validates nothing. If nobody will pay $10, they won't pay $10,000. Revenue is the only metric that doesn't lie.
Market
The rewrite trap
"Let's rewrite from scratch." Two years later: half the features, twice the bugs. Refactoring is surgery. Rewriting is resurrection. Surgery usually works better.
Technical
Heroes create dependencies
The developer who works weekends isn't dedicated, they're creating bus factor risk. Build systems, not saviors.
People
Estimates are promises
To developers, estimates are guesses. To clients, they're contracts. Double your estimate, then add buffer. Under-promise or over-deliver. Never both.
Process
Nobody reads documentation
They'll call before reading one page. If it needs documentation, it needs redesign.
Technical
The second customer teaches everything
First customer: thrilled you exist. Second customer: why doesn't it work like they expect? Product-market fit isn't the first yes, it's the second.
Business
AWS bills only go up
That serverless function that costs pennies becomes hundreds at scale. Monitor at $100/month, optimize at $1000, panic at $10,000.
Technical
The dashboard nobody opens
Every client wants a dashboard. Nobody looks at dashboards. Send a weekly email with three numbers. They'll read that.
Market
Technical founders overbuild
The architect designs a mansion when the customer needs a shed. Solve boring problems. Make money. Build interesting things on weekends.
Wisdom
10,000 users
At 10,000 users, every shortcut becomes visible. Database indices, caching strategy, and session management need to be right from day one. Everything else can wait.
Technical
The monolith starts right
Start with a monolith. Extract services when you understand boundaries. Every premature microservice is a distributed monolith with extra steps.
Technical
Default dead or default alive
Either you'll reach profitability before running out of money, or you won't. Most startups are default dead and pretending otherwise. Know your number.
Business
Support costs compound
Every feature creates support tickets. Support doesn't scale linearly, it compounds. Build self-service or hire support staff. Usually both.
Business
Your competitor's funding is not your emergency
They raised $50M. So what? While they're hiring 100 engineers, you're talking to customers. Cockroaches outlive unicorns.
Wisdom
Users lie in surveys, truth in clicks
Would you pay for it?" Absolutely. Six months later: zero revenue. Watch what they do, not what they say.
Market
Ship working software weekly
If you're not deploying weekly, you're not learning quickly enough. Break things in production where you'll actually fix them.
Process
Logs are written, not read
Gigabytes of logs. Nobody reads them until production is down. Then they're either too verbose to parse or too sparse to help. Log errors, not info. Log decisions, not data. Log why, not what. The log entry you need is always the one you didn't write. The one you wrote is noise.
Technical
Books are manna & honey
The Mythical Man-Month: Brooks was right about late projects in 1975, still right today. Getting Real: 37signals before they got weird. The Lean Startup: First half changes everything, second half is filler. Don't Make Me Think: Twenty years old, still the only UX book you need. The Phoenix Project: DevOps explained as a novel. Skip the derivatives. Read the originals.
Wisdom
The imposter syndrome epidemic
Every developer googles basic syntax. Every senior engineer forgets how promises work. Every architect has shipped spaghetti code. The difference between junior and senior isn't knowledge, it's knowing everyone else is googling too. The best developers aren't the smartest. They're the ones comfortable being confused.
People
Code reviews prevent fires
Not for style guides. Not for ego. For finding the delete statement without a where clause. The migration that drops the wrong table. The authentication bypass hiding in plain sight. Every production disaster started as an approved pull request. Review like the site will go down. Because it will.
Process
The Pinterest problem
Your designer's inspiration board has 500 pins. Gradients, animations, parallax everything. They're designing for Dribbble likes, not user tasks. Pretty doesn't convert. Clever doesn't scale. That award-winning interface users can't navigate? It's ego, not UX. Boring that works beats beautiful that doesn't.
Process
Build for skeptics
Early adopters will forgive bugs, skeptics won't. Enthusiasts will figure out workarounds, skeptics will quit. Design for the user who doesn't want to be there. If it works for them, it works for everyone. Your harshest critic is your best product manager.
Market
Hallucinations are features
Stop trying to make AI perfectly accurate. It won't be. Instead, build for fault tolerance. Human review for critical paths. Confidence scores for uncertain outputs. Multiple models for consensus. The companies winning with AI aren't eliminating hallucinations, they're designing around them.
Technical
Stop building, start asking
You've built for six months. Nobody's using it. You know why, but you're building more features instead. Every founder hides in code when they should be talking to users. The market doesn't care about your elegant architecture. Call ten customers before writing ten lines. The phone is scarier than the compiler but infinitely more valuable.
Wisdom
The runway lie
"18 months runway" assumes everything goes perfectly. Nobody mentions runway burns faster when you're desperate. Panic hiring. Panic marketing. Panic pivoting. That 18 months becomes 12, then 8, then you're raising a down round in month 6. Calculate runway at 1.5x your current burn. That's reality.
Business
Migrations never finish
Every migration takes 3x longer than planned. The old system stays alive twice as long as promised. There's always one critical report that only works in the legacy system. One customer workflow nobody documented. Plan for parallel systems or live with the mess. Usually both.
Technical
The perfect launch that nobody sees
Six months perfecting the product. Two weeks on ProductHunt prep. Custom launch video. Press release. Twitter campaign. Result: 50 signups, 3 paying customers. Meanwhile, the competitor with the broken MVP has 1000 customers. Distribution beats product. Always has.
Wisdom
The 90-day cliff
Enterprise training platforms lose 70% of users after day 90. Not because the content gets worse. Because the executive who championed it moved on to the next initiative. Platforms that survive build for this cliff: automated re-engagement, manager dashboards that create peer pressure, compliance tracking that makes usage mandatory.
Business
Three metrics
Weekly velocity: Are we shipping what we said? User feedback loops: Are real people using this? Technical debt ratio: Are we creating more problems than we're solving? Everything else is vanity. If you can't ship weekly, you're stuck. If users aren't responding, you're guessing. If debt is growing, you're dying slowly.
Business
Customer data lives forever
That field you deprecated still has data. That table you renamed is still referenced. That customer from 2019 still expects their workflow to work. That beta feature three people used is now load-bearing infrastructure. Delete nothing. Deprecate everything. Your database is a museum of every decision you've ever made.
Technical
Burnout ships bugs
The developer pushing 14-hour days isn't productive, they're accumulating errors. Tired minds write security holes. Exhausted teams ship broken features. The bug that takes three days to find takes 30 minutes with fresh eyes. Sustainable pace isn't weakness. It's how you ship quality for years, not sprints.
People
The feature request graveyard
Every feature request seems urgent until you build it. Then it sits unused while they request the next one. Features are emotional support for problems they haven't articulated. Find the problem behind the request. Build for that. Or just say no. Usually say no.
Market
Founders pivot, code doesn't
The marketplace becomes SaaS. The B2C play becomes B2B. The AI product becomes a consultancy. But that original marketplace code is still there, commented out, waiting. Every pivot leaves scar tissue. Your codebase is an archaeology of abandoned dreams.
Wisdom
VC money is a timer, not a prize
That $2M seed round isn't success, it's a countdown. You just promised 10x returns. The clock starts now. Every dollar raised is pressure to grow faster than organic physics allows. Most VC-backed startups don't fail from competition. They fail from growing themselves to death trying to justify valuations they never should have accepted.
Business
The curse of the ex-employee's code
That terrible code you're refactoring? Someone's best effort under impossible deadlines. The bizarre architecture? Made sense with constraints you'll never know. The developer who left wasn't incompetent. They were dealing with requirements, politics, and pressures that vanished with them. Judge code, not coders.
People
Price the outcome, not the hours
Hourly billing rewards slow work. Feature-based pricing rewards bloat. Time-and-materials contracts reward confusion. Price the business outcome instead. $15K to validate if this should exist. $100K to get your first paying customers. $250K to handle real scale. Fixed prices for fixed outcomes. Everything else is just renting developers.
Business
Revenue kills optionality
$10K MRR? Too early for VCs, too late for accelerators. $50K MRR growing 10% monthly? Lifestyle business. The worst place to be is making money but not enough. Either stay pre-revenue and sell the dream, or blow past $100K MRR fast. The middle is where fundable companies go to die.
Business
Export beats API
They say they want an API. They mean they want a CSV. The enterprise architect dreams of real-time integration. The analyst needs Excel. Build the API for the brochure. Build the export for the user. One gets you sold, the other gets you renewed.
Market
Technical debt has interest rates
Some debt is 3% — annoying but manageable. Some is 30% — crushing everything it touches. That abstraction that makes everything harder? High interest. The missing index? Low interest. Learn to recognize the difference. Pay down the credit cards, let the mortgage ride.
Process
The greenfield illusion
"If we could just start over..." No. You'll make different mistakes, not fewer mistakes. The old system has years of edge cases encoded in spaghetti. The new system will discover them one customer complaint at a time. Refactor the painful parts. Keep the parts that work. Boring but effective.
Process
Year two
Year one: teachers are excited, students are curious, investors are happy. Year two: the resistant teachers reveal the fatal flaw. You built for early adopters, not skeptics. Design for the teacher who's been doing this for 20 years and doesn't want to change. Make it work for them, the enthusiasts will be fine.
Business
Integration is where dreams die
Your beautiful API meets their legacy SOAP service. Your clean data model meets their Excel export from 2003. That "simple" Salesforce integration becomes a six-month project. Every external system is hostile. Every integration is a compromise. Plan for the integration to take longer than the feature.
Process
Cache invalidation is still hard
Phil Karlton was right: "There are only two hard things in Computer Science: cache invalidation and naming things." Twenty years later, still true. Every cache layer is a future consistency bug. Cache for seconds, not hours. Cache reads, not writes. When in doubt, let it be slow and correct.
Technical
The localhost illusion
It works on your machine with your 32GB RAM and fiber connection. Your users have 4GB and spotty 3G. That instant API response? Add three seconds of latency. That smooth animation? It stutters on their 5-year-old phone. Develop on the worst machine you can tolerate. That's your median user.
Technical
Teachers know before founders
That feature you think is brilliant? Teachers tried it five years ago. It didn't work then either. Listen to the teacher who's seen every edtech fad. They know why students actually don't do homework. They know why parents actually complain. They know what actually moves test scores.
Market
Search is expected, not appreciated
Nobody thanks you for search that works. Everyone complains when it doesn't. It's not a feature, it's plumbing. Users expect Google-quality results from your three-person team. Make it good enough or hide it completely. Mediocre search is worse than no search.
Market
B2B users aren't buyers
The person writing the check never uses the product. The person using it daily can't approve the purchase. Build features for users. Build PowerPoints for buyers. The sale happens in a boardroom showing screenshots. The renewal happens when employees actually use it.
Market
The free tier trap
Free users will consume 80% of support, contribute 0% of revenue, and complain the loudest. They'll never convert. They're not "potential customers," they're tourists. The free tier that was supposed to drive growth becomes the weight that prevents it. Charge from day one or accept you're running a charity.
Business
API versioning is forever
That v1 endpoint you deprecated three years ago? Still getting traffic. The partner who refuses to upgrade? They're your biggest customer. Every version is a promise you can't break. v2 doesn't replace v1, it sits beside it. Forever. Design v1 like you'll support it until retirement. You will.
Technical
Users aren't stupid, software is
When users can't find the button, the button's in the wrong place. When they use it wrong, the design taught them wrong. When they complain it's confusing, they're right. Every support ticket is a design failure. Every user error is a UX bug. Stop blaming users for your assumptions.
People
The last 10% takes 50%
The core feature works in a week. Making it production-ready takes a month. Error handling. Edge cases. Mobile responsive. Accessibility. Documentation. Tests. The feature is done when customers use it successfully, not when it works on your machine.
Process
Pilot programs that never scale
"Let's start with a pilot." Translation: let's stay small enough that nobody important notices if this fails. Six months later, the pilot's still running. The sponsor's moved on. The budget's frozen. Real success threatens too many people. Pilots are where enterprise innovation goes to die quietly.
Business
The compliance cliff
Healthcare tech dies at compliance. That simple patient reminder system needs HIPAA. The payment processing needs PCI. The clinical trial data needs 21 CFR Part 11. Each compliance requirement doubles complexity. Build compliance in or pivot to a different industry. There's no halfway.
Market