[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site:languages:en":3,"site:navigation:en":22,"site:settings:en":148,"page:home:en":169,"home:services:en":411,"faq:grouped:en":581,"home:clients:en":632,"home:testimonials:en":707,"home:posts:en":796,"home:portfolio:en":923},[4,13],{"id":5,"code":6,"name":7,"nativeName":7,"direction":8,"flagEmoji":9,"isDefault":10,"isActive":10,"sortOrder":11,"createdAt":12,"updatedAt":12},"cms5x82ws0000p90jaubd6xdp","en","English","LTR","🇬🇧",true,0,"2026-07-29T10:07:30.747Z",{"id":14,"code":15,"name":16,"nativeName":17,"direction":8,"flagEmoji":18,"isDefault":19,"isActive":10,"sortOrder":20,"createdAt":21,"updatedAt":21},"cms5x82x90001p90je35iy8zx","id","Indonesian","Bahasa Indonesia","🇮🇩",false,1,"2026-07-29T10:07:30.766Z",{"HEADER":23,"FOOTER_PRIMARY":72,"FOOTER_SECONDARY":85,"LEGAL":106,"SOCIAL":122},[24,31,36,42,48,54,60,66],{"id":25,"href":26,"target":27,"icon":28,"sortOrder":11,"label":29,"caption":28,"children":30},"cms5x85l800nvp90jgvd1p33h","\u002F","_self",null,"Home",[],{"id":32,"href":33,"target":27,"icon":28,"sortOrder":20,"label":34,"caption":28,"children":35},"cms5x85lq00o1p90j6pq2ixue","\u002Fabout","About",[],{"id":37,"href":38,"target":27,"icon":28,"sortOrder":39,"label":40,"caption":28,"children":41},"cms5x85m700o7p90jfrpuma9c","\u002Fservices",2,"Services",[],{"id":43,"href":44,"target":27,"icon":28,"sortOrder":45,"label":46,"caption":28,"children":47},"cms5x85ml00odp90jhbidzcte","\u002Fportfolio",3,"Portfolio",[],{"id":49,"href":50,"target":27,"icon":28,"sortOrder":51,"label":52,"caption":28,"children":53},"cms5x85mw00ojp90jm01w80sb","\u002Fcase-studies",4,"Case Studies",[],{"id":55,"href":56,"target":27,"icon":28,"sortOrder":57,"label":58,"caption":28,"children":59},"cms5x85n700opp90j8c67qr9t","\u002Fblog",5,"Blog",[],{"id":61,"href":62,"target":27,"icon":28,"sortOrder":63,"label":64,"caption":28,"children":65},"cms5x85nk00ovp90jzoeadygb","\u002Fcareers",6,"Careers",[],{"id":67,"href":68,"target":27,"icon":28,"sortOrder":69,"label":70,"caption":28,"children":71},"cms5x85nu00p1p90jb67ikv77","\u002Fcontact",7,"Contact",[],[73,76,79,82],{"id":74,"href":33,"target":27,"icon":28,"sortOrder":11,"label":34,"caption":28,"children":75},"cms5x85od00p8p90j616esl9i",[],{"id":77,"href":62,"target":27,"icon":28,"sortOrder":20,"label":64,"caption":28,"children":78},"cms5x85ot00pep90jrto5fvh7",[],{"id":80,"href":50,"target":27,"icon":28,"sortOrder":39,"label":52,"caption":28,"children":81},"cms5x85p400pkp90jd8usqva3",[],{"id":83,"href":68,"target":27,"icon":28,"sortOrder":45,"label":70,"caption":28,"children":84},"cms5x85pg00pqp90jvlmbrz8q",[],[86,91,96,101],{"id":87,"href":88,"target":27,"icon":28,"sortOrder":11,"label":89,"caption":28,"children":90},"cms5x85q100pxp90juyka7vco","\u002Fservices\u002Fcustom-software-development","Custom Software",[],{"id":92,"href":93,"target":27,"icon":28,"sortOrder":20,"label":94,"caption":28,"children":95},"cms5x85qj00q3p90jdh85gytx","\u002Fservices\u002Fweb-platform-engineering","Web Platforms",[],{"id":97,"href":98,"target":27,"icon":28,"sortOrder":39,"label":99,"caption":28,"children":100},"cms5x85r400q9p90jdhsjcffv","\u002Fservices\u002Fmobile-application-development","Mobile Apps",[],{"id":102,"href":103,"target":27,"icon":28,"sortOrder":45,"label":104,"caption":28,"children":105},"cms5x85rw00qfp90j1rs0xc9k","\u002Fservices\u002Fcloud-devops","Cloud & DevOps",[],[107,112,117],{"id":108,"href":109,"target":27,"icon":28,"sortOrder":11,"label":110,"caption":28,"children":111},"cms5x85sm00qmp90jki97thzi","\u002Fprivacy","Privacy Policy",[],{"id":113,"href":114,"target":27,"icon":28,"sortOrder":20,"label":115,"caption":28,"children":116},"cms5x85sw00qsp90j96hsi9if","\u002Fterms","Terms of Service",[],{"id":118,"href":119,"target":27,"icon":28,"sortOrder":39,"label":120,"caption":28,"children":121},"cms5x85ta00qyp90je9qxvdrq","\u002Ffaq","FAQ",[],[123,130,136,142],{"id":124,"href":125,"target":126,"icon":127,"sortOrder":11,"label":128,"caption":28,"children":129},"cms5x85to00r5p90jlpp2dj9y","https:\u002F\u002Flinkedin.com\u002Fcompany\u002Fmoodkuit","_blank","linkedin","LinkedIn",[],{"id":131,"href":132,"target":126,"icon":133,"sortOrder":20,"label":134,"caption":28,"children":135},"cms5x85u000rbp90jz220we6w","https:\u002F\u002Fgithub.com\u002Fmoodkuit","github","GitHub",[],{"id":137,"href":138,"target":126,"icon":139,"sortOrder":39,"label":140,"caption":28,"children":141},"cms5x85uc00rhp90j909vvybj","https:\u002F\u002Fx.com\u002Fmoodkuit","x","X",[],{"id":143,"href":144,"target":126,"icon":145,"sortOrder":45,"label":146,"caption":28,"children":147},"cms5x85un00rnp90j4c6x21gw","https:\u002F\u002Finstagram.com\u002Fmoodkuit","instagram","Instagram",[],{"site.name":149,"site.shortName":150,"site.logo_dark":151,"site.logo_light":152,"site.url":153,"site.defaultLocale":6,"contact.email":154,"contact.sales_email":155,"contact.phone":156,"contact.whatsapp":157,"contact.address":158,"contact.map_embed_url":159,"contact.office_hours":160,"company.legal_name":149,"company.founded":161,"seo.default_title":162,"seo.default_description":163,"seo.twitter_handle":164,"seo.default_og_image":165,"social.links":166,"features.newsletter_enabled":167,"features.blog_enabled":167,"features.careers_enabled":167,"integrations.google_analytics_id":168,"integrations.recaptcha_site_key":168},"PT Moodkuit Solutions Technologies","Moodkuit","\u002Fimages\u002Flogo\u002Fblack-logo.png","\u002Fimages\u002Flogo\u002Fwhite-logo.png","https:\u002F\u002Fmoodkuit.com","hello@moodkuit.com","sales@moodkuit.com","+62 21 5010 8899","+62 812 1000 8899","Menara Kuningan, 12th Floor, Jl. H. R. Rasuna Said, Jakarta Selatan 12940, Indonesia","https:\u002F\u002Fmaps.google.com\u002F?q=-6.2238,106.8317","Mon–Fri, 09:00–18:00 WIB","2018","Moodkuit — Enterprise Software House","Moodkuit designs, builds and operates enterprise software platforms — custom systems, web, mobile, cloud and data.","@moodkuit","\u002Fimages\u002Fhero\u002Fhero-slider.jpg","[{\"platform\":\"linkedin\",\"url\":\"https:\u002F\u002Flinkedin.com\u002Fcompany\u002Fmoodkuit\"},{\"platform\":\"github\",\"url\":\"https:\u002F\u002Fgithub.com\u002Fmoodkuit\"},{\"platform\":\"x\",\"url\":\"https:\u002F\u002Fx.com\u002Fmoodkuit\"},{\"platform\":\"instagram\",\"url\":\"https:\u002F\u002Finstagram.com\u002Fmoodkuit\"}]","true","",{"id":170,"key":171,"status":172,"publishedAt":173,"isHomepage":10,"template":28,"sortOrder":11,"createdAt":174,"updatedAt":174,"deletedAt":28,"sections":175,"translation":405},"cms5x84y200fmp90js31c7kgs","home","PUBLISHED","2025-12-13T09:00:00.000Z","2026-07-29T10:07:33.386Z",[176,205,216,229,254,289,311,323,345,368,381],{"id":177,"pageId":170,"type":178,"sortOrder":11,"isVisible":10,"mediaId":179,"config":180,"createdAt":183,"updatedAt":183,"media":184,"translation":198},"cms5x84yt00fsp90j5rh6unol","HERO","cms5x840w006np90ji1nn6bjg",{"variant":181,"showStats":10,"background":182},"split","gradient","2026-07-29T10:07:33.413Z",{"id":179,"folderId":185,"uploadedById":186,"type":187,"filename":188,"originalName":188,"mimeType":189,"size":190,"width":191,"height":192,"storageKey":193,"url":194,"thumbnailUrl":194,"alt":195,"caption":28,"blurhash":28,"createdAt":196,"updatedAt":197,"deletedAt":28},"cms5x83qk003pp90j6fj1btol","cms5x83o00034p90jw5cmslod","IMAGE","hero-slider.jpg","image\u002Fjpeg",16216,1920,900,"seed\u002Fpage\u002Fhero-home\u002Fhero-slider.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpage\u002Fhero-home\u002Fhero-slider.jpg","Moodkuit engineers reviewing a platform architecture together","2026-07-29T10:07:32.192Z","2026-07-29T10:31:55.482Z",{"id":199,"sectionId":177,"locale":6,"eyebrow":200,"heading":201,"subheading":202,"body":28,"ctaLabel":203,"ctaHref":68,"createdAt":204,"updatedAt":204},"cms5x84yy00fup90j2qigwi5c","Enterprise software house","Enterprise software, engineered with intent","We design, build and operate the platforms that run ambitious companies — with the architecture records, tests and documentation to prove it.","Start a project","2026-07-29T10:07:33.418Z",{"id":206,"pageId":170,"type":207,"sortOrder":20,"isVisible":10,"mediaId":28,"config":208,"createdAt":210,"updatedAt":210,"media":28,"translation":211},"cms5x84z600fyp90j7pvm5okl","CLIENTS",{"variant":209,"grayscale":10},"marquee","2026-07-29T10:07:33.427Z",{"id":212,"sectionId":206,"locale":6,"eyebrow":213,"heading":214,"subheading":28,"body":28,"ctaLabel":28,"ctaHref":28,"createdAt":215,"updatedAt":215},"cms5x84za00g0p90j54zcso2q","Trusted by","Teams that ship with us","2026-07-29T10:07:33.430Z",{"id":217,"pageId":170,"type":218,"sortOrder":39,"isVisible":10,"mediaId":28,"config":219,"createdAt":221,"updatedAt":221,"media":28,"translation":222},"cms5x84zi00g4p90j7yv1pwjb","SERVICES",{"limit":63,"columns":45,"variant":220},"grid","2026-07-29T10:07:33.438Z",{"id":223,"sectionId":217,"locale":6,"eyebrow":224,"heading":225,"subheading":226,"body":28,"ctaLabel":227,"ctaHref":38,"createdAt":228,"updatedAt":228},"cms5x84zm00g6p90jxqg0golc","What we do","Six disciplines, one delivery team","No hand-offs between agencies. Design, engineering and operations sit in the same room.","All services","2026-07-29T10:07:33.442Z",{"id":230,"pageId":170,"type":231,"sortOrder":45,"isVisible":10,"mediaId":232,"config":233,"createdAt":235,"updatedAt":235,"media":236,"translation":247},"cms5x84zw00gap90jniega3tp","ABOUT","cms5x841n006vp90jebz9frzm",{"variant":234,"showSignature":10},"image-left","2026-07-29T10:07:33.453Z",{"id":232,"folderId":185,"uploadedById":186,"type":187,"filename":237,"originalName":237,"mimeType":238,"size":239,"width":240,"height":241,"storageKey":242,"url":243,"thumbnailUrl":243,"alt":244,"caption":28,"blurhash":28,"createdAt":245,"updatedAt":246,"deletedAt":28},"01.png","image\u002Fpng",108438,386,577,"seed\u002Fpage\u002Fabout-primary\u002F01.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpage\u002Fabout-primary\u002F01.png","Moodkuit engineers pairing at a standing desk","2026-07-29T10:07:32.219Z","2026-07-29T10:31:55.310Z",{"id":248,"sectionId":230,"locale":6,"eyebrow":249,"heading":250,"subheading":28,"body":251,"ctaLabel":252,"ctaHref":33,"createdAt":253,"updatedAt":253},"cms5x850400gcp90j7pkhx2jm","Who we are","An engineering studio, not a resource pool","\u003Cp>We staff engagements with senior engineers who stay until the system is stable in production. Every consequential decision is written down, so your team inherits reasoning rather than mystery.\u003C\u002Fp>","About us","2026-07-29T10:07:33.461Z",{"id":255,"pageId":170,"type":256,"sortOrder":51,"isVisible":10,"mediaId":257,"config":258,"createdAt":275,"updatedAt":275,"media":276,"translation":285},"cms5x850j00ggp90j08jofw0r","COUNTER","cms5x84250071p90jgs57xgi3",{"items":259,"variant":274},[260,264,267,270],{"key":261,"value":262,"suffix":263},"projects",120,"+",{"key":265,"value":266,"suffix":168},"clients",48,{"key":268,"value":269,"suffix":168},"engineers",65,{"key":271,"value":272,"suffix":273},"uptime",99.98,"%","inline","2026-07-29T10:07:33.475Z",{"id":257,"folderId":185,"uploadedById":186,"type":187,"filename":277,"originalName":277,"mimeType":189,"size":278,"width":191,"height":279,"storageKey":280,"url":281,"thumbnailUrl":281,"alt":282,"caption":28,"blurhash":28,"createdAt":283,"updatedAt":284,"deletedAt":28},"counter-bg.jpg",50947,600,"seed\u002Fpage\u002Fcounter\u002Fcounter-bg.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpage\u002Fcounter\u002Fcounter-bg.jpg","Delivery metrics displayed on the studio wall panel","2026-07-29T10:07:32.237Z","2026-07-29T10:31:55.396Z",{"id":286,"sectionId":255,"locale":6,"eyebrow":28,"heading":287,"subheading":28,"body":28,"ctaLabel":28,"ctaHref":28,"createdAt":288,"updatedAt":288},"cms5x850n00gip90jioe9ushv","Delivery in numbers","2026-07-29T10:07:33.480Z",{"id":290,"pageId":170,"type":291,"sortOrder":57,"isVisible":10,"mediaId":292,"config":293,"createdAt":295,"updatedAt":295,"media":296,"translation":305},"cms5x851300gmp90jvph01pde","WORK_PROCESS","cms5x8420006zp90jemsosoco",{"steps":51,"variant":294},"timeline","2026-07-29T10:07:33.495Z",{"id":292,"folderId":185,"uploadedById":186,"type":187,"filename":297,"originalName":297,"mimeType":189,"size":298,"width":191,"height":299,"storageKey":300,"url":301,"thumbnailUrl":301,"alt":302,"caption":28,"blurhash":28,"createdAt":303,"updatedAt":304,"deletedAt":28},"bg.jpg",15557,877,"seed\u002Fpage\u002Fwork-process\u002Fbg.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpage\u002Fwork-process\u002Fbg.jpg","Discovery, architecture, delivery and operation mapped as a timeline","2026-07-29T10:07:32.231Z","2026-07-29T10:31:55.535Z",{"id":306,"sectionId":290,"locale":6,"eyebrow":307,"heading":308,"subheading":309,"body":28,"ctaLabel":28,"ctaHref":28,"createdAt":310,"updatedAt":310},"cms5x851c00gop90jt9da7i8a","How we work","Discovery, architecture, delivery, operation","Four phases, each with a written artefact you own at the end of it.","2026-07-29T10:07:33.504Z",{"id":312,"pageId":170,"type":313,"sortOrder":63,"isVisible":10,"mediaId":28,"config":314,"createdAt":316,"updatedAt":316,"media":28,"translation":317},"cms5x852a00gsp90jl6lery4e","PORTFOLIO",{"limit":63,"variant":315},"carousel","2026-07-29T10:07:33.538Z",{"id":318,"sectionId":312,"locale":6,"eyebrow":319,"heading":320,"subheading":28,"body":28,"ctaLabel":321,"ctaHref":44,"createdAt":322,"updatedAt":322},"cms5x852r00gup90jv2hrfyjq","Selected work","Platforms in production","View portfolio","2026-07-29T10:07:33.555Z",{"id":324,"pageId":170,"type":325,"sortOrder":69,"isVisible":10,"mediaId":326,"config":327,"createdAt":329,"updatedAt":329,"media":330,"translation":340},"cms5x853100gyp90j4bho1d2f","TESTIMONIALS","cms5x842u0079p90j7pnywx4q",{"variant":328,"autoplay":10},"slider","2026-07-29T10:07:33.565Z",{"id":326,"folderId":185,"uploadedById":186,"type":187,"filename":331,"originalName":331,"mimeType":189,"size":332,"width":333,"height":334,"storageKey":335,"url":336,"thumbnailUrl":336,"alt":337,"caption":28,"blurhash":28,"createdAt":338,"updatedAt":339,"deletedAt":28},"testimonial-bg.jpg",107522,1172,850,"seed\u002Fpage\u002Ftestimonials\u002Ftestimonial-bg.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpage\u002Ftestimonials\u002Ftestimonial-bg.jpg","Client meeting room during a quarterly review","2026-07-29T10:07:32.262Z","2026-07-29T10:31:55.516Z",{"id":341,"sectionId":324,"locale":6,"eyebrow":342,"heading":343,"subheading":28,"body":28,"ctaLabel":28,"ctaHref":28,"createdAt":344,"updatedAt":344},"cms5x853900h0p90j10shaxzm","Client voices","What our clients say","2026-07-29T10:07:33.574Z",{"id":346,"pageId":170,"type":120,"sortOrder":347,"isVisible":10,"mediaId":348,"config":349,"createdAt":351,"updatedAt":351,"media":352,"translation":362},"cms5x853h00h4p90jsu60qjxw",8,"cms5x842d0073p90joww12uej",{"limit":63,"variant":350},"accordion","2026-07-29T10:07:33.581Z",{"id":348,"folderId":185,"uploadedById":186,"type":187,"filename":353,"originalName":353,"mimeType":238,"size":354,"width":355,"height":356,"storageKey":357,"url":358,"thumbnailUrl":358,"alt":359,"caption":28,"blurhash":28,"createdAt":360,"updatedAt":361,"deletedAt":28},"faq-image-1.png",151160,523,795,"seed\u002Fpage\u002Ffaq\u002Ffaq-image-1.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpage\u002Ffaq\u002Ffaq-image-1.png","A client asking questions during a scoping session","2026-07-29T10:07:32.244Z","2026-07-29T10:31:55.433Z",{"id":363,"sectionId":346,"locale":6,"eyebrow":364,"heading":365,"subheading":28,"body":28,"ctaLabel":366,"ctaHref":119,"createdAt":367,"updatedAt":367},"cms5x853o00h6p90jso9apnhd","Questions","Answered before you ask","All questions","2026-07-29T10:07:33.585Z",{"id":369,"pageId":170,"type":370,"sortOrder":371,"isVisible":10,"mediaId":28,"config":372,"createdAt":374,"updatedAt":374,"media":28,"translation":375},"cms5x854100hap90j6gyqmxbf","BLOG",9,{"limit":45,"variant":373},"cards","2026-07-29T10:07:33.601Z",{"id":376,"sectionId":369,"locale":6,"eyebrow":377,"heading":378,"subheading":28,"body":28,"ctaLabel":379,"ctaHref":56,"createdAt":380,"updatedAt":380},"cms5x854800hcp90jg4mmsvli","Insights","From the engineering desk","Read the blog","2026-07-29T10:07:33.607Z",{"id":382,"pageId":170,"type":383,"sortOrder":384,"isVisible":10,"mediaId":385,"config":386,"createdAt":388,"updatedAt":388,"media":389,"translation":399},"cms5x854h00hgp90jyshhemp2","CTA",10,"cms5x842j0075p90jwpab24p3",{"variant":387,"showPhone":10},"inverse","2026-07-29T10:07:33.618Z",{"id":385,"folderId":185,"uploadedById":186,"type":187,"filename":390,"originalName":390,"mimeType":189,"size":391,"width":392,"height":393,"storageKey":394,"url":395,"thumbnailUrl":395,"alt":396,"caption":28,"blurhash":28,"createdAt":397,"updatedAt":398,"deletedAt":28},"cta-bg.jpg",3006,1286,170,"seed\u002Fpage\u002Fcta\u002Fcta-bg.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpage\u002Fcta\u002Fcta-bg.jpg","Moodkuit team available for a discovery call","2026-07-29T10:07:32.250Z","2026-07-29T10:31:55.412Z",{"id":400,"sectionId":382,"locale":6,"eyebrow":28,"heading":401,"subheading":402,"body":28,"ctaLabel":403,"ctaHref":68,"createdAt":404,"updatedAt":404},"cms5x854m00hip90jeypdnqd2","Have a system that needs building?","Tell us the problem. We will tell you honestly whether we are the right team for it.","Book a discovery call","2026-07-29T10:07:33.622Z",{"id":406,"pageId":170,"locale":6,"title":201,"slug":171,"excerpt":407,"content":408,"seoTitle":409,"seoDescription":407,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":165,"noIndex":19,"noFollow":19,"createdAt":410,"updatedAt":410},"cms5x84y800fop90jdk0y9ce3","Moodkuit designs, builds and operates the software platforms that run ambitious companies.","\u003Cp>Moodkuit designs, builds and operates the software platforms that run ambitious companies.\u003C\u002Fp>","Enterprise software, engineered with intent | Moodkuit","2026-07-29T10:07:33.392Z",[412,443,472,499,525,554],{"id":413,"parentId":28,"status":172,"publishedAt":414,"icon":415,"imageId":416,"sortOrder":11,"isFeatured":10,"createdAt":417,"updatedAt":417,"deletedAt":28,"image":418,"translation":429},"cms5x844z007pp90jbu4stsrs","2026-01-02T09:00:00.000Z","flaticon-code","cms5x83sq004dp90jc013sjcc","2026-07-29T10:07:32.340Z",{"id":416,"folderId":419,"uploadedById":186,"type":187,"filename":420,"originalName":420,"mimeType":189,"size":421,"width":422,"height":423,"storageKey":424,"url":425,"thumbnailUrl":425,"alt":426,"caption":28,"blurhash":28,"createdAt":427,"updatedAt":428,"deletedAt":28},"cms5x83p7003bp90j3supzlj1","01.jpg",16021,315,303,"seed\u002Fservice\u002Fcustom-software-development\u002F01.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fservice\u002Fcustom-software-development\u002F01.jpg","Engineers pairing on a line-of-business system at a shared workstation","2026-07-29T10:07:31.898Z","2026-07-29T10:31:55.724Z",{"id":430,"serviceId":413,"locale":6,"title":431,"slug":432,"shortDescription":433,"excerpt":434,"content":435,"features":436,"seoTitle":441,"seoDescription":434,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":442,"updatedAt":442},"cms5x8457007rp90jwpv3gxat","Custom Software Development","custom-software-development","Line-of-business systems built around how your company actually works.","We design, build and operate the systems that run your business — from internal tooling to customer-facing platforms.","\u003Cp>Off-the-shelf software forces your process to bend around someone else’s assumptions. We start from your workflow, model the domain properly, and ship a system your team recognises on the first demo.\u003C\u002Fp>\u003Ch3>How we work\u003C\u002Fh3>\u003Cp>Discovery and domain modelling, an architecture decision record for every consequential choice, then two-week increments with a working deployment at the end of each one. You see progress in staging, not in status reports.\u003C\u002Fp>",[437,438,439,440],"Domain-driven architecture and clean separation of concerns","Automated test suites and CI gates from day one","Observability, audit trails and role-based access built in","Handover documentation your own engineers can maintain","Custom Software Development | Moodkuit","2026-07-29T10:07:32.347Z",{"id":444,"parentId":28,"status":172,"publishedAt":414,"icon":445,"imageId":446,"sortOrder":20,"isFeatured":10,"createdAt":447,"updatedAt":447,"deletedAt":28,"image":448,"translation":458},"cms5x845n007vp90jyalmcd97","flaticon-web-development","cms5x83sx004fp90jh8zafimv","2026-07-29T10:07:32.363Z",{"id":446,"folderId":419,"uploadedById":186,"type":187,"filename":449,"originalName":449,"mimeType":189,"size":450,"width":451,"height":452,"storageKey":453,"url":454,"thumbnailUrl":454,"alt":455,"caption":28,"blurhash":28,"createdAt":456,"updatedAt":457,"deletedAt":28},"02.jpg",19276,424,252,"seed\u002Fservice\u002Fweb-platform-engineering\u002F02.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fservice\u002Fweb-platform-engineering\u002F02.jpg","A web platform dashboard under review on a widescreen display","2026-07-29T10:07:31.905Z","2026-07-29T10:31:55.813Z",{"id":459,"serviceId":444,"locale":6,"title":460,"slug":461,"shortDescription":462,"excerpt":463,"content":464,"features":465,"seoTitle":470,"seoDescription":463,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":471,"updatedAt":471},"cms5x845s007xp90jjm822erg","Web Platform Engineering","web-platform-engineering","Fast, accessible, SEO-complete web platforms on modern runtimes.","Server-rendered front-ends that score green on Core Web Vitals and stay maintainable after launch.","\u003Cp>A marketing site is infrastructure. We build on Nuxt and Next with SSR, image optimisation, structured data and a CMS your marketing team can drive without a developer in the loop.\u003C\u002Fp>",[466,467,468,469],"Core Web Vitals budgets enforced in CI","Multilingual routing with hreflang and canonical handling","Headless CMS with granular publishing roles","Edge caching and incremental revalidation","Web Platform Engineering | Moodkuit","2026-07-29T10:07:32.368Z",{"id":473,"parentId":28,"status":172,"publishedAt":414,"icon":474,"imageId":475,"sortOrder":39,"isFeatured":10,"createdAt":476,"updatedAt":476,"deletedAt":28,"image":477,"translation":485},"cms5x84680081p90jaa7l3rby","flaticon-smartphone","cms5x83t5004hp90jsn1ovn77","2026-07-29T10:07:32.384Z",{"id":475,"folderId":419,"uploadedById":186,"type":187,"filename":478,"originalName":478,"mimeType":189,"size":479,"width":451,"height":452,"storageKey":480,"url":481,"thumbnailUrl":481,"alt":482,"caption":28,"blurhash":28,"createdAt":483,"updatedAt":484,"deletedAt":28},"03.jpg",8037,"seed\u002Fservice\u002Fmobile-application-development\u002F03.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fservice\u002Fmobile-application-development\u002F03.jpg","Mobile application screens being tested on physical devices","2026-07-29T10:07:31.912Z","2026-07-29T10:31:55.786Z",{"id":486,"serviceId":473,"locale":6,"title":487,"slug":488,"shortDescription":489,"excerpt":490,"content":491,"features":492,"seoTitle":497,"seoDescription":490,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":498,"updatedAt":498},"cms5x846c0083p90jjezuti17","Mobile Application Development","mobile-application-development","Native-quality iOS and Android apps from a single codebase.","Cross-platform delivery without the usual compromises on performance or platform conventions.","\u003Cp>We ship React Native and Flutter applications with offline-first data layers, biometric authentication and staged rollouts through the stores.\u003C\u002Fp>",[493,494,495,496],"Offline-first synchronisation","Push notifications and deep linking","Store submission and phased rollout","Crash reporting and release health dashboards","Mobile Application Development | Moodkuit","2026-07-29T10:07:32.388Z",{"id":500,"parentId":28,"status":172,"publishedAt":414,"icon":501,"imageId":502,"sortOrder":45,"isFeatured":10,"createdAt":503,"updatedAt":503,"deletedAt":28,"image":504,"translation":512},"cms5x846q0087p90j33an7fdr","flaticon-cloud-computing","cms5x83tc004jp90j4fon6isz","2026-07-29T10:07:32.402Z",{"id":502,"folderId":419,"uploadedById":186,"type":187,"filename":505,"originalName":505,"mimeType":189,"size":506,"width":451,"height":452,"storageKey":507,"url":508,"thumbnailUrl":508,"alt":509,"caption":28,"blurhash":28,"createdAt":510,"updatedAt":511,"deletedAt":28},"04.jpg",27808,"seed\u002Fservice\u002Fcloud-devops\u002F04.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fservice\u002Fcloud-devops\u002F04.jpg","Cloud infrastructure topology drawn out during an architecture review","2026-07-29T10:07:31.919Z","2026-07-29T10:31:55.710Z",{"id":513,"serviceId":500,"locale":6,"title":104,"slug":514,"shortDescription":515,"excerpt":516,"content":517,"features":518,"seoTitle":523,"seoDescription":516,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":524,"updatedAt":524},"cms5x846v0089p90j21vhjwij","cloud-devops","Reproducible infrastructure, automated delivery, measured reliability.","Infrastructure as code, container orchestration and deployment pipelines that make releases boring.","\u003Cp>We containerise workloads, codify infrastructure in Terraform, and wire up CI\u002FCD with quality gates so a release is a routine event rather than an evening operation.\u003C\u002Fp>",[519,520,521,522],"Terraform modules and environment parity","Zero-downtime deployment strategies","Centralised logging, metrics and tracing","Backup, restore drills and documented runbooks","Cloud & DevOps | Moodkuit","2026-07-29T10:07:32.407Z",{"id":526,"parentId":28,"status":172,"publishedAt":414,"icon":527,"imageId":528,"sortOrder":51,"isFeatured":10,"createdAt":529,"updatedAt":529,"deletedAt":28,"image":530,"translation":540},"cms5x8477008dp90j72eyh23a","flaticon-design","cms5x83ti004lp90jl4o2erka","2026-07-29T10:07:32.419Z",{"id":528,"folderId":419,"uploadedById":186,"type":187,"filename":531,"originalName":531,"mimeType":189,"size":532,"width":533,"height":534,"storageKey":535,"url":536,"thumbnailUrl":536,"alt":537,"caption":28,"blurhash":28,"createdAt":538,"updatedAt":539,"deletedAt":28},"05.jpg",11533,312,300,"seed\u002Fservice\u002Fui-ux-design\u002F05.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fservice\u002Fui-ux-design\u002F05.jpg","Design system components and tokens laid out on a studio wall","2026-07-29T10:07:31.925Z","2026-07-29T10:31:55.799Z",{"id":541,"serviceId":526,"locale":6,"title":542,"slug":543,"shortDescription":544,"excerpt":545,"content":546,"features":547,"seoTitle":552,"seoDescription":545,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":553,"updatedAt":553},"cms5x847c008fp90j4eycj71e","UI\u002FUX & Design Systems","ui-ux-design","Interface design grounded in research and shipped as a real system.","Research, prototypes and a token-driven design system your engineers can implement exactly.","\u003Cp>Design that stops at a Figma file becomes drift within two sprints. We deliver tokens, components and accessibility criteria alongside the visuals.\u003C\u002Fp>",[548,549,550,551],"Usability research and journey mapping","WCAG 2.2 AA criteria per component","Design tokens shared with the codebase","Interactive prototypes for stakeholder review","UI\u002FUX & Design Systems | Moodkuit","2026-07-29T10:07:32.424Z",{"id":555,"parentId":28,"status":172,"publishedAt":414,"icon":556,"imageId":557,"sortOrder":57,"isFeatured":10,"createdAt":558,"updatedAt":558,"deletedAt":28,"image":559,"translation":567},"cms5x847r008jp90jmj1ts3v6","flaticon-artificial-intelligence","cms5x83to004np90jgtonnmne","2026-07-29T10:07:32.439Z",{"id":557,"folderId":419,"uploadedById":186,"type":187,"filename":560,"originalName":560,"mimeType":189,"size":561,"width":533,"height":534,"storageKey":562,"url":563,"thumbnailUrl":563,"alt":564,"caption":28,"blurhash":28,"createdAt":565,"updatedAt":566,"deletedAt":28},"06.jpg",11750,"seed\u002Fservice\u002Fdata-ai-engineering\u002F06.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fservice\u002Fdata-ai-engineering\u002F06.jpg","Data pipeline lineage diagram on a monitor during a working session","2026-07-29T10:07:31.931Z","2026-07-29T10:31:55.738Z",{"id":568,"serviceId":555,"locale":6,"title":569,"slug":570,"shortDescription":571,"excerpt":572,"content":573,"features":574,"seoTitle":579,"seoDescription":572,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":580,"updatedAt":580},"cms5x847x008lp90jrc0vb4ao","Data & AI Engineering","data-ai-engineering","Pipelines, warehouses and applied AI with the governance to match.","From ingestion to dashboards to retrieval-augmented assistants, with lineage and access control throughout.","\u003Cp>We build the unglamorous parts properly — ingestion, schema evolution, lineage, cost controls — so the models on top produce answers you can defend.\u003C\u002Fp>",[575,576,577,578],"Batch and streaming ingestion pipelines","Warehouse modelling and semantic layers","Retrieval-augmented generation with source citations","Model evaluation harnesses and cost monitoring","Data & AI Engineering | Moodkuit","2026-07-29T10:07:32.445Z",[582,602,617],{"id":583,"sortOrder":11,"name":584,"slug":585,"items":586},"cms5x84sl00e1p90jj74of6jr","Working with us","working-with-us",[587,592,597],{"id":588,"sortOrder":11,"question":589,"answer":590,"slug":591},"cms5x84u400ehp90j7wv98h63","How does a project start?","With a paid discovery engagement of one to three weeks. You leave it owning the domain model, a scoped backlog, an architecture outline and a fixed delivery estimate — whether or not you continue with us.","how-does-a-project-start",{"id":593,"sortOrder":20,"question":594,"answer":595,"slug":596},"cms5x84uz00enp90jrncrevbs","Who owns the source code?","You do, from the first commit. Repositories live in your organisation and we work inside them. There is no escrow arrangement and no licence to buy back.","who-owns-the-source-code",{"id":598,"sortOrder":39,"question":599,"answer":600,"slug":601},"cms5x84vp00etp90j88d4sq7x","Can you work with our existing engineering team?","Yes — most of our engagements are embedded. We join your rituals, your repository and your on-call rotation, and we document decisions so your team can take over cleanly.","can-you-work-with-our-existing-engineering-team",{"id":603,"sortOrder":20,"name":604,"slug":605,"items":606},"cms5x84t600e6p90jq9a93ciz","Pricing & contracts","pricing-contracts",[607,612],{"id":608,"sortOrder":45,"question":609,"answer":610,"slug":611},"cms5x84we00ezp90j7webw3lh","Do you work fixed-price or time-and-materials?","Both. Discovery is always fixed-price. Delivery is usually a capped time-and-materials arrangement, because fixed-price delivery either pads the estimate or starves the scope.","do-you-work-fixed-price-or-time-and-materials",{"id":613,"sortOrder":51,"question":614,"answer":615,"slug":616},"cms5x84wx00f5p90j8ytebmpx","What does a typical engagement cost?","Discovery starts at IDR 45 million. Delivery engagements typically run from IDR 250 million for a focused platform to several billion for multi-year programmes. You get a written estimate before any commitment.","what-does-a-typical-engagement-cost",{"id":618,"sortOrder":39,"name":619,"slug":620,"items":621},"cms5x84tm00ebp90jldv0qv39","Support & maintenance","support",[622,627],{"id":623,"sortOrder":57,"question":624,"answer":625,"slug":626},"cms5x84xc00fbp90j38mj51s2","What happens after launch?","A hypercare window of 30 days is included, followed by an optional support agreement with defined response targets and a monthly reliability review.","what-happens-after-launch",{"id":628,"sortOrder":63,"question":629,"answer":630,"slug":631},"cms5x84xo00fhp90j4gc7sqjb","How do you handle security issues?","Dependencies are scanned on every pipeline run, and critical advisories are patched within 48 hours under an active support agreement. Report anything you find to security@moodkuit.com.","how-do-you-handle-security-issues",{"data":633,"meta":705},[634,653,670,687],{"id":635,"name":636,"logoId":637,"websiteUrl":638,"industry":639,"country":640,"isFeatured":10,"sortOrder":11,"createdAt":641,"updatedAt":641,"deletedAt":28,"logo":642,"_count":652},"cms5x843l007dp90jkjvuslcu","Nusantara Logistics","cms5x83rq0041p90jucdtv7pg","https:\u002F\u002Fnusantara-logistics.example.com","Logistics","Indonesia","2026-07-29T10:07:32.289Z",{"id":637,"folderId":643,"uploadedById":186,"type":187,"filename":237,"originalName":237,"mimeType":238,"size":644,"width":645,"height":646,"storageKey":647,"url":648,"thumbnailUrl":648,"alt":649,"caption":28,"blurhash":28,"createdAt":650,"updatedAt":651,"deletedAt":28},"cms5x83p40039p90jtui5vick",2210,124,80,"seed\u002Fclient\u002Fnusantara-logistics\u002F01.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fclient\u002Fnusantara-logistics\u002F01.png","Nusantara Logistics logo","2026-07-29T10:07:31.862Z","2026-07-29T10:31:55.046Z",{"portfolios":20,"caseStudies":20},{"id":654,"name":655,"logoId":656,"websiteUrl":657,"industry":658,"country":640,"isFeatured":10,"sortOrder":20,"createdAt":659,"updatedAt":659,"deletedAt":28,"logo":660,"_count":669},"cms5x843x007fp90j70uv3zxd","Amanah Syariah Digital","cms5x83ry0043p90j3b2qx4vi","https:\u002F\u002Famanah-syariah-digital.example.com","Financial Services","2026-07-29T10:07:32.301Z",{"id":656,"folderId":643,"uploadedById":186,"type":187,"filename":661,"originalName":661,"mimeType":238,"size":662,"width":663,"height":663,"storageKey":664,"url":665,"thumbnailUrl":665,"alt":666,"caption":28,"blurhash":28,"createdAt":667,"updatedAt":668,"deletedAt":28},"02.png",1632,85,"seed\u002Fclient\u002Famanah-syariah-digital\u002F02.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fclient\u002Famanah-syariah-digital\u002F02.png","Amanah Syariah Digital logo","2026-07-29T10:07:31.870Z","2026-07-29T10:31:54.990Z",{"portfolios":11,"caseStudies":11},{"id":671,"name":672,"logoId":673,"websiteUrl":674,"industry":675,"country":640,"isFeatured":10,"sortOrder":39,"createdAt":676,"updatedAt":676,"deletedAt":28,"logo":677,"_count":686},"cms5x8443007hp90js20lok6b","Sagara Health Group","cms5x83s50045p90j280jlxxq","https:\u002F\u002Fsagara-health-group.example.com","Healthcare","2026-07-29T10:07:32.308Z",{"id":673,"folderId":643,"uploadedById":186,"type":187,"filename":678,"originalName":678,"mimeType":238,"size":679,"width":680,"height":646,"storageKey":681,"url":682,"thumbnailUrl":682,"alt":683,"caption":28,"blurhash":28,"createdAt":684,"updatedAt":685,"deletedAt":28},"03.png",2340,122,"seed\u002Fclient\u002Fsagara-health-group\u002F03.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fclient\u002Fsagara-health-group\u002F03.png","Sagara Health Group logo","2026-07-29T10:07:31.877Z","2026-07-29T10:31:55.068Z",{"portfolios":20,"caseStudies":20},{"id":688,"name":689,"logoId":690,"websiteUrl":691,"industry":692,"country":640,"isFeatured":10,"sortOrder":45,"createdAt":693,"updatedAt":693,"deletedAt":28,"logo":694,"_count":704},"cms5x8448007jp90j6tdsmyin","Sanggar Kopi Ventures","cms5x83sd0047p90j8aregrzp","https:\u002F\u002Fsanggar-kopi-ventures.example.com","Retail & F&B","2026-07-29T10:07:32.312Z",{"id":690,"folderId":643,"uploadedById":186,"type":187,"filename":695,"originalName":695,"mimeType":238,"size":696,"width":697,"height":698,"storageKey":699,"url":700,"thumbnailUrl":700,"alt":701,"caption":28,"blurhash":28,"createdAt":702,"updatedAt":703,"deletedAt":28},"04.png",2236,129,70,"seed\u002Fclient\u002Fsanggar-kopi-ventures\u002F04.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fclient\u002Fsanggar-kopi-ventures\u002F04.png","Sanggar Kopi Ventures logo","2026-07-29T10:07:31.885Z","2026-07-29T10:31:55.087Z",{"portfolios":20,"caseStudies":11},{"page":20,"limit":706,"total":51,"totalPages":20,"hasNextPage":19,"hasPreviousPage":19},12,{"data":708,"meta":795},[709,730,749,768],{"id":710,"clientId":635,"avatarId":711,"status":172,"authorName":712,"companyName":636,"rating":57,"sortOrder":11,"createdAt":713,"updatedAt":713,"deletedAt":28,"avatar":714,"client":724,"translation":725},"cms5x84mi00bzp90jiadpk56b","cms5x8402006fp90jako0bsv1","Dimas Prasetyo","2026-07-29T10:07:32.970Z",{"id":711,"folderId":715,"uploadedById":186,"type":187,"filename":716,"originalName":716,"mimeType":189,"size":717,"width":718,"height":718,"storageKey":719,"url":720,"thumbnailUrl":720,"alt":721,"caption":28,"blurhash":28,"createdAt":722,"updatedAt":723,"deletedAt":28},"cms5x83qf003np90jri6j3aba","client-1.jpg",3520,166,"seed\u002Ftestimonial\u002Fnusantara-logistics\u002Fclient-1.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Ftestimonial\u002Fnusantara-logistics\u002Fclient-1.jpg","Portrait of Dimas Prasetyo","2026-07-29T10:07:32.162Z","2026-07-29T10:31:55.960Z",{"id":635,"name":636,"logoId":637,"websiteUrl":638,"industry":639,"country":640,"isFeatured":10,"sortOrder":11,"createdAt":641,"updatedAt":641,"deletedAt":28},{"id":726,"testimonialId":710,"locale":6,"quote":727,"authorRole":728,"createdAt":729,"updatedAt":729},"cms5x84mn00c1p90j5uuczu5z","They refused to start building until the domain model was right. That week of pushback saved us a year of rework.","Chief Operating Officer","2026-07-29T10:07:32.975Z",{"id":731,"clientId":671,"avatarId":732,"status":172,"authorName":733,"companyName":672,"rating":57,"sortOrder":20,"createdAt":734,"updatedAt":734,"deletedAt":28,"avatar":735,"client":743,"translation":744},"cms5x84n000c5p90jc6gxwc9x","cms5x8407006hp90jjeub7hnr","dr. Amelia Kusuma","2026-07-29T10:07:32.988Z",{"id":732,"folderId":715,"uploadedById":186,"type":187,"filename":736,"originalName":736,"mimeType":238,"size":737,"width":718,"height":718,"storageKey":738,"url":739,"thumbnailUrl":739,"alt":740,"caption":28,"blurhash":28,"createdAt":741,"updatedAt":742,"deletedAt":28},"client-2.png",8506,"seed\u002Ftestimonial\u002Fsagara-health-group\u002Fclient-2.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Ftestimonial\u002Fsagara-health-group\u002Fclient-2.png","Portrait of dr. Amelia Kusuma","2026-07-29T10:07:32.167Z","2026-07-29T10:31:55.978Z",{"id":671,"name":672,"logoId":673,"websiteUrl":674,"industry":675,"country":640,"isFeatured":10,"sortOrder":39,"createdAt":676,"updatedAt":676,"deletedAt":28},{"id":745,"testimonialId":731,"locale":6,"quote":746,"authorRole":747,"createdAt":748,"updatedAt":748},"cms5x84n600c7p90j6xdqmv79","The portal handles patient data the way a clinical system should — audited, scoped and boringly reliable.","Medical Director","2026-07-29T10:07:32.994Z",{"id":750,"clientId":688,"avatarId":751,"status":172,"authorName":752,"companyName":689,"rating":57,"sortOrder":39,"createdAt":753,"updatedAt":753,"deletedAt":28,"avatar":754,"client":762,"translation":763},"cms5x84nh00cbp90jqf8fdgby","cms5x840g006jp90jyjs3ox88","Hendra Wijaya","2026-07-29T10:07:33.005Z",{"id":751,"folderId":715,"uploadedById":186,"type":187,"filename":755,"originalName":755,"mimeType":238,"size":756,"width":718,"height":718,"storageKey":757,"url":758,"thumbnailUrl":758,"alt":759,"caption":28,"blurhash":28,"createdAt":760,"updatedAt":761,"deletedAt":28},"client-3.png",12296,"seed\u002Ftestimonial\u002Fsanggar-kopi-ventures\u002Fclient-3.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Ftestimonial\u002Fsanggar-kopi-ventures\u002Fclient-3.png","Portrait of Hendra Wijaya","2026-07-29T10:07:32.176Z","2026-07-29T10:31:55.998Z",{"id":688,"name":689,"logoId":690,"websiteUrl":691,"industry":692,"country":640,"isFeatured":10,"sortOrder":45,"createdAt":693,"updatedAt":693,"deletedAt":28},{"id":764,"testimonialId":750,"locale":6,"quote":765,"authorRole":766,"createdAt":767,"updatedAt":767},"cms5x84nl00cdp90jkvrhz0t0","Our outlets are in basements with terrible signal. Moodkuit designed for that reality instead of arguing with it.","VP Product","2026-07-29T10:07:33.009Z",{"id":769,"clientId":770,"avatarId":771,"status":172,"authorName":772,"companyName":773,"rating":51,"sortOrder":45,"createdAt":774,"updatedAt":774,"deletedAt":28,"avatar":775,"client":784,"translation":790},"cms5x84nx00chp90j77g5t9ng","cms5x844k007np90jtd6fa4xo","cms5x840p006lp90jeyo1ots9","Kenji Hoshino","Hoshino Manufacturing","2026-07-29T10:07:33.021Z",{"id":771,"folderId":715,"uploadedById":186,"type":187,"filename":776,"originalName":776,"mimeType":238,"size":777,"width":778,"height":778,"storageKey":779,"url":780,"thumbnailUrl":780,"alt":781,"caption":28,"blurhash":28,"createdAt":782,"updatedAt":783,"deletedAt":28},"client-4.png",8733,110,"seed\u002Ftestimonial\u002Fhoshino-manufacturing\u002Fclient-4.png","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Ftestimonial\u002Fhoshino-manufacturing\u002Fclient-4.png","Portrait of Kenji Hoshino","2026-07-29T10:07:32.185Z","2026-07-29T10:31:55.934Z",{"id":770,"name":773,"logoId":785,"websiteUrl":786,"industry":787,"country":788,"isFeatured":19,"sortOrder":57,"createdAt":789,"updatedAt":789,"deletedAt":28},"cms5x83sm004bp90j6qsopv7j","https:\u002F\u002Fhoshino-manufacturing.example.com","Manufacturing","Japan","2026-07-29T10:07:32.325Z",{"id":791,"testimonialId":769,"locale":6,"quote":792,"authorRole":793,"createdAt":794,"updatedAt":794},"cms5x84o400cjp90jfkt5n207","Documentation quality was the differentiator. Our own engineers picked up the codebase in two weeks.","Director of Digital","2026-07-29T10:07:33.028Z",{"page":20,"limit":371,"total":51,"totalPages":20,"hasNextPage":19,"hasPreviousPage":19},{"data":797,"meta":922},[798,843,883],{"id":799,"authorId":800,"coverImageId":801,"status":172,"publishedAt":802,"readingMinutes":57,"viewCount":347,"isFeatured":19,"allowComments":19,"createdAt":803,"updatedAt":804,"deletedAt":28,"coverImage":805,"author":816,"categories":819,"translation":835},"cms5x84ll00btp90joerbi9uc","cms5x83ok0035p90j1tmyvb7d","cms5x83yp0061p90jub9op0dm","2026-06-18T09:00:00.000Z","2026-07-29T10:07:32.937Z","2026-07-29T11:30:36.261Z",{"id":801,"folderId":806,"uploadedById":186,"type":187,"filename":807,"originalName":807,"mimeType":189,"size":808,"width":809,"height":810,"storageKey":811,"url":812,"thumbnailUrl":812,"alt":813,"caption":28,"blurhash":28,"createdAt":814,"updatedAt":815,"deletedAt":28},"cms5x83pu003jp90j5lwg5qs2","post-5.jpg",19429,356,240,"seed\u002Fpost\u002Fmoodkuit-opens-its-jakarta-engineering-studio\u002Fpost-5.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpost\u002Fmoodkuit-opens-its-jakarta-engineering-studio\u002Fpost-5.jpg","The Moodkuit engineering studio in South Jakarta","2026-07-29T10:07:32.113Z","2026-07-29T10:31:55.642Z",{"id":800,"name":817,"avatarUrl":818},"Rani Prameswari","\u002Fimages\u002Fnews\u002Fauthor_img2.jpg",[820],{"postId":799,"categoryId":821,"category":822},"cms5x84ey00aap90jb6oji1s9",{"id":821,"parentId":28,"sortOrder":39,"createdAt":823,"updatedAt":823,"deletedAt":28,"translations":824},"2026-07-29T10:07:32.698Z",[825,830],{"id":826,"categoryId":821,"locale":6,"name":827,"slug":828,"description":28,"seoTitle":28,"seoDescription":28,"createdAt":829,"updatedAt":829},"cms5x84f100acp90j2y6m0s42","Company","company","2026-07-29T10:07:32.701Z",{"id":831,"categoryId":821,"locale":15,"name":832,"slug":833,"description":28,"seoTitle":28,"seoDescription":28,"createdAt":834,"updatedAt":834},"cms5x84f600aep90jj3uqmqhi","Perusahaan","perusahaan","2026-07-29T10:07:32.706Z",{"id":836,"postId":799,"locale":6,"title":837,"slug":838,"excerpt":839,"content":840,"seoTitle":841,"seoDescription":839,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":842,"updatedAt":842},"cms5x84lp00bvp90jcjtrn32f","Moodkuit opens its Jakarta engineering studio","moodkuit-opens-its-jakarta-engineering-studio","A dedicated space for pairing, architecture reviews and client discovery sessions.","\u003Cp>Our new studio in South Jakarta gives delivery teams a permanent home for discovery workshops and architecture reviews, with clients invited into the room rather than the status report.\u003C\u002Fp>","Moodkuit opens its Jakarta engineering studio | Moodkuit","2026-07-29T10:07:32.941Z",{"id":844,"authorId":800,"coverImageId":845,"status":172,"publishedAt":846,"readingMinutes":51,"viewCount":384,"isFeatured":19,"allowComments":19,"createdAt":847,"updatedAt":848,"deletedAt":28,"coverImage":849,"author":858,"categories":859,"translation":875},"cms5x84kj00bnp90j5qo7aas1","cms5x83yk005zp90jsek60xg4","2026-06-10T09:00:00.000Z","2026-07-29T10:07:32.899Z","2026-07-29T11:34:05.294Z",{"id":845,"folderId":806,"uploadedById":186,"type":187,"filename":850,"originalName":850,"mimeType":189,"size":851,"width":334,"height":852,"storageKey":853,"url":854,"thumbnailUrl":854,"alt":855,"caption":28,"blurhash":28,"createdAt":856,"updatedAt":857,"deletedAt":28},"post-4.jpg",36028,402,"seed\u002Fpost\u002Fcore-web-vitals-budgets-that-survive-the-second-sprint\u002Fpost-4.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpost\u002Fcore-web-vitals-budgets-that-survive-the-second-sprint\u002Fpost-4.jpg","Performance budget failing a continuous integration run","2026-07-29T10:07:32.108Z","2026-07-29T10:31:55.623Z",{"id":800,"name":817,"avatarUrl":818},[860],{"postId":844,"categoryId":861,"category":862},"cms5x84dx00a0p90jq4hj1xcq",{"id":861,"parentId":28,"sortOrder":11,"createdAt":863,"updatedAt":863,"deletedAt":28,"translations":864},"2026-07-29T10:07:32.661Z",[865,870],{"id":866,"categoryId":861,"locale":6,"name":867,"slug":868,"description":28,"seoTitle":28,"seoDescription":28,"createdAt":869,"updatedAt":869},"cms5x84e300a2p90jrmk5oan0","Engineering","engineering","2026-07-29T10:07:32.667Z",{"id":871,"categoryId":861,"locale":15,"name":872,"slug":873,"description":28,"seoTitle":28,"seoDescription":28,"createdAt":874,"updatedAt":874},"cms5x84e900a4p90jp567w33d","Rekayasa","rekayasa","2026-07-29T10:07:32.674Z",{"id":876,"postId":844,"locale":6,"title":877,"slug":878,"excerpt":879,"content":880,"seoTitle":881,"seoDescription":879,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":882,"updatedAt":882},"cms5x84kn00bpp90jwdu8sgdr","Core Web Vitals budgets that survive the second sprint","core-web-vitals-budgets-that-survive-the-second-sprint","A launch-day Lighthouse score is a snapshot. A CI budget is a guarantee.","\u003Cp>Performance regressions arrive one innocuous import at a time. The fix is structural: budgets enforced in CI, with the build failing when LCP or total bundle size crosses the line.\u003C\u002Fp>","Core Web Vitals budgets that survive the second sprint | Moodkuit","2026-07-29T10:07:32.902Z",{"id":884,"authorId":800,"coverImageId":885,"status":172,"publishedAt":886,"readingMinutes":63,"viewCount":347,"isFeatured":19,"allowComments":19,"createdAt":887,"updatedAt":888,"deletedAt":28,"coverImage":889,"author":897,"categories":898,"translation":914},"cms5x84jx00bhp90ja6t3v8st","cms5x83ye005xp90jvw3zr4ne","2026-06-02T09:00:00.000Z","2026-07-29T10:07:32.877Z","2026-07-29T11:30:31.521Z",{"id":885,"folderId":806,"uploadedById":186,"type":187,"filename":890,"originalName":890,"mimeType":189,"size":891,"width":334,"height":852,"storageKey":892,"url":893,"thumbnailUrl":893,"alt":894,"caption":28,"blurhash":28,"createdAt":895,"updatedAt":896,"deletedAt":28},"post-3.jpg",24710,"seed\u002Fpost\u002Fthe-audit-log-is-a-feature-not-a-debugging-tool\u002Fpost-3.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fpost\u002Fthe-audit-log-is-a-feature-not-a-debugging-tool\u002Fpost-3.jpg","Audit trail entries reviewed in an admin interface","2026-07-29T10:07:32.102Z","2026-07-29T10:31:55.674Z",{"id":800,"name":817,"avatarUrl":818},[899],{"postId":884,"categoryId":900,"category":901},"cms5x84eh00a5p90jy18t0toq",{"id":900,"parentId":28,"sortOrder":20,"createdAt":902,"updatedAt":902,"deletedAt":28,"translations":903},"2026-07-29T10:07:32.681Z",[904,909],{"id":905,"categoryId":900,"locale":6,"name":906,"slug":907,"description":28,"seoTitle":28,"seoDescription":28,"createdAt":908,"updatedAt":908},"cms5x84ek00a7p90jtwmn33gk","Product","product","2026-07-29T10:07:32.685Z",{"id":910,"categoryId":900,"locale":15,"name":911,"slug":912,"description":28,"seoTitle":28,"seoDescription":28,"createdAt":913,"updatedAt":913},"cms5x84er00a9p90jkb1sr9kr","Produk","produk","2026-07-29T10:07:32.689Z",{"id":915,"postId":884,"locale":6,"title":916,"slug":917,"excerpt":918,"content":919,"seoTitle":920,"seoDescription":918,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":921,"updatedAt":921},"cms5x84k100bjp90j2v8tly9p","The audit log is a feature, not a debugging tool","the-audit-log-is-a-feature-not-a-debugging-tool","If your CMS cannot answer \"who changed this and when\", it is not enterprise software yet.","\u003Cp>Audit logging added late becomes a scattering of ad-hoc writes. Added early, as an interceptor around the mutation boundary, it costs almost nothing and covers everything.\u003C\u002Fp>\u003Ch2>What to record\u003C\u002Fh2>\u003Cp>Actor, action, entity, entity id, a redacted before\u002Fafter diff, request id, IP and user agent. Secrets and password hashes are stripped before the row is written — an audit trail that leaks credentials is a liability, not a control.\u003C\u002Fp>","The audit log is a feature, not a debugging tool | Moodkuit","2026-07-29T10:07:32.882Z",{"page":20,"limit":45,"total":57,"totalPages":39,"hasNextPage":10,"hasPreviousPage":19},{"data":924,"meta":1041},[925,954,979,1005],{"id":926,"clientId":635,"status":172,"publishedAt":927,"coverImageId":928,"projectUrl":28,"completedAt":929,"sortOrder":11,"isFeatured":10,"createdAt":930,"updatedAt":930,"deletedAt":28,"coverImage":931,"client":941,"translation":942},"cms5x848h008pp90jt31wasci","2026-03-03T09:00:00.000Z","cms5x83u9004tp90j69g1ufex","2026-04-02T09:00:00.000Z","2026-07-29T10:07:32.466Z",{"id":928,"folderId":932,"uploadedById":186,"type":187,"filename":420,"originalName":420,"mimeType":189,"size":933,"width":934,"height":935,"storageKey":936,"url":937,"thumbnailUrl":937,"alt":938,"caption":28,"blurhash":28,"createdAt":939,"updatedAt":940,"deletedAt":28},"cms5x83pa003dp90j0djb5akg",25006,427,503,"seed\u002Fportfolio\u002Fnusantara-fleet-operations-platform\u002F01.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fportfolio\u002Fnusantara-fleet-operations-platform\u002F01.jpg","Fleet dispatch board showing live vehicle positions across depots","2026-07-29T10:07:31.953Z","2026-07-29T10:31:55.568Z",{"id":635,"name":636,"logoId":637,"websiteUrl":638,"industry":639,"country":640,"isFeatured":10,"sortOrder":11,"createdAt":641,"updatedAt":641,"deletedAt":28},{"id":943,"portfolioId":926,"locale":6,"title":944,"slug":945,"category":946,"excerpt":947,"content":948,"challenge":949,"solution":950,"result":951,"seoTitle":952,"seoDescription":947,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":953,"updatedAt":953},"cms5x848p008rp90jesv5sq7s","Nusantara Fleet Operations Platform","nusantara-fleet-operations-platform","Logistics Platform","Real-time dispatch, telemetry and settlement for a 2,400-vehicle fleet across 38 depots.","\u003Cp>Real-time dispatch, telemetry and settlement for a 2,400-vehicle fleet across 38 depots.\u003C\u002Fp>","Dispatchers reconciled routes across three disconnected systems and a spreadsheet, so settlement lagged deliveries by eleven days.","A single event-sourced operations platform: GPS telemetry ingestion, rule-based dispatch, and automated settlement generated from delivery events.","Settlement lag fell from 11 days to under 4 hours and depot utilisation improved 23%.","Nusantara Fleet Operations Platform | Moodkuit","2026-07-29T10:07:32.473Z",{"id":955,"clientId":671,"status":172,"publishedAt":956,"coverImageId":957,"projectUrl":28,"completedAt":958,"sortOrder":20,"isFeatured":10,"createdAt":959,"updatedAt":959,"deletedAt":28,"coverImage":960,"client":967,"translation":968},"cms5x849k008vp90jv5bh2jkm","2026-03-23T09:00:00.000Z","cms5x83ug004vp90j0pbripp0","2026-04-22T09:00:00.000Z","2026-07-29T10:07:32.504Z",{"id":957,"folderId":932,"uploadedById":186,"type":187,"filename":449,"originalName":449,"mimeType":189,"size":961,"width":934,"height":935,"storageKey":962,"url":963,"thumbnailUrl":963,"alt":964,"caption":28,"blurhash":28,"createdAt":965,"updatedAt":966,"deletedAt":28},21120,"seed\u002Fportfolio\u002Fsagara-patient-portal\u002F02.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fportfolio\u002Fsagara-patient-portal\u002F02.jpg","Patient portal appointment screen on a clinic reception terminal","2026-07-29T10:07:31.959Z","2026-07-29T10:31:55.586Z",{"id":671,"name":672,"logoId":673,"websiteUrl":674,"industry":675,"country":640,"isFeatured":10,"sortOrder":39,"createdAt":676,"updatedAt":676,"deletedAt":28},{"id":969,"portfolioId":955,"locale":6,"title":970,"slug":971,"category":675,"excerpt":972,"content":973,"challenge":974,"solution":975,"result":976,"seoTitle":977,"seoDescription":972,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":978,"updatedAt":978},"cms5x849n008xp90jqv25quyd","Sagara Patient Portal","sagara-patient-portal","Appointment booking, medical records and teleconsultation for 14 clinics.","\u003Cp>Appointment booking, medical records and teleconsultation for 14 clinics.\u003C\u002Fp>","Patients queued on the phone for appointments while clinic staff re-keyed the same details into two systems.","A patient-facing portal with HL7-compatible record sync, encrypted document storage and role-scoped clinician access.","Phone bookings dropped 68% and no-shows fell by a third after automated reminders.","Sagara Patient Portal | Moodkuit","2026-07-29T10:07:32.507Z",{"id":980,"clientId":688,"status":172,"publishedAt":981,"coverImageId":982,"projectUrl":28,"completedAt":983,"sortOrder":39,"isFeatured":10,"createdAt":984,"updatedAt":984,"deletedAt":28,"coverImage":985,"client":992,"translation":993},"cms5x84a40091p90j3ueihneh","2026-04-12T09:00:00.000Z","cms5x83uq004xp90je9205apr","2026-05-12T09:00:00.000Z","2026-07-29T10:07:32.524Z",{"id":982,"folderId":932,"uploadedById":186,"type":187,"filename":478,"originalName":478,"mimeType":189,"size":986,"width":934,"height":935,"storageKey":987,"url":988,"thumbnailUrl":988,"alt":989,"caption":28,"blurhash":28,"createdAt":990,"updatedAt":991,"deletedAt":28},39536,"seed\u002Fportfolio\u002Fsanggar-kopi-loyalty-app\u002F03.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fportfolio\u002Fsanggar-kopi-loyalty-app\u002F03.jpg","Loyalty application order flow shown on a handset in an outlet","2026-07-29T10:07:31.969Z","2026-07-29T10:31:55.606Z",{"id":688,"name":689,"logoId":690,"websiteUrl":691,"industry":692,"country":640,"isFeatured":10,"sortOrder":45,"createdAt":693,"updatedAt":693,"deletedAt":28},{"id":994,"portfolioId":980,"locale":6,"title":995,"slug":996,"category":997,"excerpt":998,"content":999,"challenge":1000,"solution":1001,"result":1002,"seoTitle":1003,"seoDescription":998,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":1004,"updatedAt":1004},"cms5x84a90093p90jj3eiwjlq","Sanggar Kopi Loyalty App","sanggar-kopi-loyalty-app","Mobile Commerce","Cross-platform ordering and loyalty for 600+ outlets, built for weak-signal conditions.","\u003Cp>Cross-platform ordering and loyalty for 600+ outlets, built for weak-signal conditions.\u003C\u002Fp>","The previous app failed whenever connectivity dropped inside malls, and outlet staff abandoned it.","Offline-first order queueing with conflict-free replicated state, plus a lightweight outlet terminal.","Order completion rose to 99.2% and repeat purchase frequency increased 31%.","Sanggar Kopi Loyalty App | Moodkuit","2026-07-29T10:07:32.529Z",{"id":1006,"clientId":1007,"status":172,"publishedAt":1008,"coverImageId":1009,"projectUrl":28,"completedAt":1010,"sortOrder":45,"isFeatured":19,"createdAt":1011,"updatedAt":1011,"deletedAt":28,"coverImage":1012,"client":1022,"translation":1029},"cms5x84ar0097p90jlvpabb7m","cms5x844e007lp90jf0da546a","2026-05-02T09:00:00.000Z","cms5x83uy004zp90jhpi6cl5n","2026-06-01T09:00:00.000Z","2026-07-29T10:07:32.547Z",{"id":1009,"folderId":932,"uploadedById":186,"type":187,"filename":1013,"originalName":1013,"mimeType":189,"size":1014,"width":1015,"height":1016,"storageKey":1017,"url":1018,"thumbnailUrl":1018,"alt":1019,"caption":28,"blurhash":28,"createdAt":1020,"updatedAt":1021,"deletedAt":28},"10.jpg",21717,420,450,"seed\u002Fportfolio\u002Fmeridian-energy-analytics\u002F10.jpg","https:\u002F\u002Fcdn.moodkuit.com\u002Fmoodkuit\u002Fseed\u002Fportfolio\u002Fmeridian-energy-analytics\u002F10.jpg","Analytics warehouse dashboard consolidating regional business units","2026-07-29T10:07:31.978Z","2026-07-29T10:31:55.552Z",{"id":1007,"name":1023,"logoId":1024,"websiteUrl":1025,"industry":1026,"country":1027,"isFeatured":19,"sortOrder":51,"createdAt":1028,"updatedAt":1028,"deletedAt":28},"Meridian Energy Asia","cms5x83si0049p90ja8r3tegt","https:\u002F\u002Fmeridian-energy-asia.example.com","Energy","Singapore","2026-07-29T10:07:32.319Z",{"id":1030,"portfolioId":1006,"locale":6,"title":1031,"slug":1032,"category":1033,"excerpt":1034,"content":1035,"challenge":1036,"solution":1037,"result":1038,"seoTitle":1039,"seoDescription":1034,"seoKeywords":28,"canonicalUrl":28,"ogImageUrl":28,"noIndex":19,"noFollow":19,"createdAt":1040,"updatedAt":1040},"cms5x84av0099p90jlhwtb9ef","Meridian Energy Analytics Warehouse","meridian-energy-analytics","Data Platform","Consolidated sensor and trading data across six regional business units.","\u003Cp>Consolidated sensor and trading data across six regional business units.\u003C\u002Fp>","Each business unit reported different numbers for the same quarter because nobody agreed on the source of truth.","A governed warehouse with a semantic layer, documented lineage and contract tests on every ingestion job.","Month-end close shortened from nine days to two, with a single certified metric set.","Meridian Energy Analytics Warehouse | Moodkuit","2026-07-29T10:07:32.551Z",{"page":20,"limit":63,"total":51,"totalPages":20,"hasNextPage":19,"hasPreviousPage":19}]