[{"data":1,"prerenderedAt":706},["ShallowReactive",2],{"survey-list-en":3,"survey-en-wick-manufacturer":684},[4,199,392,518,551,584,617,650],{"id":5,"title":6,"body":7,"came":173,"decisions":174,"description":173,"draft":175,"examined":176,"extension":177,"media":178,"mediaAlt":183,"mediaNote":188,"meta":189,"navigation":190,"order":191,"path":192,"scale":193,"seo":194,"stem":195,"techLink":196,"techniques":197,"__hash__":198},"survey_en\u002Fen\u002Fsurvey\u002Ffresh-beverage-producer.md","Fresh beverage producer",{"type":8,"value":9,"toc":166},"minimark",[10,15,19,22,26,49,56,70,81,100,104],[11,12,14],"h2",{"id":13},"where-i-looked","Where I looked",[16,17,18],"p",{},"The current site was built on a ready-made theme and plugins. I compared its\nstate with competitors' order flows: its weakest points were legal\ninformation and the order flow. Its strength was in place: same-city morning\ndelivery and a ready subscription model.",[16,20,21],{},"The catalogue is small but the rules are many: production is daily, delivery\ngoes only to certain areas in a morning time slot, Sunday is closed, the\nearliest delivery is two days out. Off-the-shelf e-commerce patterns\nstruggled to carry these rules. And every morning the business was looking\nfor the same answer: how many bottles to prepare today, which address they go\nto, which payment is pending.",[11,23,25],{"id":24},"what-i-did-and-delivered","What I did and delivered",[27,28,29,37,43],"ul",{},[30,31,32,36],"li",{},[33,34,35],"strong",{},"State review and comparison."," A review of the current site and the\ncompetitors, and a one-page summary of the same findings without\nmeasurement jargon.",[30,38,39,42],{},[33,40,41],{},"Design system."," Colour, type, spacing and components came first; pages\nwere assembled from them. Screens that were never drawn separately (sign-up,\nmember dashboard) could be built straight from the system.",[30,44,45,48],{},[33,46,47],{},"Storefront and checkout."," The home page; a product page with a delivery\nday picker, ingredients, nutrition, allergens and FAQ; a question dialog\nthat keeps the product context; the cart and the front end of a three-step\ncheckout.",[50,51],"case-figure",{"caption":52,"src":53,":tall":54,"side":55},"Product page: ingredients, nutrition (analysis pending), allergens and FAQ.","media\u002Fbeverage\u002F04-urun-detay-icerik.webp","true","right",[27,57,58,64],{},[30,59,60,63],{},[33,61,62],{},"Accounts and member dashboard."," Sign-in, sign-up, password reset; past\norders, personal coupons, campaigns and addresses on the dashboard. \"Order\nagain\" and \"write a review\" for delivered orders.",[30,65,66,69],{},[33,67,68],{},"Admin panel, first phase."," A \"Today\" screen, order list and detail:\nadvancing status, confirming bank transfers, cancelling, notes, export.",[71,72,73,77],"case-figures",{},[50,74],{"caption":75,"src":76},"Cart: quantity, coupon and order summary.","media\u002Fbeverage\u002F06-sepet.webp",[50,78],{"caption":79,"src":80},"Member dashboard: last order, personal coupon, campaigns.","media\u002Fbeverage\u002F10-uye-panosu.webp",[71,82,84,88,92,96],{":phones":54,"cols":83},4,[50,85],{"caption":86,"src":87,":phone":54},"Opening on a phone.","media\u002Fbeverage\u002Fm01-ana-sayfa.webp",[50,89],{"caption":90,"src":91,":phone":54},"Product page.","media\u002Fbeverage\u002Fm03-urun-detay.webp",[50,93],{"caption":94,"src":95,":phone":54},"Cart with a sticky total bar.","media\u002Fbeverage\u002Fm04-sepet.webp",[50,97],{"caption":98,"src":99,":phone":54},"Delivery day and time slot.","media\u002Fbeverage\u002Fm05-teslimat.webp",[11,101,103],{"id":102},"decisions","Decisions",[27,105,106,112,118,124,130,136,142,148,154,160],{},[30,107,108,111],{},[33,109,110],{},"Small catalogue, big operation."," Rather than classic e-commerce for a\nhandful of packs, I focused on two parts: a storefront that leads to the\nsale and a panel that runs the operation.",[30,113,114,117],{},[33,115,116],{},"From scratch, light."," A small build that keeps performance and\nmaintenance in hand, instead of the weight of a theme and plugins.",[30,119,120,123],{},[33,121,122],{},"Delivery day on the product page."," If customers learn the delivery limits\nat checkout, they abandon the cart. Area, day and time slot are chosen on the\nproduct page; an unserved area triggers a warning at once. Date rules live\nin one place and use the business's time zone.",[30,125,126,129],{},[33,127,128],{},"Three-step checkout, no account needed."," Cart, delivery, payment. Legal\nconsents are separate and required; marketing consent is separate and\noptional.",[30,131,132,135],{},[33,133,134],{},"Regulation is an acceptance criterion, not an add-on."," KVKK notice,\ncookie preferences, distance selling and pre-contract information,\nVAT-inclusive prices, food label fields and seller details were designed as\nsteps of the flow.",[30,137,138,141],{},[33,139,140],{},"Not inventing missing data."," Without a lab analysis the nutrition table\nsays \"analysis pending\"; without reviews it says \"no reviews yet\". No fake\nratings or numbers.",[30,143,144,147],{},[33,145,146],{},"The right price lives on the server."," The on-screen calculation only\nupdates the summary; the server decides the amount. Coupon conditions are\nchecked on the server too.",[30,149,150,153],{},[33,151,152],{},"The \"Today\" screen."," The panel opens with the day's order, bottle and\naddress counts; pending transfers and missing legal texts come first; orders\nare grouped by time slot and advance with one click.",[30,155,156,159],{},[33,157,158],{},"Managing scope with a cut line."," What would not make the first release\nwas written down at the start: subscriptions, build-your-own packs and\nreview moderation moved to a later phase.",[30,161,162,165],{},[33,163,164],{},"Handover-ready code."," Working documents and secrets were kept out of the\ncode.",{"title":167,"searchDepth":168,"depth":168,"links":169},"",2,[170,171,172],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},"An order site built on a ready-made theme and plugins that could not carry the rules of daily production and morning delivery.","Not classic e-commerce for a narrow range, but a storefront that leads to the sale and a panel that runs the day; a light build from scratch instead of a theme. The delivery day is chosen on the product page, checkout is three steps without an account. Scope was narrowed with cut lines; subscriptions and build-your-own packs moved to a later phase.",false,"The state of the current site, competitors' order flows, delivery rules (area, day, time slot), regulatory gaps (KVKK, distance selling, food labelling) and the business's operational needs every morning.","md",[179,180,181,182],"media\u002Fbeverage\u002F01-ana-sayfa-acilis.webp","media\u002Fbeverage\u002F03-urun-detay.webp","media\u002Fbeverage\u002F07-teslimat.webp","media\u002Fbeverage\u002F13-yonetim-bugun.webp",[184,185,186,187],"Home page opening: three bottles and a choose-your-pack button","Product page: pack, district, delivery day and time slot selection","Delivery step of checkout: contact and address form, order summary alongside","Admin panel \"Today\" screen: the day's orders grouped by time slot","Local demo build, not yet live. Brand, labels and location details are blurred; people, orders and contact details are made up.",{},true,1,"\u002Fen\u002Fsurvey\u002Ffresh-beverage-producer","D2C · narrow product range",{"title":6,"description":173},"en\u002Fsurvey\u002Ffresh-beverage-producer",null,"Laravel, Blade, Alpine.js, Tailwind, Vue + Inertia (panel), design system, delivery day and time slot rules, Pest.","1-85u1ZLj-O4ZNLQj8gd6doILrNz9Z2oFqpUhti1ClE",{"id":200,"title":201,"body":202,"came":370,"decisions":371,"description":372,"draft":175,"examined":373,"extension":177,"media":374,"mediaAlt":379,"mediaNote":384,"meta":385,"navigation":190,"order":168,"path":386,"scale":387,"seo":388,"stem":389,"techLink":196,"techniques":390,"__hash__":391},"survey_en\u002Fen\u002Fsurvey\u002Frestaurant-ordering.md","Fast-food restaurant",{"type":8,"value":203,"toc":365},[204,206,209,212,214,217,225,229,237,255,259,267,271,275,285,295,297],[11,205,14],{"id":13},[16,207,208],{},"Orders were scattered across phone, messaging and delivery platforms. A\ncustomer eating in the restaurant saw the same price as one ordering home;\nthere was no way to manage table and leaflet prices separately. The night\nshift was long and busy; a missed order meant a lost customer.",[16,210,211],{},"Most customers arrived from a phone, scanning a QR code on a table or a\nleaflet. So I looked at two sides: a fast menu and a simple checkout for the\nuser coming from a QR code, and an order screen for the business that stays\nopen all night and reads from a distance. Distance selling, KVKK and cookie\nconsent had to be part of the design from the start.",[11,213,25],{"id":24},[16,215,216],{},"I designed the customer site and the admin panel as prototypes that open in\nthe browser and run on the real menu.",[27,218,219],{},[30,220,221,224],{},[33,222,223],{},"Customer site."," An opening with a rotating line; three menu densities\n(large, medium, compact); sticky category tabs; a nutrition and allergen\npanel; cart, guest checkout, order result and cookie management. Every\nscreen was built at phone width first.",[50,226],{"caption":227,"src":228,"side":55},"Menu, medium density: two columns of horizontal cards.","media\u002Frestaurant\u002F04-menu-masaustu.webp",[27,230,231],{},[30,232,233,236],{},[33,234,235],{},"Payment and legal consents."," No account is required; card details are\nnever collected on the site, the payment provider's screen opens in an\nembedded slot. Cash on delivery verifies the phone with an SMS code.",[71,238,239,243,247,251],{":phones":54,"cols":83},[50,240],{"caption":241,"src":242,":phone":54},"Menu on a phone.","media\u002Frestaurant\u002F05-menu-telefon.webp",[50,244],{"caption":245,"src":246,":phone":54},"Nutrition and allergen panel.","media\u002Frestaurant\u002F08-besin-alerjen-paneli-telefon.webp",[50,248],{"caption":249,"src":250,":phone":54},"Cart and suggestions.","media\u002Frestaurant\u002F10-sepet-telefon.webp",[50,252],{"caption":253,"src":254,":phone":54},"Embedded secure payment step.","media\u002Frestaurant\u002F12-guvenli-odeme-adimi-telefon.webp",[50,256],{"caption":257,"src":258},"Checkout: guest order, order type, sticky summary on the right.","media\u002Frestaurant\u002F11-odeme-masaustu.webp",[27,260,261],{},[30,262,263,266],{},[33,264,265],{},"Admin panel."," A live order flow in columns, order detail, an 80 mm\nkitchen ticket, QR codes and price lists, menu and product form, reports and\nend of day. The panel was built to work on a tablet and a phone too.",[50,268],{"caption":269,"src":270,":phone":54,"side":55},"80 mm kitchen ticket: order number, items and notes set large.","media\u002Frestaurant\u002F17-mutfak-fisi-80mm.webp",[50,272],{"caption":273,"src":274},"Order detail: item notes, customer, timeline, one primary action.","media\u002Frestaurant\u002F16-yonetim-siparis-detayi-masaustu.webp",[71,276,277,281],{},[50,278],{"caption":279,"src":280},"QR list: purpose, linked list, scans and conversion.","media\u002Frestaurant\u002F18-yonetim-qr-listesi-masaustu.webp",[50,282],{"caption":283,"src":284},"Price lists: bulk rule, rounding, manual override.","media\u002Frestaurant\u002F21-yonetim-fiyat-listeleri-masaustu.webp",[71,286,287,291],{},[50,288],{"caption":289,"src":290},"Product form: allergens split into contains \u002F may contain traces.","media\u002Frestaurant\u002F23-yonetim-urun-formu-alerjen.webp",[50,292],{"caption":293,"src":294},"End of day: takings breakdown, cash per courier.","media\u002Frestaurant\u002F25-yonetim-gun-sonu-masaustu.webp",[11,296,103],{"id":102},[27,298,299,305,311,317,323,329,335,341,347,353,359],{},[30,300,301,304],{},[33,302,303],{},"The QR you came from sets the price."," The price context (standard,\nin-restaurant, campaign) is computed from the same rule on the top strip,\nproduct card, cart, checkout, order and ticket. Applied to the menu alone at\nfirst, it drifted on the home page and in the cart; gathered into one price\nrule, everything lined up.",[30,306,307,310],{},[33,308,309],{},"Preventing misuse of in-restaurant prices."," If an in-restaurant QR link\nwere shared, someone could order home at the cheaper price. On that QR,\n\"delivery\" is locked and cannot be unlocked; why it is locked is stated in\none line in the panel and at checkout.",[30,312,313,316],{},[33,314,315],{},"The life of a printed code."," A QR is archived, never deleted; scanning\nan archived code falls back to the standard menu and says the campaign has\nended. Price lists are derived from the standard list with a bulk rule and\ncan be adjusted per product; before saving, the affected QR codes are shown.",[30,318,319,322],{},[33,320,321],{},"No order should be missed."," Browsers do not play sound without user\ninteraction. The panel opens with a full-screen \"start shift\" button: it\nplays a test sound, asks for notification permission and keeps the screen\nawake. An unanswered order moves to \"awaiting response\"; if the connection\ndrops, a full-width warning appears.",[30,324,325,328],{},[33,326,327],{},"One primary action per card."," The button changes with the status\n(accept, ready, hand to courier, delivered); the payment line is the card's\nsecond most readable fact. Every action can be undone for a few seconds.",[30,330,331,334],{},[33,332,333],{},"Status is never colour alone."," Every order status is shown with colour,\nicon and word; red only means late or cancelled.",[30,336,337,340],{},[33,338,339],{},"A calm panel for the night."," The brand's bright ground is tiring on a\nscreen watched for hours; in the panel surfaces are neutral and dark, the\nbrand colour only an accent.",[30,342,343,346],{},[33,344,345],{},"Legal consents and consent to cookies."," The only required checkbox is for\npre-contract information and distance selling; KVKK gets an information line,\nnot a box; marketing permissions are separate and unchecked. In the cookie\nbanner \"Reject\" and \"Accept\" carry the same weight; related scripts do not\nload without consent.",[30,348,349,352],{},[33,350,351],{},"Missing information is not hidden."," A product without allergen data shows\n\"information pending\" on the site and is flagged in the panel.",[30,354,355,358],{},[33,356,357],{},"Records are not deleted."," Printed QR codes, legal text versions and\nconsent records cannot be edited; they are only archived or given a new\nversion.",[30,360,361,364],{},[33,362,363],{},"Independent modules."," When the scope changed, screens could be\nsimplified and rewired rather than deleted, because the sections were built\nindependently from the start.",{"title":167,"searchDepth":168,"depth":168,"links":366},[367,368,369],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},"An ordering site of its own, and the panel that runs it, for a restaurant open late into the night whose orders were scattered across phone, messaging and delivery platforms, to reduce its dependence on the platforms.","A price context set by the QR code, from one source across every surface; delivery locked on in-restaurant QR codes; printed QR codes are archived, never deleted. A phone-first menu and checkout without an account; a calm live order screen for the night, readable from a distance, and a shift start.","An ordering site and admin panel of its own for a restaurant open late into the night; prices that follow the QR code, and a live screen where no order is missed.","The channels orders were scattered across, table and leaflet prices that could not be managed separately, orders missed in a long night shift, distance selling, KVKK and cookie obligations.",[375,376,377,378],"media\u002Frestaurant\u002F01-ana-sayfa-acilis-masaustu.webp","media\u002Frestaurant\u002F07-fiyat-baglami-uc-durum-telefon.webp","media\u002Frestaurant\u002F15-yonetim-canli-siparis-masaustu.webp","media\u002Frestaurant\u002F20-yonetim-qr-kurallar-musteri-onizlemesi.webp",[380,381,382,383],"Home page opening: a featured sandwich and an add-to-cart button","Menu on a phone, three price states side by side: standard, in-restaurant and campaign","Admin panel live order screen: new, preparing, courier and on-the-way columns","New QR code form: price list, allowed order types and customer preview","Design prototype, not live. Brand, logo, phone, address and neighbourhood are blurred; customer names and order data are samples.",{},"\u002Fen\u002Fsurvey\u002Frestaurant-ordering","Single restaurant · night shift · phone-first ordering",{"title":201,"description":372},"en\u002Fsurvey\u002Frestaurant-ordering","Design system, design prototypes that run in the browser (target stack Laravel, Vue, PostgreSQL), dynamic QR codes, derived price lists, an 80 mm kitchen ticket.","r2SKB_joO2u4V8GU47H4hiEtwrkiSiVZVlWbzG5fZiQ",{"id":393,"title":394,"body":395,"came":499,"decisions":500,"description":501,"draft":175,"examined":502,"extension":177,"media":503,"mediaAlt":506,"mediaNote":509,"meta":510,"navigation":190,"order":511,"path":512,"scale":513,"seo":514,"stem":515,"techLink":196,"techniques":516,"__hash__":517},"survey_en\u002Fen\u002Fsurvey\u002Fface-verification-api.md","Face verification API",{"type":8,"value":396,"toc":494},[397,399,402,405,407,454,456],[11,398,14],{"id":13},[16,400,401],{},"The job was an API that lets developers add face verification to their own\napps, and a site to present it. The problem space was clear: passwords and SMS\ncodes are easy to intercept; face recognition can replace them, but it is not\nsafe as long as a photo or a video can fool it. Off-the-shelf cloud services\nalso often leave developers unsure about data retention and KVKK \u002F GDPR.",[16,403,404],{},"So I first looked at which parts of the promise are measurable, how a\ndeveloper moves from a free sign-up to a paid tier, and how the competitors\npresent themselves.",[11,406,25],{"id":24},[27,408,409,424,430,436,442,448],{},[30,410,411,414,415,419,420,423],{},[33,412,413],{},"A two-part AI back end."," Two separate parts were written, as in the\nbrief. ",[416,417,418],"em",{},"Face matching"," extracts a face vector from the image, compares it\nwith the enrolled vector and returns a confidence score. ",[416,421,422],{},"Liveness\ndetection"," tells whether the image comes from a live person rather than a\nphoto or video held up to the camera.",[30,425,426,429],{},[33,427,428],{},"API."," Enrolment and verification endpoints, authentication, rate limits,\nwebhooks for asynchronous flows and clear error codes. Every endpoint is\ndocumented with examples in four languages (cURL, Python, JavaScript, PHP).",[30,431,432,435],{},[33,433,434],{},"Data model."," No raw image is stored; only an encrypted face vector is\nkept.",[30,437,438,441],{},[33,439,440],{},"Accounts and tiers."," A flow that starts with a free sign-up and moves to\na paid tier, plus an enterprise contact path.",[30,443,444,447],{},[33,445,446],{},"Promotional site."," A bilingual site whose copy comes from translation\nkeys.",[30,449,450,453],{},[33,451,452],{},"Redesign proposal."," I later reassessed the site from the outside and\nproposed a new visual language and page structure; it remained a clickable\nprototype.",[11,455,103],{"id":102},[27,457,458,464,470,476,482,488],{},[30,459,460,463],{},[33,461,462],{},"API first, then interface."," The product's value is in the endpoints; the\nsite was built to tell what the API says, accurately.",[30,465,466,469],{},[33,467,468],{},"Privacy by default."," Not storing images was not a feature added later\nbut the data model's starting decision.",[30,471,472,475],{},[33,473,474],{},"Two parts, two results."," Match and liveness return in separate fields;\ndevelopers can assess each on its own.",[30,477,478,481],{},[33,479,480],{},"Talk to developers like developers."," Code samples, endpoints, error codes\nand rate limits come before marketing lines.",[30,483,484,487],{},[33,485,486],{},"Simplifying in the proposal."," The five animation layers on the opening\nbecame one main visual (a 3D wireframe face that follows the cursor); the\nmenu went from six items to four; API detail moved to the documentation;\neach page kept one primary and one secondary action; with no real customers\nyet, verifiable content (technical documentation, a demo, a security policy)\nwas proposed instead of a logo wall.",[30,489,490,493],{},[33,491,492],{},"What an outside look showed."," Animations that were fine one by one\ndistracted together; documentation on the promotional page left both\naudiences half-served; placeholder content is a debt.",{"title":167,"searchDepth":168,"depth":168,"links":495},[496,497,498],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},"An API for developers to add face verification to their own apps: a two-part AI back end, liveness detection and face matching, a data model that stores no raw images, and a promotional site that speaks to developers.","The AI side is two separate parts, as in the brief; match and liveness return as two separate result fields. No images stored, only encrypted vectors. API first, then interface; a code sample on the site's first screen. The site was later reassessed; a new visual language was proposed as a clickable prototype.","An API for developers to add face verification to their own apps, with a two-part AI back end (liveness detection and face matching), and the developer site that presents it. No raw images stored, only encrypted face vectors.","Which parts of the promise are measurable (latency, liveness, encryption, KVKK\u002FGDPR), the conversion model (free API sign-up, upgrade to a paid tier, sales contact for enterprise), how the competitors (AWS Rekognition, Azure Face, FaceIO) present themselves.",[504,505],"media\u002Fface-api\u002Foneri-01-acilis.webp","media\u002Fface-api\u002Foneri-02-uc-adim.webp",[507,508],"Redesign proposal, opening: a face mesh drawing and the verification API headline","Redesign proposal, three steps: capture a frame, verify, issue the session","Redesign proposal, not live; the figures shown are illustrative. Brand withheld. 3D model: SamFStudent, CC BY 4.0.",{},3,"\u002Fen\u002Fsurvey\u002Fface-verification-api","B2B SaaS · developer audience · API + site",{"title":394,"description":501},"en\u002Fsurvey\u002Fface-verification-api","Laravel API, face matching and liveness services, encrypted vector storage, webhooks; design system (Inter Tight + IBM Plex Mono, single accent), clickable prototype, a CC BY 4.0 licensed 3D wireframe model.","HksrOWzhxTKvA3qhjOtI-4_HYSyzJU2Kn5qPNiZxZLQ",{"id":519,"title":520,"body":521,"came":541,"decisions":542,"description":541,"draft":190,"examined":543,"extension":177,"media":196,"mediaAlt":196,"mediaNote":196,"meta":544,"navigation":190,"order":83,"path":545,"scale":546,"seo":547,"stem":548,"techLink":196,"techniques":549,"__hash__":550},"survey_en\u002Fen\u002Fsurvey\u002Fwick-manufacturer.md","Wick manufacturer",{"type":8,"value":522,"toc":536},[523,525,528,530,532,534],[11,524,14],{"id":13},[16,526,527],{},"Not written yet.",[11,529,25],{"id":24},[16,531,527],{},[11,533,103],{"id":102},[16,535,527],{},{"title":167,"searchDepth":168,"depth":168,"links":537},[538,539,540],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},"\"Our site and products don't show up in search; our dealers do.\" A trade fair coming up.","Corporate site, technical catalogue and quote basket; dealer portal in a second phase. The document for senior management: a situation assessment with no budget and no methods.","The existing site, the data gap between a 700+ product catalogue and the site (dimensions and colours in the PDF, absent from the site), a named competitor table, the dealer network's position in search results, the timeline against the fair.",{},"\u002Fen\u002Fsurvey\u002Fwick-manufacturer","Industrial producer · B2B · dealer network",{"title":520,"description":541},"en\u002Fsurvey\u002Fwick-manufacturer","Structured product data, technical SEO, catalogue migration, quote flow.","ra3H4ze9lKbDmdYrOvWVahJgwda4Gq-JidWJmnngXbs",{"id":552,"title":553,"body":554,"came":573,"decisions":574,"description":573,"draft":190,"examined":575,"extension":177,"media":196,"mediaAlt":196,"mediaNote":196,"meta":576,"navigation":190,"order":577,"path":578,"scale":579,"seo":580,"stem":581,"techLink":196,"techniques":582,"__hash__":583},"survey_en\u002Fen\u002Fsurvey\u002Fbuilding-materials-producer.md","Building materials producer",{"type":8,"value":555,"toc":568},[556,558,560,562,564,566],[11,557,14],{"id":13},[16,559,527],{},[11,561,25],{"id":24},[16,563,527],{},[11,565,103],{"id":102},[16,567,527],{},{"title":167,"searchDepth":168,"depth":168,"links":569},[570,571,572],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},"A direct-sales site for the producer.","A reusable e-commerce core rather than one-off code; a custom panel rather than an off-the-shelf admin.","Product variant structure, the need for a reusable core.",{},5,"\u002Fen\u002Fsurvey\u002Fbuilding-materials-producer","WPC · e-commerce",{"title":553,"description":573},"en\u002Fsurvey\u002Fbuilding-materials-producer","Laravel 12, Inertia, Vue 3, a PRD-driven automation loop.","ZFxKtrrv9vI0S8wpt_RQL5RW2LE6n8EOU04kCV6xoGI",{"id":585,"title":586,"body":587,"came":606,"decisions":607,"description":606,"draft":190,"examined":608,"extension":177,"media":196,"mediaAlt":196,"mediaNote":196,"meta":609,"navigation":190,"order":610,"path":611,"scale":612,"seo":613,"stem":614,"techLink":196,"techniques":615,"__hash__":616},"survey_en\u002Fen\u002Fsurvey\u002Fcrm-rewrite.md","Corporate CRM rewrite",{"type":8,"value":588,"toc":601},[589,591,593,595,597,599],[11,590,14],{"id":13},[16,592,527],{},[11,594,25],{"id":24},[16,596,527],{},[11,598,103],{"id":102},[16,600,527],{},{"title":167,"searchDepth":168,"depth":168,"links":602},[603,604,605],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},"Moving a CRM of 200+ screens with several accounting integrations to a modern stack; 30 days, fixed price, no partial delivery.","No proposal. This scope in 30 days is not realistic; promising that timeline to a buyer who rejects partial delivery would not have been honest.","Screen count, integration surface, data migration risk, the ratio of time to scope.",{},6,"\u002Fen\u002Fsurvey\u002Fcrm-rewrite","ASP.NET Web Forms · 200+ screens · several accounting integrations",{"title":586,"description":606},"en\u002Fsurvey\u002Fcrm-rewrite","Not described.","PCHneFdNX6yXm-CpUx6RYgpeaUEp03ZHAH7hZNo-V4k",{"id":618,"title":619,"body":620,"came":639,"decisions":640,"description":639,"draft":190,"examined":641,"extension":177,"media":196,"mediaAlt":196,"mediaNote":196,"meta":642,"navigation":190,"order":643,"path":644,"scale":645,"seo":646,"stem":647,"techLink":196,"techniques":648,"__hash__":649},"survey_en\u002Fen\u002Fsurvey\u002Fstudent-amnesty-applications.md","Student amnesty application system",{"type":8,"value":621,"toc":634},[622,624,626,628,630,632],[11,623,14],{"id":13},[16,625,527],{},[11,627,25],{"id":24},[16,629,527],{},[11,631,103],{"id":102},[16,633,527],{},{"title":167,"searchDepth":168,"depth":168,"links":635},[636,637,638],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},"A printed form moved to the web for applications opened by a change in law, on a tight deadline.","Form fields manageable from the panel; a multi-user review panel; Laravel rather than plain PHP.","Form fields and their conditional logic, a reference list of about 25,000 records, the review unit's workflow, hosting options.",{},7,"\u002Fen\u002Fsurvey\u002Fstudent-amnesty-applications","Atılım University",{"title":619,"description":639},"en\u002Fsurvey\u002Fstudent-amnesty-applications","Laravel, staged form, list matching, role-based review.","fFMXAOdAspGalEb1enG2rybJqBtxBQnr5YIorH34a2o",{"id":651,"title":652,"body":653,"came":672,"decisions":673,"description":672,"draft":190,"examined":674,"extension":177,"media":196,"mediaAlt":196,"mediaNote":196,"meta":675,"navigation":190,"order":676,"path":677,"scale":678,"seo":679,"stem":680,"techLink":681,"techniques":682,"__hash__":683},"survey_en\u002Fen\u002Fsurvey\u002Finstitutional-ai-assistant.md","Institutional AI assistant",{"type":8,"value":654,"toc":667},[655,657,659,661,663,665],[11,656,14],{"id":13},[16,658,527],{},[11,660,25],{"id":24},[16,662,527],{},[11,664,103],{"id":102},[16,666,527],{},{"title":167,"searchDepth":168,"depth":168,"links":668},[669,670,671],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},"Visitors unable to find answers across close to seven thousand pages.","Source-citing answers; the evaluation pipeline as part of the product; a vector index on the existing database.","Content distribution and quality, how structural modules convert to text, the bilingual corpus, the risk of fabricated answers.",{},8,"\u002Fen\u002Fsurvey\u002Finstitutional-ai-assistant","Atılım University · RAG",{"title":652,"description":672},"en\u002Fsurvey\u002Finstitutional-ai-assistant","retrieval","The section drawing in the RAG chapter","xebsRv84jP1beiYUZpgu8lyOow0txR3zaI8LOyDr4WM",{"id":519,"title":520,"body":685,"came":541,"decisions":542,"description":541,"draft":190,"examined":543,"extension":177,"media":196,"mediaAlt":196,"mediaNote":196,"meta":704,"navigation":190,"order":83,"path":545,"scale":546,"seo":705,"stem":548,"techLink":196,"techniques":549,"__hash__":550},{"type":8,"value":686,"toc":699},[687,689,691,693,695,697],[11,688,14],{"id":13},[16,690,527],{},[11,692,25],{"id":24},[16,694,527],{},[11,696,103],{"id":102},[16,698,527],{},{"title":167,"searchDepth":168,"depth":168,"links":700},[701,702,703],{"id":13,"depth":168,"text":14},{"id":24,"depth":168,"text":25},{"id":102,"depth":168,"text":103},{},{"title":520,"description":541},1792418550681]