[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-cash-flow-before-margin-en":3,"blog-adjacent-cash-flow-before-margin-en":30,"blog-related-cash-flow-before-margin-en":64},{"id":4,"slug":5,"title":6,"excerpt":7,"content":8,"cover":9,"tone":10,"author":11,"publishedAt":12,"updatedAt":12,"readingMinutes":13,"featured":14,"tags":15,"category":19,"seoSettings":29},13,"cash-flow-before-margin","Cash Flow Beats Margin","Margin is a number in the ledger; cash flow decides whether the company survives to the next payment.","\u003Cp>Project businesses share one weakness: no money when busy, less money when idle. The books look healthy, but salaries are monthly, suppliers want terms, and clients pay after acceptance.\u003C\u002Fp>\n\u003Ch2>The quarter we learned from\u003C\u002Fh2>\n\u003Cp>We once ran four projects at once and grew to twelve people. Work was moving, but every acceptance landed in December and three months of payroll came out of pocket.\u003C\u002Fp>\n\u003Cp>Since then, every new project is judged on two numbers before kickoff: the deposit ratio and the payment milestones.\u003C\u002Fp>\n\u003Ch2>Three rules we keep\u003C\u002Fh2>\n\u003Cp>Thirty percent on signing, forty at mid-term acceptance, thirty at final acceptance. The split is negotiable; a zero deposit is not.\u003C\u002Fp>\n\u003Cp>A monthly cash forecast separates invoiced-but-unpaid from accepted-but-uninvoiced, and any item past thirty days belongs to an owner.\u003C\u002Fp>\n\u003Cp>Three months of fixed costs stay in the account, no matter how large an order looks.\u003C\u002Fp>\n\u003Cp>Margin decides how far the company can go. Cash flow decides whether it gets to tomorrow.\u003C\u002Fp>","","teal","佳益方圆团队","2026-09-01T12:39:00+08:00",1,false,[16,17,18],"Startup","Cash Flow","Operations",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},6,0,"founder-notes","Founder Notes","Reflections from the founding team on business, management and product, documenting the growth of a software company.","pen-tool","blue","article",10,{},{"previous":31,"next":48},{"id":32,"slug":33,"title":34,"excerpt":35,"content":9,"cover":9,"tone":36,"author":11,"publishedAt":37,"updatedAt":37,"readingMinutes":13,"featured":14,"tags":38,"category":42},111,"ai-adoption-reality","AI in Practice: From Demos to Production","AI demos impress, yet production usage stays low. Where is the gap?","indigo","2026-09-03T12:39:00+08:00",[39,40,41],"Industry Watch","AI","Adoption",{"id":43,"parentId":21,"slug":44,"name":39,"description":45,"icon":46,"cover":9,"tone":26,"kind":27,"sortOrder":47,"count":21},5,"industry-watch","In-depth analysis of internet, software and digital industry trends with our own point of view.","globe",20,{"id":49,"slug":50,"title":51,"excerpt":52,"content":9,"cover":9,"tone":26,"author":11,"publishedAt":53,"updatedAt":53,"readingMinutes":13,"featured":14,"tags":54,"category":58},34,"nuxt-ssr-cache-strategy","Caching and First Paint in Nuxt SSR","Server rendering is not automatically fast. First paint depends on how requests are organised, not on the rendering mode.","2026-08-30T13:52:00+08:00",[55,56,57],"Nuxt","SSR","Performance",{"id":13,"parentId":21,"slug":59,"name":60,"description":61,"icon":62,"cover":9,"tone":26,"kind":27,"sortOrder":63,"count":21},"engineering","Engineering","Hands-on engineering practices in architecture, performance optimization, AI integration and cross-platform delivery from our R and D team.","cpu",60,[65,74,85],{"id":28,"slug":66,"title":67,"excerpt":68,"content":9,"cover":9,"tone":26,"author":11,"publishedAt":69,"updatedAt":69,"readingMinutes":13,"featured":14,"tags":70,"category":73},"quote-by-scope-not-hours","Why We Quote by Scope, Not by Man-Days","Man-day pricing looks fair, but it pushes every uncertainty onto the client. We would rather agree on scope and assumptions first, then talk about money.","2026-10-07T09:00:00+08:00",[16,71,72],"Pricing","Partnership",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},{"id":75,"slug":76,"title":77,"excerpt":78,"content":9,"cover":9,"tone":79,"author":11,"publishedAt":80,"updatedAt":80,"readingMinutes":13,"featured":14,"tags":81,"category":84},11,"three-lessons-from-first-client","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.","cyan","2026-09-25T10:13:00+08:00",[16,82,83],"Client","Contract",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},{"id":86,"slug":87,"title":88,"excerpt":89,"content":9,"cover":9,"tone":36,"author":11,"publishedAt":90,"updatedAt":90,"readingMinutes":13,"featured":14,"tags":91,"category":94},12,"choosing-clients-not-deals","Choosing Clients Matters More Than Choosing Projects","The same contract can grow a team or drain it. We now screen clients with three questions.","2026-09-13T11:26:00+08:00",[16,92,93],"Clients","Judgement",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21}]