Enter a world that remembers you.
Lorewish is an experimental solo interactive-story and roleplay product. It sits between static branching fiction and unstructured character chat: players enter a world, make choices, talk to characters, and carry durable story/character memory across sessions.
- Solo interactive storytelling with fast setup.
- Narrative and adventure-oriented play rather than a heavy tabletop rules simulator.
- Durable world, relationship, and character memory.
- Branch-aware character chat tied to story state.
- English and Vietnamese product surfaces.
- Continuous-play behavior: provider errors or generation boundaries should not silently end a story.
The product definition and constraints are documented in docs/PRODUCT_VISION.md, docs/MVP_SPEC.md, and docs/CONTINUOUS_PLAY_CONTRACT.md.
- Expo / React Native / React Native Web
- TypeScript
- Supabase
- Vitest
- Playwright
The repository uses automated checks for both implementation and product regressions:
npm install
npm run typecheck
npm run lint
npm test
npm run export:web
npm run test:e2eRecent work includes browser-level regression coverage, responsive/accessibility checks, server-backed memory persistence, ownership-bound chat access, and deterministic model-evaluation fixtures.
src/— application UI and client logicsupabase/— database migrations and edge functionstests/— unit and end-to-end coveragedocs/— product, domain, architecture, quality, and roadmap contractsscripts/— validation and model-evaluation tooling
Lorewish is under active development. Internal milestone and verification artifacts in this repository are working evidence, not claims that every planned feature is production-complete.