How Toran is built

Toran is for families of every age, on whatever phone they have. That sets the bar: fast on a slow connection, easy for everyone to use, private by design, and tested on every change.

The numbers

  • 100Lighthouse accessibilityon every page we measure, phone and laptop
  • 92+Lighthouse performance on a slow phone100 on a laptop
  • 2,184automated tests on every change1,964 unit · 144 in a browser · 76 with a real database
  • 350 KBmost a page may download250 KB of JavaScript at most, checked by the tests

Measured 4 November 2026 with Lighthouse 12 on a production build with real events: the lowest score from two runs of the home page, What's on, a mandir's page, the festivals page and this one, on Lighthouse's slow phone and on a laptop.

The parts

  1. On your phone

    • The websiteWorks offline once opened, installs like an app, three languages, text size and contrast
    • Your choices stay hereMandirs you follow, your plan and your seva are kept on the phone, never sent to us
  2. Vercel, London

    • Next.js 16 and React 19Pages built on the server and saved ahead, so they open fast; TypeScript throughout
    • Nightly jobReads mandirs' own calendars and websites, deletes old data on time
  3. Supabase, London

    • PostgresRow-level security on every table, 48 reviewed migrations, 35 files of security tests
    • Login and filesEmail links for committees, a second factor for admins, mandir photos
  4. Services

    • Claude (Anthropic)Reads posters into draft events; a person always checks before anything is published
    • Sentry, Resend, GitHub ActionsError reports with personal data removed, email, tests and an hourly uptime check

What it's held to

  • Accessible to everyone

    WCAG 2.2 AA, 18px text at the smallest, larger text and higher contrast in one tap, labelled buttons, full keyboard use and screen-reader checks. Automated accessibility scans run on every kind of page, in light and dark.

  • Fast on a slow phone

    Each page has a download budget (350 KB, 250 KB of JavaScript) that the tests enforce, no layout jumps as pages load, and animation that needs no JavaScript at all.

  • Private by design

    No tracking cookies and no advertising. Visitors need no account, and what they follow stays on their phone. Database rules decide who sees what, tested for every role. See the privacy notice.

  • Responsible AI

    AI reads a poster into a draft event; it never publishes on its own, and a person always checks first. Only the picture is sent, never who sent it, and it isn't kept. Watch it read a poster.

  • Reliable

    An hourly check of the live site and of the nightly job, error reports, daily backups with a practised restore, and a written plan for if anything goes wrong.

  • Every change reviewed

    Each change is a pull request that must pass type checks, linting and every test before it can go live. 18 written decision records explain the choices, and a design system keeps every page consistent.

Toran is built by its founders with Claude Code, Anthropic's AI coding agent: the founders set the direction, make every decision and review every change; the agent writes and tests the code. Questions about how it works? Get in touch.