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