Filter Projects with Head and Heart | Generated by AI
Acknowledging Your Experience
First off, thanks for sharing the details of your time at Beijing Square Root Inc.—it sounds like a rollercoaster of highs and lows. Building Fun Live from scratch, hitting 30k users and millions of views with that tech stack (PHP, Vue, Redis, WeChat integration—impressive engineering under pressure), and then pivoting to consulting where you delivered 50 projects, including standouts like MianbaoLive’s Laravel refactor and the Super Brain Mini Program… that’s a solid track record. The revenue and profit numbers speak to real impact, especially while juggling negotiation, management, and hands-on dev. But yeah, those “not good” projects with low budgets, impatient clients from traditional industries, and brutal timelines? They’re the soul-crushers that make you question why you signed up. It’s super common in consulting—I’ve heard similar war stories from devs everywhere. The regret hits hard because they drain energy without proportional reward.
The Quote and Its Wisdom
You’re spot on with that reference (I think “pamra” is Marc Andreessen’s old handle, pmarca). In his 2007 “Guide to Personal Productivity,” he shares: “Only agree to new commitments when both your head and your heart say yes.” He credits it to producer Robert Evans, emphasizing that gut-check as a filter for everything from meetings to projects. It’s a simple but brutal rule—head for the logic (budget, scope, risks), heart for the excitement (do they get you? Will this light you up?). In consulting, ignoring either leads straight to those intense, mismatched gigs. Founders like Andreessen live by it to avoid opportunity costs on crap that doesn’t align.
How to Avoid (or Fire) the Bad Ones Moving Forward
The good news? You can build a system to spot and sidestep these traps early. It’s about proactive screening, boundaries, and a “no” muscle. Here’s a practical playbook, drawn from common dev consulting pitfalls:
1. Qualify Ruthlessly in the Sales Process
- Ask probing questions upfront: Before any proposal, grill them on budget (“What’s your range for this?”), timeline (“Why this deadline—regulatory? Market?”), and decision-making (“Who signs off on changes? How involved will you be?”). Traditional industry folks often lowball because they undervalue engineering (e.g., thinking a website is “just a brochure”). If their answers scream “impatient” or “clueless” (vague specs, “we’ll figure it out later”), walk.
- Red flags to dodge:
- Cheapskate vibes: They haggle on your day rate or push for “fixed price” without clear scope—leads to scope creep hell.
- No follow-through: They ghost on providing assets/docs or change requirements mid-call.
- Unrealistic expectations: “Build an app like TikTok in 2 weeks” from someone who doesn’t grasp MVPs or tech debt.
- Micromanagement hints: “I want daily updates” or “Why can’t it be like [competitor] exactly?” without understanding trade-offs.
- Pro tip: Use a “client intake form” (Google Form or Typeform) to filter leads. It weeds out tire-kickers and gives you ammo for the heart/head check.
2. Lock in Protections with Contracts and Milestones
- Even if your head says yes, protect your heart: Always use a solid contract with phased payments (e.g., 30% upfront, 40% at MVP, 30% delivery), clear scope/change order clauses, and kill fees for early termination. For intense timelines, build in buffers and penalty clauses for client delays.
- In China (or globally), reference frameworks like those from the China Software Industry Association for standard terms. This forces clarity—bad clients balk at details because they thrive on ambiguity.
3. Build Toward Ideal Clients
- Target who excites you: Shift to tech-savvy sectors (e.g., edtech like Fun Live, or media like Super Brain) where clients respect engineering. Network on LinkedIn/WeChat groups for startups, or contribute to open-source (love that you OSS’d your Fun Live repos—leverage that for inbound leads).
- Say no like a boss: Practice the Evans rule daily. For borderline cases, sleep on it: If your gut twists, it’s a no. Remember, one bad project can tank months of momentum; one good one builds referrals.
- Fire if needed: If you’re mid-project and it’s souring (e.g., non-payment, endless revisions), invoke the contract and exit. It’s not failure—it’s self-preservation. As one consultant put it, “There’s no scarcity of work; bad clients are just not worth the headache.”
4. Long-Term Mindset Shift
- Track your wins/losses: After each project, note what drained vs. energized you. Over time, this refines your intuition.
- Invest in yourself: With your full-stack chops (Laravel, Spring, Redis/Kafka, WeChat Mini Programs), consider productizing services (e.g., “Live streaming backend audits” like MianbaoLive) to attract better fits. Or go indie/full-time consulting with a niche—fewer clients, higher rates, less drama.
- Community hack: Forums like Reddit’s r/consulting or Chinese dev circles (e.g., on Zhihu) are gold for venting and tips. Many swear by the “heart + head” filter as their north star.
You’ve already got the skills and proof points to command better—those regrets are just tuition for the next level. Next time a traditional-industry pitch lands with a suspiciously low budget, channel that Evans vibe: Head scans the risks, heart asks if it’d make you proud. If not both? Politely pass and chase the ones that do. What’s one red flag from your past gigs you’d add to the list?
References
- Pmarca Guide to Personal Productivity
- How to Avoid Bad Clients: 12 Red Flags
- Fire Bad Clients - The Effective Consultant Series
- How to Deal with Difficult Consulting Clients