Sawah
Seven thousand years of Egypt in one place
My own digital encyclopedia of Egypt: sourced history, a hieroglyph name writer, playable senet and a live Egyptian calendar, in five languages.
- Country
Egypt
- Type
- Own product
- Timeline
- 2026
- Platforms
- Web
- passing tests
- 913
- verified hieroglyphic signs
- 1,072
- recorded citations
- ~95,000
- languages
- 5
Overview
Sawah (Arabic for 'traveller') is a free, ad-free digital encyclopedia of Egypt. Not a site about Egypt, but Egypt arranged so you can know it and live it: seven thousand years of sourced history, the hieroglyphic script, literature, art, mythology, Egyptology, almost two thousand places, and a games arena with playable senet and the Royal Game of Twenty Squares.
It is my own product. I am the founder, product owner and sole engineer, and took it from first commit on 16 Aug 2026 to a public preview in late September: about six weeks and 177 commits. It is Arabic-first, with English, French, German and Italian routed from day one.
The challenge
- 01
Credibility is the product: every historical claim must carry a real source and a confidence level (
consensus,disputed,popular_myth), and the code must make that easier than skipping it. - 02
Your name in hieroglyphs is usually a gimmick. Sawah had to be fun and honest: a phonetic approximation, sign by sign, with the reasons.
- 03
Arabic-first, not Arabic-also: full RTL and LTR, five locales and SEO-friendly URLs, with no duplicate content and no English-only screen.
- 04
SEO is the acquisition channel, so anything that hurts indexing, such as a client-only SPA, was ruled out up front.
- 05
One engineer, a huge surface: the codebase needed hard rules enforced by a linter, not good intentions.
Highlights
Encyclopedia
- Egyptian history in 7 eras and 26 periods, with 400+ chapters, ~5,000 sources and ~95,000 citations.
- A catalogue of 8,500+ entries across literature, art and cinema, mythology and Egyptology.
- 1,959 places, including museums, temples and sites across the governorates.
- Every claim linked to a source with its confidence level; user corrections kept apart from official content.
Hieroglyphs
- A 1,072-sign catalogue indexed by Gardiner code and machine-verified against the Unicode database.
- The cartouche writer: your name in hieroglyphs, sign by sign, in four styles, exportable as PNG and shareable.
- Hieroglyph Academy with alphabet cards and SM-2 spaced repetition.
Arena and culture
- Senet and Twenty Squares against the computer at three levels, against a friend, or online, with replays, a lesson and a daily puzzle.
- A daily challenge with streaks and quiz games over 7,500 questions.
- The Egyptian calendar computed live: today in the Coptic year and the ancient civil year, side by side.
- 'Which ancient Egyptian are you?', hieroglyph wallpapers and an embeddable sign-of-the-day widget.
Platform
- 45 feature flags (locked, internal, beta, open) flipped live from the admin panel.
- A full admin panel for flags, catalogue, history, news, games, notices, pages and members.
- 'Ask Sawah', a grounded Q&A assistant that may only answer from Sawah's own published passages.
Signature feature
Your name in hieroglyphs
- The name, in Arabic or Latin script, goes to
transliterateName()in the pure@sawah/hieroglyphspackage. - Each sound maps to a one-sound sign from the verified catalogue, and a gender determinative closes the name, as Egyptian scribes did.
- Sounds Egyptian lacked, such as a separate l and r, are flagged as approximations and explained sign by sign: Gardiner code, what the sign depicts, and the caveat.
- The result is presented as a phonetic approximation, never a translation, and notes that ancient pronunciation is a scholarly reconstruction.
- The cartouche renders in four styles (papyrus, carved stone, gold, modern) and exports to PNG or a share link.
Screens
Swipe for more
Engineering notes
- 01
A constitution enforced by the linter
The key rules are ESLint errors, not guidelines: 300 lines per file, 40 per function, at most 3 parameters, nesting depth 3, complexity 10, no
any, no circular imports.pnpm checkruns exactly what CI runs. - 02
Pure logic, isolated I/O
The hieroglyph engine, calendar, spaced repetition and both board games are side-effect-free packages with no database, clock or randomness of their own. The same code runs on the server, in the browser and in tests.
- 03
Sources as data, not decoration
Chapters, catalogue entries and places link to records in a
sourcestable with a confidence level. Images follow the same rule: only open licences, each logged with photographer, licence and origin; NC and ND licences are rejected automatically. - 04
An AI assistant that can't make things up
'Ask Sawah' retrieves Sawah's own published passages, and the model may answer only from them or decline. Providers (Groq, Gemini and a premium fallback) sit behind one seam with shared rules, so switching provider changes the prose, never the editorial constraints.
- 05
Five languages, no duplicate content
Every locale has one canonical prefixed URL, strings exist only as i18n keys with a parity test, and each language opens behind its own flag, so unfinished translations live on the site without being indexed.
- 06
Ship dark, open on purpose
Every pillar, page, locale and tool sits behind one of 45 four-state flags. Unfinished work lives on production without being exposed, and nothing goes public without a decision.
Results
- Public preview live at sawah-egypt.vercel.app.
- Content measured on 26 Sep 2026: 400+ history chapters, ~5,000 sources, ~95,000 citations, 8,500+ catalogue entries, 1,959 places, 7,500 game questions and 1,072 verified signs.
- A 9-package monorepo with 913 passing tests, zero lint and type errors, about 250 statically generated pages, and CI on every push.
Stack
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS 4
- next-intl
- Zod
- Prisma
- MySQL 8
- Turborepo
- pnpm
- Vitest
- GitHub Actions
- Vercel