Founder Notes · Published September 25, 2026
Three Lessons From Our First Client
Our first project in 2019 was worth thirty thousand yuan and taught us more about contracts, acceptance and honesty than any course.
Our first order came from an acquaintance: a marketing site with a small admin panel, thirty thousand yuan. There were three of us, and we signed a two-page contract because we wanted a project more than we wanted protection.
1. A friendly introduction is not a contract
The scope grew in conversation, from a brochure site to a mini platform with members and payments, while the budget stayed put. With no scope clause we spent the project explaining ourselves, and nobody ended up happy.
Since then every contract lists scope, change process and acceptance criteria. It is twice as long and far cheaper to discuss.
2. Acceptance criteria come before the first line of code
That client waited two months after launch to say something felt off, without being able to say what. Without verifiable criteria, rework has no bottom.
Today we split acceptance into a feature list, performance targets and a content checklist, and confirm them item by item.
3. Say the hard things early
We told that client what we could do, what we advised against and what would cost extra. They trusted us more, not less, and later introduced two more projects.
The profit on that first order was negative. The lessons were not. It shaped almost everything we do on projects since.
← Previous post
Two New Trends in Local Software Budgets
Next post →
Mini Program or App? Start with Where the Business Happens
Want to apply these ideas to your project?
We are happy to go deeper into implementation details, or to discuss the specific questions you are facing.
Start a conversation →