Patroon.id
A website for a Yogyakarta custom fashion brand that began as a "coming soon" page, grew into a bilingual catalog powered by a chatbot, so the Patroon team could stay focused on their premium products.
Phase 1: Starting Simple
It all started from a very concrete need. Patroon, a premium custom clothing brand from Yogyakarta, needed a digital presence. Not an online store with a shopping cart and a payment system — that was never the model. Every piece is made to order, after a conversation about fabric, fit, and what the customer actually needs. What was needed was a place to show the work, and a bridge toward that conversation.
The first thing that appeared on screen was a coming soon page. Nothing special — just the brand name, a few lines of text, and a dark background. But at least it was real and it was live.
Behind the scenes, one early decision turned out to be the wrong call. The technology chosen first wasn't quite right for where the project was heading. Once that became clear, it made more sense to swap it out early than to keep building on a foundation that wouldn't hold. So everything started over with a different approach. The right call, even if it cost some time.
Phase 2: Building a Catalog Worth Having
Once the foundation changed, things moved with more direction. The priorities were clear: good product pages, easy navigation, and a path to the Patroon team via WhatsApp at the end of every user journey.
For managing content, we chose a web-based content management system that let the Patroon team add and update products on their own, without touching any code. That mattered because the developer and the content team are different people with different working rhythms.
Some of what was built in this phase was immediately visible to users: product photos that could be zoomed in, organized collections, related product suggestions at the bottom of each page, breadcrumbs to help with navigation. Other things were invisible but just as important: clean URL structures, a sitemap so search engines could find every page, and a containerized setup so the application ran consistently on any server.
One decision that might have seemed excessive for this stage was building the site in two languages from the very start — Indonesian and English. The reasoning was simple but strategic. Patroon serves both local customers and expats or foreign visitors in Yogyakarta. Building bilingual from the start is far easier than trying to add it later on top of a system never designed for it.
Phase 3: The Chatbot, Born Out of Curiosity
There was no big meeting or formal decision behind Patroon's chatbot. Just curiosity. All the pieces were available, generative AI had matured, and there was a question worth exploring: could an assistant be built that genuinely understood Patroon's context, rather than just answering generic questions?
The first version worked on a fairly elegant concept. Every product and FAQ from Patroon was converted into a mathematical form that could be compared against other content based on meaning. When a user asked something, the question was converted the same way, and the system found the most relevant Patroon content to use as context for the AI's answer. The result was an assistant drawing not just from general knowledge, but from Patroon's own information.
The first problem that came up wasn't about answer quality. It was speed. Users had to wait three to five seconds before the first response appeared — even for something as simple as "hi." That couldn't stay.
The fix came in layers. Some processes that had been running one after another started running at the same time. Simple questions with recognizable patterns got a faster path that skipped the heavier analysis steps. Frequently used results were cached so they didn't need to be retrieved again each time. The outcome: response time for greetings dropped by around 80 percent. More complex questions dropped 35 to 40 percent.
What was interesting about the whole optimization process was that no single fix solved everything. Each layer contributed a little, and the cumulative effect was what users actually felt.
Phase 4: When Google Couldn't Find Patroon's Products
There was a moment that hit pretty hard. Google Search Console showed that out of 37 products, only 7 had been indexed and could appear in search results. The other 30 effectively didn't exist.
The cause wasn't bad content or broken pages. It was how the system generated product pages: each page was only built when someone visited it, not prepared in advance. Search engines don't wait patiently for slow-loading pages when they're crawling a site. They index what they can find quickly, then move on.
The fix was telling the system to pre-build all product pages before anyone visited them. Once that change was deployed, 74 pages were immediately available — 37 products in two languages. Google found all of them.
From there, a more thorough SEO audit began. Structured information about the business was added to every page: name, address, opening hours, business category, social media links — all in a format search engines understand. That helps Google surface richer, more informative results when someone searches for Patroon.
During that process, a subtler problem also came up. Some of the website copy used language that targeted a specific gender, even though Patroon makes clothing for everyone. All of it was rewritten, and a more consistent brand voice guide was set from that point on.
Phase 5: The Big Upgrade and What Came With It
Technology doesn't stand still. The tools this project was built on kept evolving, and there comes a point where putting off updates becomes a risk rather than a saving. In early 2026, the decision was made to update almost the entire technology stack at once: the core framework, the AI libraries, the styling system, the server runtime — everything to its latest version.
That kind of work sounds like routine maintenance. In practice, it rarely is. Each new version brings changes in how things work, and those changes don't always play nicely with what was built before. Several things that had been running fine suddenly stopped working.
One of the bigger surprises was a change in how the framework handled authentication and language routing at the same time. The old approach was no longer supported. It took a few days to understand the new way and rebuild that layer from scratch.
There was also an accidental discovery that turned out to be an improvement. The AI now responds in whichever language the user is typing in, not the language of the URL they opened. If someone visits the English version of the site but writes in Indonesian, the AI replies in Indonesian. That behavior makes more human sense, and it was kept.
Phase 6: The Chatbot as Gatekeeper of the Team's Time
Patroon believes the human touch cannot be replaced at any stage of making a garment. But an irony emerged as the digital presence grew. The team, whose attention should be fully on fabric, pattern, and the details of the craft, was spending time answering the same questions over and over again. How much does it cost? How long does it take? What materials do you work with?
Those questions are valid and important to prospective customers. But answering them one by one, every day, is work a machine can do — which means the people don't have to.
That's what led to the chatbot on the product page: a panel that opens directly without leaving the page, already knowing which product is being viewed, ready to handle the initial questions. By the time a prospective customer actually connects with the Patroon team, the conversation has moved past "how much is this" and can go straight to what actually matters — which fabric suits the occasion, what details they want customized, when the piece needs to be ready.
Phase 7: Measurements, Privacy, and Getting It Right
Custom clothing needs body measurements. That simple fact opened up a set of questions that weren't simple at all.
If the chatbot collects measurements through conversation, where does that data go? Does it need to be sent to an external AI system? How do you make sure those very personal numbers don't end up somewhere they shouldn't?
The decision was firm: measurements are never sent to any AI system. The AI only knows whether a measurement has been provided or not — not the actual number. So it can say "we're still missing your chest measurement, could you add that?" without ever knowing the numbers that were already given.
The actual values are stored only in the user's browser. When the customer is ready to order, everything is assembled into a pre-formatted WhatsApp message that includes the product name, a link to the product, and any preferences mentioned in the conversation — color, fabric type, and so on.
Getting to a solution that worked wasn't a straight line. There was an embarrassing bug discovered after the system was already live: the "Order Now" button that was supposed to carry the measurements into WhatsApp wasn't actually doing that. The AI had been instructed to embed a WhatsApp link directly inside its own text responses — but that link had no access to the measurements stored in the browser. The result: the customer clicks, the message goes to WhatsApp, but without a single measurement from the entire conversation.
The fix was a change in approach, not just a patch. The AI no longer generates any links. It simply says "tap the Order Now button below." That button, fully controlled by the system, pulls all the measurements from the browser and assembles a complete WhatsApp message. One change in principle, problem fully resolved.
Phase 8: Thinking About How Other AIs Find Patroon
In early 2026, how people look for things started shifting. A growing number weren't typing into Google anymore — they were asking ChatGPT, or other AI assistants. A question like "where can I get a custom kebaya made in Yogyakarta" might now be answered by an AI, not a list of search results.
That raised a new question: do those AI systems actually know about Patroon?
The answer depends on whether those models have ever seen Patroon's content in a form they can understand. A few steps were taken to improve the odds. A concise text file describing Patroon, its products, and how to reach the team was made available on the website in a format designed specifically to be readable by AI systems. The rules around which bots could access the site were also updated: bots that cite sources were let in, bots that only harvest data to train their own models were blocked.
The impact isn't easy to measure. There's no dashboard showing how many times Patroon was mentioned by ChatGPT or Claude. But the logic holds, and the steps weren't expensive to take.
Where Things Stand
Patroon today is not a coming soon page. It's a bilingual platform with dozens of fully indexed products, an AI assistant that can walk someone through the collection and help them figure out how to order, and a system that connects those digital conversations directly to the Patroon team via WhatsApp in a format they can act on right away.
A lot is still unfinished. Some visual details still need work. An accessibility audit produced a list that hasn't been fully worked through yet.
But what's changed since that first commit isn't just the feature list. The way of thinking about what's being built has changed too. A website isn't just a container for products. It's the first point of contact between Patroon and someone who might be looking for something to wear on the most important day of their life. The conversation that starts here — even with a machine — should feel like a real one.
Like what you see?
I'm open to freelance projects and full-time roles. If you need someone who obsesses over structure and ships clean code — let's talk.
:quality(70))