robert‑kirsammer.com
The site itself is a project.
what it is
A Bun monorepo: SvelteKit 2 / Svelte 5 in front, shared TypeScript packages, and a Rust (Axum) workspace staged behind for later phases. Content lives as Markdown and YAML in the repo and is rendered at build time — the deployed site is static files behind a CDN, with CI running lint, type checks, tests, and security audits on every push.
The bilingual layer is hand‑rolled: a typed message catalog, localized Markdown mirrors, and an explicit language switch — English by default, and a chosen language is remembered.
the ask assistant, specifically
Not an embed. A server route does lexical retrieval over the site’s own content, optionally pulls public web and GitHub context, calls a hosted model, and streams the answer over server‑sent events.
Chat history stays in the browser — IndexedDB, selected and re‑sent as context. No accounts, nothing stored server‑side.