TRAUMA is a personal bookmark management app. The product language uses `memory` for one saved bookmark and `memories` for the collection.
⚠️ Warning: This is mostly a personal project that I work on in the margins of another project, so please do not expect particularly eager maintenance.
The project is a lightweight local/self-hosted web app: one SolidStart app, one Bun runtime, SQLite for relational state, a file-backed memory store for reader content and Psychiatrist threads, and built-in git backup for selected store artifacts.
The current baseline includes URL and browser-assisted import, memory browsing and read state, source and translated readers, Flashbacks, Moments, Brilliant translation, the memory-scoped Psychiatrist assistant, settings, responsive shells, and backup failsafe recovery. See docs/INDEX.md for the current implementation contracts.
| Sun Light | Sun Paper |
|---|---|
![]() |
![]() |
| Night Midnight | Night Hermès |
|---|---|
![]() |
![]() |
- TypeScript
- SolidStart / Solid
- Bun
- Drizzle ORM
- SQLite
- Playwright
- Vitest
Pinned bootstrap versions are documented in docs/references/technology-stack.md.
Install dependencies:
bun installCreate the local configuration files from the examples:
cp .env.example .env
cp trauma.config.example.json trauma.config.jsonBoth local files are gitignored. Keep .env for settings such as browser
import, and edit trauma.config.json for local storage and backup paths. See
Configuration for the supported fields.
The dev, start, and preview scripts default HOST to 127.0.0.1 unless
you set another host in the shell.
Run the dev server:
bun run devRun baseline verification:
bun run verifyRun the Playwright E2E suite:
bun run test:e2eStart with docs/INDEX.md. Open durable work is listed in Backlog.md; completed execution history is retained by Git rather than duplicated in agent-facing documentation.
TRAUMA is single-user and local/self-hosted. TRAUMA user accounts, sessions, multi-user ownership, public signup, managed databases, external queues, serverless deployment, and full offline archival are out of scope. Optional Codex app-server authentication for Brilliant and Psychiatrist is a separate backend integration documented in the configuration reference.




