Lattice
A workspace for your research.
Angular + Vue Microfrontend application to manage and translate german documents to english
Translation pending
ProductivityTypeScript · HTMLGitHub @JohnNooneyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A personal filing cabinet for German paperwork that explains each document in plain English. Moving to Germany means a flood of contracts and official letters: Mietvertrag, Krankenversicherung, Internetvertrag, Behördenbriefe. Klartext stores them and, for each one, produces an Extraction: what kind of document it is, an English summary, the key takeaways (amounts, dates, obligations), and the critical warnings (notice periods, hidden fees, liabilities) that cost you money or rights if you miss them. Live at klartext.nooney.dev — single-user deployment; sign-in is allowlist-gated.Read the full README ↗
A personal filing cabinet for German paperwork that explains each document in plain English.
Moving to Germany means a flood of contracts and official letters: Mietvertrag, Krankenversicherung, Internetvertrag, Behördenbriefe. Klartext stores them and, for each one, produces an Extraction: the document type, an English summary, the key takeaways (amounts, dates, obligations), and the Action Items (notice periods, deadlines, hidden fees) that cost you money or rights if you miss them.
Live at klartext.nooney.dev. Sign-in is allowlist-gated.
Requires Node 24 and pnpm 9.
git clone https://github.com/JohnNooney/KlartextDMS.git && cd KlartextDMS
pnpm install
pnpm dev:demo
Open http://localhost:4200 and sign in with [email protected] / test1234 (emulator only). The seeded Documents open with their Extractions already filled in, and dev:demo swaps the AI provider for deterministic fixtures, so no API keys are needed. Plain pnpm dev calls the real Gemini model and needs Firebase credentials (see development internals).
Klartext is also a sandbox for an enterprise integration problem: embedding a newly acquired Vue product inside a legacy Angular dashboard when the only integration point is an <iframe>. So it is two independent frontends that talk only over window.postMessage: no Module Federation, no Web Components.
| Host | Guest | |
|---|---|---|
| Stack | Angular 21, SCSS | Vue 3.5, Vite 8, Tailwind 4 |
| Role | Sign-in, library, uploads, PDF reader, the frame the Guest renders in | Extraction panel; calls the AI |
| Dev port | :4200 | :5173 |
{ v, type, sessionId, payload }, defined in packages/bus-contract. The Host queues Extractions as background jobs after upload and opens a Session (INIT_SESSION) when a Document is clicked; the Guest reports progress back while you keep browsing.Domain terms (Host, Guest, Document, Extraction, Action Item, Bus, Envelope, Session, ...) are defined in CONTEXT.md.
v1 is shipped: sign-in, folder library, uploads, the reader, and persisted Extractions. v2 is in progress: the Extraction v2 schema, Action Items, and the Host extraction index are done; library search, calendar reminders, and per-page Translation are planned. See docs/spec.md.
apps/host Angular dashboard
apps/guest Vue insights panel rendered in the Host's iframe
packages/ shared theme tokens, Bus contract, Firebase config
e2e/ Playwright suite and screenshot composites
scripts/ emulator seed, fixtures, build helpers
emulator-data/ committed emulator snapshot
docs/ documentation, ADRs, spec
firebase.json, firestore.rules, storage.rules Firebase config and security rules
pnpm dev # Host + Guest + Auth/Firestore/Storage emulators (seeded)
pnpm dev:demo # same, with fixture Extractions instead of Gemini
pnpm typecheck
pnpm test # unit suites across the workspace
pnpm e2e # Playwright under the emulators
pnpm screenshots # regenerate docs/screenshots/*.png
The documentation index covers architecture, ADRs, deployment, and development internals (ports, e2e wiring, App Check tokens, the full script list).
Contributing: issues live in GitHub Issues (see docs/agents/issue-tracker.md); agent conventions are in AGENTS.md.