[{"data":1,"prerenderedAt":262},["ShallowReactive",2],{"blog-post-en-cityos-vatandas-bildirim-sistemi":3,"blog-siblings-en-cityos-vatandas-bildirim-sistemi":99},{"id":4,"title":5,"author":6,"body":7,"category":82,"cover":83,"date":84,"description":85,"draft":86,"extension":87,"meta":88,"navigation":89,"path":90,"readingTime":91,"seo":92,"stem":93,"tags":94,"__hash__":98},"blog_en\u002Fen\u002Fblog\u002Fcityos-vatandas-bildirim-sistemi.md","Designing a citizen reporting system from scratch","Codifya",{"type":8,"value":9,"toc":72},"minimark",[10,14,17,22,25,29,32,40,44,47,54,58,61,65],[11,12,13],"p",{},"Citizen reporting is one of the most visible service metrics for a municipality — and usually one of the weakest operationally. Call center, social media, mobile app: each channel tends to live in its own silo.",[11,15,16],{},"When designing CityOS's reporting module, we set out to solve three core problems.",[18,19,21],"h2",{"id":20},"_1-a-unified-queue","1. A unified queue",[11,23,24],{},"Which channel a citizen used — phone, mobile app, web — should be a detail the assignee doesn't have to think about. CityOS pipes every channel into one queue; the assigned report looks the same regardless of source.",[18,26,28],{"id":27},"_2-auto-classification-but-overridable","2. Auto-classification, but overridable",[11,30,31],{},"Whether a report is \"park maintenance\" or \"road maintenance\" is obvious in roughly 80% of cases. The remaining 20% needs a human.",[11,33,34,35,39],{},"CityOS auto-classifies the incoming report, but the assignee can always change the category. That small detail — ",[36,37,38],"em",{},"\"AI suggested it, but you have the final say\""," — dramatically increases acceptance.",[18,41,43],{"id":42},"_3-live-updates-for-the-citizen","3. Live updates for the citizen",[11,45,46],{},"When the internal process completes, push notifications are the fastest way to tell the citizen. But which step should we notify? Assigned, in-progress, completed?",[11,48,49,50,53],{},"Three pilot municipalities tested it and the result was clear: a single notification — ",[36,51,52],{},"\"Your report is complete\""," — produced higher satisfaction than multiple updates. Notifying every step felt like nagging.",[18,55,57],{"id":56},"the-invisible-part-gdprkvkk","The invisible part: GDPR\u002FKVKK",[11,59,60],{},"Separating identity from report content, enabling audit log from day one, and minimizing personal data — all standard. This is the most expensive layer to add later.",[18,62,64],{"id":63},"takeaway","Takeaway",[11,66,67,68,71],{},"A reporting system requires far more decisions than it appears to. CityOS's module is a concrete application of the ",[36,69,70],{},"less clicking, more clarity"," principle.",{"title":73,"searchDepth":74,"depth":74,"links":75},"",3,[76,78,79,80,81],{"id":20,"depth":77,"text":21},2,{"id":27,"depth":77,"text":28},{"id":42,"depth":77,"text":43},{"id":56,"depth":77,"text":57},{"id":63,"depth":77,"text":64},"CityOS",null,"2026-04-22","What questions did we ask while designing CityOS's reporting module? Three points where municipal workflows tend to break, and the answers we built.",false,"md",{},true,"\u002Fen\u002Fblog\u002Fcityos-vatandas-bildirim-sistemi",7,{"title":5,"description":85},"en\u002Fblog\u002Fcityos-vatandas-bildirim-sistemi",[95,96,97],"public sector","product design","workflow","NPgZezqxZi8KgQ0XrRLvamU8IRsYrBEWgcwiJc-PNbg",{"prev":100,"next":182},{"id":101,"title":102,"author":6,"body":103,"category":168,"cover":83,"date":169,"description":170,"draft":86,"extension":87,"meta":171,"navigation":89,"path":172,"readingTime":173,"seo":174,"stem":175,"tags":176,"__hash__":181},"blog_en\u002Fen\u002Fblog\u002Fbarbershop-appointment-intervals.md","What we learned from 850 barbershops about appointment intervals",{"type":8,"value":104,"toc":163},[105,112,116,123,130,134,137,153,156,160],[11,106,107,108],{},"We examined appointment data from over 850 barbershops using BerberBul. The question was simple: ",[109,110,111],"strong",{},"what is the most productive appointment interval?",[18,113,115],{"id":114},"findings","Findings",[11,117,118,119,122],{},"The highest average occupancy rate was among barbers working with ",[109,120,121],{},"35-minute intervals",". Shops using intervals under 30 minutes saw lower customer satisfaction — especially with services that include hair washing. Shops with intervals above 45 minutes had reduced daily capacity.",[11,124,125,126,129],{},"Unexpected finding: ",[109,127,128],{},"the day before Sunday"," (Saturday) was the busiest. But the most productive day was Tuesday. Tuesday's average occupancy was 82%, while Saturday was 67% — busier but less profitable because wait times stretched.",[18,131,133],{"id":132},"what-we-recommend","What we recommend",[11,135,136],{},"Two solutions for Saturday:",[138,139,140,147],"ol",{},[141,142,143,146],"li",{},[109,144,145],{},"Move earlier appointments to Saturday morning"," — 09:00-11:00 has the highest booking rate.",[141,148,149,152],{},[109,150,151],{},"Use time blocks"," — instead of 30-minute slots, use 45-minute \"peak period blocks.\"",[11,154,155],{},"Barber shops using BerberBul's automatic conflict detection with this kind of planning see 23% lower cancellation rates.",[18,157,159],{"id":158},"the-real-lesson-from-the-data","The real lesson from the data",[11,161,162],{},"Appointment system design varies by barbershop physical capacity and staff experience. There's no single right answer; but with the right data, each business can find its own. BerberBul makes this measurable.",{"title":73,"searchDepth":74,"depth":74,"links":164},[165,166,167],{"id":114,"depth":77,"text":115},{"id":132,"depth":77,"text":133},{"id":158,"depth":77,"text":159},"BerberBul","2026-05-02","We analyzed appointment behavior from 850+ barbershops on BerberBul. The optimal interval turned out to be different from what most shops assumed.",{},"\u002Fen\u002Fblog\u002Fbarbershop-appointment-intervals",5,{"title":102,"description":170},"en\u002Fblog\u002Fbarbershop-appointment-intervals",[177,178,179,180],"data","operations","scheduling","insights","ag4fwhZ8V1QMliIrvt7N4fp8E0Bt3ohDCPlqN42xjNY",{"id":183,"title":184,"author":6,"body":185,"category":82,"cover":83,"date":251,"description":252,"draft":86,"extension":87,"meta":253,"navigation":89,"path":254,"readingTime":91,"seo":255,"stem":256,"tags":257,"__hash__":261},"blog_en\u002Fen\u002Fblog\u002Fcityos-40000-reports-case.md","CityOS in a district of 180,000: 6 months, 40,000 tickets",{"type":8,"value":186,"toc":245},[187,190,194,197,200,204,207,210,214,217,223,229,235,239,242],[11,188,189],{},"In January 2026, a district in Antalya deployed CityOS. By June, over 40,000 reports had been received and resolved. Beyond the numbers, the most valuable lessons from this period:",[18,191,193],{"id":192},"process-first-software-second","Process first, software second",[11,195,196],{},"The mayor's first question in the initial meeting wasn't about software features: \"How do we not reduce the permanent staff count?\" This was the right question. If they'd adopted CityOS just to \"collect reports faster,\" it would have been the same as the old system.",[11,198,199],{},"The solution: instead of an agent chasing reports, build a team that meets reports in the field. 12 street representatives in the city center, each responsible for 4 neighborhoods. Every morning their mobile app shows daily routes.",[18,201,203],{"id":202},"finding-category-matters-more-than-volume","Finding: category matters more than volume",[11,205,206],{},"In the first two months, the top report type was \"pothole.\" An analysis revealed that 600 of 1,000 potholes were in the same heatmap — an area with heavy winter rainfall and old infrastructure.",[11,208,209],{},"When CityOS's reporting view started showing the mayor \"the source of the problem,\" it transformed from a routine request handler into a decision-support tool.",[18,211,213],{"id":212},"three-slowdown-points","Three slowdown points",[11,215,216],{},"As with any system, three points caused delays:",[11,218,219,222],{},[109,220,221],{},"1. Vehicle assignment:"," Directing a report to the field is the most critical step. Average wait time was 4 hours. A rotation algorithm was developed to bring this down to 90 minutes.",[11,224,225,228],{},[109,226,227],{},"2. Citizen feedback:"," There was no \"what happened\" response to the citizen who filed the report. A closed-loop notification was added: \"Your request was received → team dispatched → resolved.\"",[11,230,231,234],{},[109,232,233],{},"3. Neighborhood headmen (muhtars):"," The headmen were outside the system. After giving them read access, they started checking before complaints even arrived.",[18,236,238],{"id":237},"outcome","Outcome",[11,240,241],{},"Of 40,000 reports in 6 months, 94% were resolved within 14 days. The municipality's own data shows this was 61% in the old system. The difference wasn't in the technology; it was in how the team receiving reports was designed.",[11,243,244],{},"CityOS became a tool that helped the municipality rethink its own internal processes. The software didn't solve the problem — it made the problem visible.",{"title":73,"searchDepth":74,"depth":74,"links":246},[247,248,249,250],{"id":192,"depth":77,"text":193},{"id":202,"depth":77,"text":203},{"id":212,"depth":77,"text":213},{"id":237,"depth":77,"text":238},"2026-04-20","How a district municipality managed 40,000 citizen reports in 6 months with CityOS. The design decisions that determined success — not the technology.",{},"\u002Fen\u002Fblog\u002Fcityos-40000-reports-case",{"title":184,"description":252},"en\u002Fblog\u002Fcityos-40000-reports-case",[258,259,260,178],"case study","municipality","citizen engagement","Nd-D3hXbvFQLP_puK3e6rgBun6y2UllB94Ph5wgmAaI",1781523775280]