[{"data":1,"prerenderedAt":205},["ShallowReactive",2],{"cases-en-all":3},[4,81,141],{"id":5,"title":6,"architecture":7,"body":18,"category":43,"cover":44,"decisions":45,"description":38,"extension":55,"featured":56,"hash":57,"meta":58,"metrics":59,"navigation":56,"order":66,"path":67,"result":68,"role":69,"seo":70,"slug":71,"stack":72,"stem":71,"summary":78,"timeline":79,"url":9,"__hash__":80},"cases_en\u002Fthailand-rental.md","Car rental platform, Thailand",{"top":8,"core":12,"bottom":15},[9,10,11],"thailandrentalcars.com","phuketcarrentals.com","Quasar admin (PWA)",{"title":13,"sub":14},"Shared booking core","Node.js (Express) · booking engine · API",[16,17],"MariaDB","Docker",{"type":19,"value":20,"toc":37},"minimark",[21,26,30,34],[22,23,25],"h2",{"id":24},"problem","Problem",[27,28,29],"p",{},"Two rental brands (thailandrentalcars.com and phuketcarrentals.com) needed one reliable booking system — without forking the code for every new city.",[22,31,33],{"id":32},"approach","Approach",[27,35,36],{},"A multi-site architecture: one Node.js (Express) backend, a Quasar admin (PWA) and two Nuxt 4 storefronts, all in Docker — with a transactional booking and payment flow and SEO planned from day one.",{"title":38,"searchDepth":39,"depth":39,"links":40},"",2,[41,42],{"id":24,"depth":39,"text":25},{"id":32,"depth":39,"text":33},"travel \u002F rental","\u002Fwork\u002Fthailand-rental.webp",[46,49,52],{"title":47,"text":48},"One backend, many storefronts","A shared backend and admin panel serve two independent Nuxt 4 frontends, so expanding to a new city does not duplicate the core system.",{"title":50,"text":51},"Transactional booking and payment","Authorization, owner confirmation and payment capture as one flow, with idempotency and double-booking protection.",{"title":53,"text":54},"SEO as part of engineering","I own SEO and the launch strategy alongside the product work and lead the content manager.","md",true,"a3f9c21",{},[60,63],{"value":61,"label":62},"2 → 1","frontends on one backend",{"value":64,"label":65},"5","bookings",1,"\u002Fthailand-rental","→ 2 sites · 1 backend · 5 bookings","Architecture · full-stack · SEO lead",{"title":6,"description":38},"thailand-rental",[73,74,75,76,77],"nuxt 4","express","mariadb","quasar pwa","docker","Two brands on one booking engine and admin — a new city is configuration, not a new project.","in progress","C9hmmm_GPDB7VDqRe_YCi-4sTRpCC0hQ86zRUNQY304",{"id":82,"title":83,"architecture":84,"body":93,"category":109,"cover":110,"decisions":111,"description":38,"extension":55,"featured":56,"hash":121,"meta":122,"metrics":123,"navigation":56,"order":39,"path":130,"result":131,"role":132,"seo":133,"slug":134,"stack":135,"stem":134,"summary":137,"timeline":138,"url":139,"__hash__":140},"cases_en\u002Fdomodessa.md","Real-estate platform — domodessa.com",{"top":85,"core":88,"bottom":91},[86,87],"domodessa.com · Nuxt 4 SSR","Quasar admin",{"title":89,"sub":90},"Express API","listings · blog · admin",[16,17,92],"CI\u002FCD",{"type":19,"value":94,"toc":105},[95,97,100,102],[22,96,25],{"id":24},[27,98,99],{},"A real-estate business needed a working platform fast, not a long project.",[22,101,33],{"id":32},[27,103,104],{},"Nuxt 4 with SSR on the front, an Express API, a Quasar admin, MariaDB and Docker with CI\u002FCD — delivered by one developer end to end.",{"title":38,"searchDepth":39,"depth":39,"links":106},[107,108],{"id":24,"depth":39,"text":25},{"id":32,"depth":39,"text":33},"real estate","\u002Fwork\u002Fdomodessa.webp",[112,115,118],{"title":113,"text":114},"Ship the core first","Owned the build end to end and took the product to production in about two weeks.",{"title":116,"text":117},"Blog and styling architecture","Built the blog and the frontend styling architecture so new pages stay consistent.",{"title":119,"text":120},"Stable in every environment","Resolved Docker networking, SSR and hydration issues so local and production behave the same.","c51e8aa",{},[124,127],{"value":125,"label":126},"~2 wks","zero to production",{"value":128,"label":129},"10","listings","\u002Fdomodessa","→ zero to production in ~2 weeks · 10 listings","Solo full-stack developer",{"title":83,"description":38},"domodessa",[73,74,136,75,77],"quasar","From zero to a working production product in about two weeks — built end to end.","~2 weeks to production","domodessa.com","KswnDNHh1KIp0kgq2Vj61WkG5hKJGBNfKFElmukoCKc",{"id":142,"title":143,"architecture":144,"body":155,"category":171,"cover":172,"decisions":173,"description":38,"extension":55,"featured":56,"hash":183,"meta":184,"metrics":185,"navigation":56,"order":191,"path":192,"result":193,"role":194,"seo":195,"slug":196,"stack":197,"stem":196,"summary":201,"timeline":202,"url":203,"__hash__":204},"cases_en\u002Fpsylife.md","PsyLife.me — personal practice platform",{"top":145,"core":149,"bottom":152},[146,147,148],"psylife.me · Nuxt 4","blog \u002F CMS","PWA admin",{"title":150,"sub":151},"NestJS API","booking · CMS · notifications",[16,153,154],"Redis · BullMQ","web push",{"type":19,"value":156,"toc":167},[157,159,162,164],[22,158,25],{"id":24},[27,160,161],{},"A psychology practice needed one place for content, consultation booking and client notifications, in two languages.",[22,163,33],{"id":32},[27,165,166],{},"A Nuxt 4 frontend on a NestJS API with MariaDB, Redis\u002FBullMQ background jobs and web push — from architecture to production deployment.",{"title":38,"searchDepth":39,"depth":39,"links":168},[169,170],{"id":24,"depth":39,"text":25},{"id":32,"depth":39,"text":33},"health \u002F platform","\u002Fwork\u002Fpsylife.webp",[174,177,180],{"title":175,"text":176},"Background jobs on a queue","Redis and BullMQ run background work outside the request cycle.",{"title":178,"text":179},"Real-time notifications","Web push notifications keep clients informed about bookings.",{"title":181,"text":182},"Content in the same product","An integrated blog\u002FCMS and the consultation-booking flow live in one platform.","0d2f6b3",{},[186,189],{"value":187,"label":188},"UA\u002FRU","multilingual",{"value":128,"label":190},"clients",3,"\u002Fpsylife","→ UA\u002FRU · 10 clients · PWA admin","Owner · full-stack",{"title":143,"description":38},"psylife",[73,198,75,199,200],"nestjs","bullmq","pwa","A multilingual UA\u002FRU platform with a blog\u002FCMS, consultation booking and real-time notifications — owned end to end.","2026 · ongoing support","psylife.me","gEJfqRR0QEzp06sdR4yVepHdlV0Zm5DR4xLwE1cG1lU",1792428737326]