[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-categories-en":3,"blog-all-posts-en":56,"blog-index-product-thinking-2-en":71},[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":49,"pageSize":49,"total":58,"list":59},"en",126,[60],{"id":30,"slug":61,"title":62,"excerpt":63,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":65,"updatedAt":65,"readingMinutes":49,"featured":66,"tags":67,"category":70},"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",false,[68,69,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},{"language":57,"page":40,"pageSize":72,"total":47,"list":73},9,[74,85,95,106,116,127,137,147,157],{"id":75,"slug":76,"title":77,"excerpt":78,"content":11,"cover":11,"tone":29,"author":64,"publishedAt":79,"updatedAt":79,"readingMinutes":49,"featured":66,"tags":80,"category":84},57,"approval-flow-design","Approval Flows: Do Not Turn Organisational Problems Into Software Problems","Overlong approval chains usually reflect unclear authority, not poor workflow design.","2026-07-23T16:31:00+08:00",[81,82,83],"Approvals","Workflow","Product Design",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6},{"id":86,"slug":87,"title":88,"excerpt":89,"content":11,"cover":11,"tone":37,"author":64,"publishedAt":90,"updatedAt":90,"readingMinutes":49,"featured":66,"tags":91,"category":94},58,"dashboard-metric-definition","Dashboards: Define the Metric Before Showing the Number","The same 'customer count' can mean three different things to sales, finance and operations.","2026-07-11T09:44:00+08:00",[92,93,83],"Dashboards","Metrics",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6},{"id":96,"slug":97,"title":98,"excerpt":99,"content":11,"cover":11,"tone":45,"author":64,"publishedAt":100,"updatedAt":100,"readingMinutes":49,"featured":66,"tags":101,"category":105},59,"ai-feature-positioning","Positioning an AI Feature","Treating a large model as a universal assistant usually produces features nobody uses. Start from a specific task.","2026-06-29T10:57:00+08:00",[102,103,104],"AI","Positioning","Adoption",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6},{"id":54,"slug":107,"title":108,"excerpt":109,"content":11,"cover":11,"tone":12,"author":64,"publishedAt":110,"updatedAt":110,"readingMinutes":49,"featured":66,"tags":111,"category":115},"pricing-tiers-design","Designing Pricing Tiers","Tiers are not random feature buckets. They should let a client recognise which one they belong to.","2026-06-17T11:10:00+08:00",[112,113,114],"Pricing","Commercial","Product",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6},{"id":117,"slug":118,"title":119,"excerpt":120,"content":11,"cover":11,"tone":29,"author":64,"publishedAt":121,"updatedAt":121,"readingMinutes":49,"featured":66,"tags":122,"category":126},61,"requirement-priority","Prioritisation: The Loudest Voice Is Not the Most Important","Priority should follow reach and criticality, not the seniority of whoever asks.","2026-06-05T12:23:00+08:00",[123,124,125],"Requirements","Prioritisation","Delivery",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6},{"id":128,"slug":129,"title":130,"excerpt":131,"content":11,"cover":11,"tone":37,"author":64,"publishedAt":132,"updatedAt":132,"readingMinutes":49,"featured":66,"tags":133,"category":136},62,"cheap-usability-testing","Cheap Ways to Run Usability Tests","No lab and no eye tracker needed. Five people, one laptop and an hour reveal most problems.","2026-05-24T13:36:00+08:00",[134,135,114],"Usability","Research",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6},{"id":138,"slug":139,"title":140,"excerpt":141,"content":11,"cover":11,"tone":22,"author":64,"publishedAt":142,"updatedAt":142,"readingMinutes":49,"featured":66,"tags":143,"category":146},63,"error-message-audience","Who Is the Error Message Written For?","'Operation failed, please retry' is the least useful message there is. Users need to know what happened and what they can do.","2026-05-12T14:49:00+08:00",[144,145,83],"Errors","UX",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6},{"id":148,"slug":149,"title":150,"excerpt":151,"content":11,"cover":11,"tone":45,"author":64,"publishedAt":152,"updatedAt":152,"readingMinutes":49,"featured":66,"tags":153,"category":156},64,"multilingual-product-costs","The Hidden Cost of a Multilingual Product","Translating the interface into English is only the beginning. The real cost sits in content, formats and business flows.","2026-04-30T15:02:00+08:00",[154,114,155],"Multilingual","i18n",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6},{"id":158,"slug":159,"title":160,"excerpt":161,"content":11,"cover":11,"tone":12,"author":64,"publishedAt":162,"updatedAt":162,"readingMinutes":49,"featured":66,"tags":163,"category":166},65,"mobile-context-first","Mobile Context Decides the Interaction","Moving admin features onto phones does not start with shrinking the screen, but with understanding where users open it.","2026-04-18T16:15:00+08:00",[164,165,83],"Mobile","Context",{"id":40,"parentId":6,"slug":41,"name":42,"description":43,"icon":44,"cover":11,"tone":12,"kind":13,"sortOrder":46,"count":6}]