Indigo Yard
A small textile studio moved its orders out of Instagram messages and onto its own site, designed in Figma and built with AI tools in three weeks.
Sample project. Replace with real work.
Problem
Indigo Yard is a two-person studio that hand-dyes cloth. Every sale happened in Instagram messages: a customer saw a post, asked the price, asked how much was left, asked about shipping, and the conversation often stopped there. The owner was spending her evenings answering the same four questions (sample context for this placeholder project).
Customers couldn’t find price, stock and shipping without asking, so orders stalled in conversations and the owner became the website.
Research
I went through three months of her messages with her and tagged every customer question. Then I spoke to five customers about the last time they bought cloth online (sample research).
I always ask how many yards are left before I ask the price. There’s no point loving it if there isn’t enough for a dress.
- Four questions made up most messages: price, yards left, care, and shipping time.
- Customers arrive from Instagram, on phones, usually on mobile data.
- The owner did not want a full shop. Each piece is different, and she likes to confirm the order personally.
User flows
Customers arrive from Instagram, on phones, usually on mobile data.
The link opens the cloth from the post, not the home page.
The questions from her messages are answered on the page. Yards left sit on the same line as the price.
An order request, not a checkout. The owner confirms each piece personally.
Requests arrive with cloth, length and colour filled in, so most need one reply (sample).
Key decisions
An order request, not a checkout
Customers choose a length and send a request. The owner confirms and takes payment the way she already does.
A full shop with cart, payments and shipping rules.
Trade-off. Orders aren't instant. But it matches how she works, avoids payment fees on small orders, and could ship in three weeks.
Yards in stock sit beside the price
Price per yard and yards left, on the same line, on every product.
Stock only shown at the point of ordering, which most shop templates do.
Trade-off. Low stock is visible to everyone. The owner worried this would put people off; in testing it made people decide faster (sample).
The direction I dropped was a full-screen video of the dye vats on the home page. It was beautiful and it was the owner’s favourite. But customers arrive on phones, on mobile data, from a post they already watched, so the process now lives on the About page.
Solution
This is where the “AI-assisted” part of my title gets specific.
- Figma. I designed the home, catalogue, product and request screens with real components and named variables, so the names could carry straight into code.
- Lovable. In one afternoon I had a clickable version on a real URL to put in front of three customers. It was throwaway, and that was the point.
- Claude Code. I built the production site with it, page by page, giving it the Figma frames, the tokens and a written spec for each state and breakpoint.
- VS Code, by hand. I read every diff. I rewrote the focus states, fixed heading order, added alt text from the owner’s own descriptions of each cloth, and set explicit image sizes so nothing jumps while loading.
Outcome
Placeholder results until real ones are supplied.
- Orders now arrive with cloth, length and colour already filled in, so most need one reply instead of several (sample).
- Lighthouse scores of 95 or more on a mid-range phone, e.g. Performance 97, Accessibility 100 (sample).
- The owner updates stock in a simple file she edits herself (sample).
What I’d do next
- A small content editor so stock can be changed from her phone rather than a laptop.
- Real photography. The site launched with her own phone photos; a half-day shoot would lift every page.
- Measure the request-to-sale rate to find out whether the request flow should become a real checkout.