Ecommerce · React
Independent bookshop
Literary bookshop storefront with staff picks, translations, store hours, delivery across India and a letter.

What you get
A site for an independent bookshop: an editorial hero, fiction, non-fiction, translations and children's books with prices, delivery and returns, reader quotes, opening hours with the address, and a Sunday-letter sign-up. All content lives in src/site.ts.
Files
Exactly what is copied into a new project: 13 files, nothing generated.
Explorer 13
import type { Site } from "./types"; /** Everything this site shows. Edit freely. */export const site: Site = { "brand": "Lantern Street Books", "nav": [ { "label": "Books", "href": "#books" }, { "label": "Delivery", "href": "#delivery" }, { "label": "Visit", "href": "#visit" }, { "label": "Sunday letter", "href": "#letter" } ], "navCta": { "label": "Browse books", "href": "#books" }, "sections": [ { "kind": "hero", "variant": "editorial", "eyebrow": "Independent since 2011 · Indiranagar, Bengaluru", "title": "A small shop with a long reading list.", "text": "Around 6,000 books chosen by five booksellers, with a wall of Indian-language translations and a children's corner with floor cushions. Order online or come in and browse.", "primary": { "label": "Browse books", "href": "#books" }, "secondary": { "label": "Visit the shop", "href": "#visit" }, "visual": { "type": "card", "tone": "#713f12", "title": "This month's reading circle", "lines": [ "The Monsoon Ledger, Anjali Rao", "Last Saturday of the month, 6 pm", "Free, tea included" ] } }, { "kind": "products", "id": "books", "eyebrow": "Staff picks", "title": "On the front table", "text": "Paperbacks unless noted. Signed copies while they last.", "currency": "₹", "items": [ { "name": "The Monsoon Ledger", "price": 499, "category": "Fiction", "tone": "#713f12", "text": "Anjali Rao · a family saga across three floods.", "badge": "Bestseller" }, { "name": "Salt for the Crows", "price": 450, "category": "Fiction", "tone": "#365314", "text": "Daniel Okafor · a debut set in a fishing town.", "badge": "New" }, { "name": "A House on Cubbon Road", "price": 599, "category": "Fiction", "tone": "#7c2d12", "text": "Meera Iyer · hardback.", "badge": "Signed copy" }, { "name": "The Long Tide", "price": 399, "category": "Fiction", "tone": "#1e3a5f", "text": "Thomas Hale · short novel, 180 pages." }, { "name": "Rivers of Iron", "price": 899, "category": "Non-fiction", "tone": "#44403c", "text": "A history of the railways, 1853 to 1947." }, { "name": "Small Kitchens", "price": 750, "category": "Non-fiction", "tone": "#9a3412", "text": "Recipes for two burners and one pan." }, { "name": "Birds of the Deccan", "price": 650, "category": "Non-fiction", "tone": "#3f6212", "text": "A field notebook with 140 illustrations.", "badge": "Low stock" }, { "name": "Kaveri Diaries", "price": 420, "category": "Translations", "tone": "#854d0e", "text": "Translated from Kannada by R. Shetty." }, { "name": "Nine Stories from Malayalam", "price": 380, "category": "Translations", "tone": "#57534e", "text": "An anthology of new writers.", "badge": "New" }, { "name": "Pip and the Paper Boat", "price": 299, "category": "Children's", "tone": "#a16207", "text": "Picture book, ages 3 to 6." }, { "name": "Counting Mangoes", "price": 250, "category": "Children's", "tone": "#b45309", "text": "Board book, ages 1 to 3." } ] }, { "kind": "features", "id": "delivery", "eyebrow": "Delivery & returns", "title": "Books by post, wrapped by hand", "columns": 4, "items": [ { "title": "Free over ₹999", "text": "₹60 below that. Bengaluru in 1 to 2 days, the rest of India in 3 to 6.", "icon": "truck" }, { "title": "Damaged in transit?", "text": "Send us a photo within 7 days and we'll post a fresh copy free.", "icon": "box" }, { "title": "Gift wrapping", "text": "Brown paper, string and a handwritten note for ₹40.", "icon": "heart" }, { "title": "Special orders", "text": "If it's in print, we can usually get it in 7 to 14 days.", "icon": "book" } ] }, { "kind": "quotes", "eyebrow": "Readers", "title": "Why people come back", "items": [ { "quote": "I asked for 'a big family novel, but shorter' and left with three books I loved.", "name": "Kavya N.", "role": "Regular since 2016" }, { "quote": "They found an out-of-print Tamil translation my father had been looking for for years.", "name": "Arjun S.", "role": "Special order" }, { "quote": "My daughter calls the cushion corner 'the reading cave'. Saturdays revolve around it now.", "name": "Fatima H.", "role": "Parent" } ] }, { "kind": "hours", "id": "visit", "eyebrow": "Visit", "title": "Find us on 12th Main", "text": "Ground floor, step-free. Two-wheeler parking out front.", "rows": [ { "day": "Tuesday – Friday", "time": "11:00 – 20:30" }, { "day": "Saturday – Sunday", "time": "10:00 – 21:00" }, { "day": "Monday", "time": "Closed" } ], "address": "418, 12th Main, HAL 2nd Stage, Indiranagar, Bengaluru 560008", "phone": "+91 80 5550 1186", "email": "hello@lanternstreetbooks.in" }, { "kind": "cta", "title": "The Sunday letter", "text": "Five book recommendations, upcoming readings and new arrivals, every Sunday morning. Free.", "primary": { "label": "Sign up", "href": "#letter" }, "secondary": { "label": "Browse books", "href": "#books" } }, { "kind": "contact", "id": "letter", "eyebrow": "Newsletter", "title": "Get the Sunday letter", "text": "Add your email, or write to us with a book request and we'll reply within a day.", "fields": [ "name", "email", "message" ], "button": "Sign me up" } ], "footer": { "text": "An independent bookshop in Indiranagar, Bengaluru.", "columns": [ { "title": "Books", "links": [ "Fiction", "Non-fiction", "Translations", "Children's" ] }, { "title": "Shop", "links": [ "Delivery", "Gift cards", "Special orders", "Reading circle" ] } ], "legal": "© Lantern Street Books. Sample content: replace it in src/site.ts." }};Remix
Remix this template
Describe what to change and the agent starts from Independent bookshop's files. The box is already started for you: finish “Start from Independent bookshop and …”
Dependencies
Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.
- react^19.1.0
- react-dom^19.1.0
- vite^6.3.0
- @vitejs/plugin-react^4.4.0
- tailwindcss^4.1.0
- @tailwindcss/vite^4.1.0
- typescript^5.8.0
How it runs
- Framework
- Vite + React + TypeScript
- Dev command
- npm run dev
- Build command
- npm run build
- Output directory
- dist
- Port
- 5173
- Entry route
- /
Projects run in an isolated sandbox with a live preview. Read the projects documentation for settings, snapshots and deployment.
Keep browsing
All templates
Coffee roaster shop
Dark storefront for a specialty roaster with single origins, a subscription, brew gear and shipping info.
- Featured

Ecommerce storefront
A product catalog with category filters and search, product detail view, and a cart kept in local state.

Sneaker store
Dark sneaker storefront with a filterable catalog, a resole service, drop sign-ups and a working cart.
Build on Independent bookshop
Create a free account, start from this template, and ask the AI agent to turn it into your app.