Dilli
Online shop for a clothing brand
An online shop for Dilli, a clothing brand born in Japan and now worn in Australia too. Oversized graphic tees, each print starting with a place or a symbol, sold on a site in English and Japanese that is simple to order from.
Visit Live Site

Dilli needed a shop that feels like the brand: black and white like its logo, real people wearing the shirts, English and Japanese, and ordering a shirt in under a minute.
Top highlights

A homepage that leads with the shirts
While the photos load, the DL mark breaks apart into the full Dilli wordmark. Then the five shirts fan out underneath it. Every photo is a real shirt being worn, with no mockups or AI images.

Ask Dilli, the shop assistant
Ask Dilli answers questions about the shirts, sizing, the brand and ordering, in the visitor’s language and in a few short sentences. It is told never to invent shipping costs, stock or returns, so when it doesn’t know it points to the contact page.

Pick a size, send the order
Each shirt has its own page with photos, the price in yen, sizes, fabric and care. Checkout asks only for a name, phone number and email. There is no card payment yet, so the Dilli team emails back to confirm the size, shipping and payment.

English and Japanese
On a first visit the site picks the language from the visitor’s phone or computer. A button in the top bar switches it, and the site remembers that choice next time.

The story behind the prints
Every Dilli print starts with a place or a symbol: the Himalayas, the Trishul, antique art, the Om. The Our story page tells that story in black and white, to match the logo.
Behind the site, for the team
Orders and stock in one place
Every order and message lands in the admin. Stock is kept per size, taken when an order is marked paid and given back if it is cancelled.
Visitor stats without cookies
The admin shows visits and top pages without cookies and without storing anyone’s IP address, so the site needs no consent banner.
Reports, spending and invoices
Weekly and monthly email reports, plus spending, invoices, discount codes and a site notice, all managed from the same admin.
Project overview
- Client
- Dilli, a clothing brand born in Japan and now worn in Australia too. It makes oversized graphic tees in a cotton and Lycra blend.
- My role
- Design and development of the online shop, the shop assistant and the admin.
- Deliverables
- Shop with a home page, five product pages, cart, checkout, story, contact and privacy pages
- Every page in English and Japanese
- Ask Dilli, an AI shop assistant
- A loading animation built from the logo
- Ordering by email confirmation, ready for card payments later
- Admin with orders, stock, customers, discount codes, visitor stats, spending and reports
- Status
- Live at dilli.jp.
Technical details for developers
Stack, architecture and how it is built.
Stack
Architecture
Static site, small Worker
The shop is a static Next.js export served from Cloudflare. Only requests to /api reach a Worker, which handles orders, the contact form, the assistant and the admin, and stores data in D1 (SQLite).
Ask Dilli
The chat goes through the Worker to Claude Haiku 5.5 on OpenRouter and streams the reply back as it arrives. Its instructions are built from the same product file as the shop, so it only knows the real shirts. Each IP gets 12 messages a minute, only the latest 12 messages are sent, and chats are not stored.
Orders and stock
Checkout saves the order with its shirts, sizes and total, and the form is limited to 3 sends a minute per IP. Stock per size lives in D1 and only changes when the team marks an order paid or cancelled.
Highlights
Cookieless Analytics
Each page view is recorded without a cookie and without storing the visitor’s IP address. Weekly and monthly reports are sent by cron.
Locked-Down Admin
The admin password exists only as a hash in a Worker secret, and sign-in attempts are rate-limited per IP.
Want something like this?
I build online shops that look like the brand and are simple to order from.