[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-categories-en":3,"blog-index-all-5-en":56,"blog-all-posts-en":158},[4,16,23,31,39,48],{"id":5,"parentId":6,"slug":7,"name":8,"description":9,"icon":10,"cover":11,"tone":12,"kind":13,"sortOrder":14,"count":15},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,20,{"id":17,"parentId":6,"slug":18,"name":19,"description":20,"icon":21,"cover":11,"tone":22,"kind":13,"sortOrder":15,"count":15},5,"industry-watch","Industry Watch","In-depth analysis of internet, software and digital industry trends with our own point of view.","globe","cyan",{"id":24,"parentId":6,"slug":25,"name":26,"description":27,"icon":28,"cover":11,"tone":29,"kind":13,"sortOrder":30,"count":15},4,"team-culture","Team and Culture","Company events, tech sharing, team building and hiring culture that show the daily life of the Jiayifangyuan team.","users","indigo",30,{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":37,"kind":13,"sortOrder":38,"count":15},3,"project-retrospective","Project Retrospectives","Real project records from zero to one, covering problems, solutions, lessons learned and final outcomes.","clipboard-check","teal",40,{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":45,"kind":13,"sortOrder":46,"count":47},2,"product-thinking","Product Thinking","Requirement analysis, user experience and product design methods, plus the thinking from business problems to product solutions.","lightbulb","slate",50,22,{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":55},1,"engineering","Engineering","Hands-on engineering practices in architecture, performance optimization, AI integration and cross-platform delivery from our R and D team.","cpu",60,24,{"language":57,"page":17,"pageSize":58,"total":59,"list":60},"en",9,126,[61,74,85,96,107,118,128,138,148],{"id":62,"slug":63,"title":64,"excerpt":65,"content":11,"cover":11,"tone":45,"author":66,"publishedAt":67,"updatedAt":67,"readingMinutes":49,"featured":68,"tags":69,"category":73},35,"frontend-monitoring-basics","Frontend Monitoring: Finding Out Before the White Screen","Users will not tell you the page is broken, they just leave. Monitoring has to be in place before launch.","佳益方圆团队","2026-08-18T14:05:00+08:00",false,[70,71,72],"Frontend","Monitoring","Operations",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":75,"slug":76,"title":77,"excerpt":78,"content":11,"cover":11,"tone":12,"author":66,"publishedAt":79,"updatedAt":79,"readingMinutes":49,"featured":68,"tags":80,"category":84},55,"empty-states-in-b2b","Empty States in B2B Products","The first thing a user sees is not a feature but a blank page. Empty states decide whether they can start.","2026-08-16T14:05:00+08:00",[81,82,83],"B2B","UX","Empty States",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":22,"kind":13,"sortOrder":46,"count":6},{"id":86,"slug":87,"title":88,"excerpt":89,"content":11,"cover":11,"tone":12,"author":66,"publishedAt":90,"updatedAt":91,"readingMinutes":49,"featured":68,"tags":92,"category":95},7,"dashboard-that-gets-used","Making Dashboards Actually Used: Three Design Principles","Dashboards usually fail not because the data is wrong, but because they only answer what happened and never answer what should I do now.","2026-08-15T09:00:00+08:00","2026-10-18T15:58:14.731+08:00",[93,94],"Data Products","Business Analysis",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":22,"kind":13,"sortOrder":46,"count":6},{"id":97,"slug":98,"title":99,"excerpt":100,"content":11,"cover":11,"tone":12,"author":66,"publishedAt":101,"updatedAt":101,"readingMinutes":49,"featured":68,"tags":102,"category":106},75,"dashboard-adoption-retro","Retrospective: A Dashboard Nobody Opened","The dashboard looked great and leadership applauded. Three months later its open rate was close to zero.","2026-08-14T14:05:00+08:00",[103,104,105],"Retrospective","Dashboard","Retail",{"id":32,"parentId":6,"slug":33,"name":34,"description":35,"icon":36,"cover":11,"tone":29,"kind":13,"sortOrder":38,"count":6},{"id":108,"slug":109,"title":110,"excerpt":111,"content":11,"cover":11,"tone":12,"author":66,"publishedAt":112,"updatedAt":112,"readingMinutes":49,"featured":68,"tags":113,"category":117},94,"tech-sharing-day","A Quarterly Tech Sharing Day","Thirty minutes a week is not always enough, so we take half a day, mute notifications and talk shop properly.","2026-08-12T14:05:00+08:00",[114,115,116],"Team Culture","Knowledge Sharing","Organisation",{"id":24,"parentId":6,"slug":25,"name":26,"description":27,"icon":28,"cover":11,"tone":37,"kind":13,"sortOrder":30,"count":6},{"id":119,"slug":120,"title":121,"excerpt":122,"content":11,"cover":11,"tone":45,"author":66,"publishedAt":123,"updatedAt":123,"readingMinutes":49,"featured":68,"tags":124,"category":127},113,"xinchuang-adapter-cost","The Real Cost of Xinchuang Adaptation","Migrating to domestic hardware and software costs more than the quote; half of it hides in details.","2026-08-10T14:05:00+08:00",[19,125,126],"Xinchuang","Migration",{"id":17,"parentId":6,"slug":18,"name":19,"description":20,"icon":21,"cover":11,"tone":45,"kind":13,"sortOrder":15,"count":6},{"id":129,"slug":130,"title":131,"excerpt":132,"content":11,"cover":11,"tone":12,"author":66,"publishedAt":133,"updatedAt":133,"readingMinutes":49,"featured":68,"tags":134,"category":137},15,"retro-of-a-failed-project","A Full Post-Mortem of a Project We Should Not Have Taken","Vague requirements, seven decision makers and a budget nowhere near the expectation. The project failed in slow motion.","2026-08-08T14:05:00+08:00",[135,136,103],"Startup","Failure",{"id":5,"parentId":6,"slug":7,"name":8,"description":9,"icon":10,"cover":11,"tone":12,"kind":13,"sortOrder":14,"count":6},{"id":139,"slug":140,"title":141,"excerpt":142,"content":11,"cover":11,"tone":22,"author":66,"publishedAt":143,"updatedAt":143,"readingMinutes":49,"featured":68,"tags":144,"category":147},36,"gray-release-for-smb","Gray Releases for Small and Mid-Sized Projects","Without heavy infrastructure, simple techniques still keep release risk under control.","2026-08-06T15:18:00+08:00",[145,72,146],"Releases","Risk",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6},{"id":149,"slug":150,"title":151,"excerpt":152,"content":11,"cover":11,"tone":22,"author":66,"publishedAt":153,"updatedAt":153,"readingMinutes":49,"featured":68,"tags":154,"category":157},56,"form-design-tradeoffs","Form Design: One Field Fewer, One Step More Completion","Every field has a cost. Designing a form means deciding which information is truly needed now.","2026-08-04T15:18:00+08:00",[155,156,81],"Forms","Product Design",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":22,"kind":13,"sortOrder":46,"count":6},{"language":57,"page":49,"pageSize":49,"total":59,"list":159},[160],{"id":30,"slug":161,"title":162,"excerpt":163,"content":11,"cover":11,"tone":22,"author":66,"publishedAt":164,"updatedAt":164,"readingMinutes":49,"featured":68,"tags":165,"category":168},"integration-api-pitfalls","Five Traps in Enterprise System Integration","However complete the API documentation is, integration usually stalls on field semantics, timeouts and repeated pushes.","2026-10-17T09:00:00+08:00",[166,167,51],"Integration","APIs",{"id":49,"parentId":6,"slug":50,"name":51,"description":52,"icon":53,"cover":11,"tone":12,"kind":13,"sortOrder":54,"count":6}]