This site: a portfolio with an AI agent
A portfolio built as a desktop: folders, windows, projects with screenshots and a live agent that answers questions about my experience from my own texts.
Screenshots
Instead of a usual resume landing page, there is a desktop: folders with case studies, windows you can move around, a Projects section with screenshots and a chat with an agent at the entrance. The agent answers a visitor’s questions about my experience, looks for the answer in my own texts, and if it does not know, offers to leave a contact.
The frontend is Astro with Preact islands. Pages are static, all the JavaScript they load fits into 17 KB, and a CI test checks that. Every window also opens as its own page, so each case study has its own URL, og image, sitemap entry and a place in llms.txt.
The agent runs on Fastify and streams answers over SSE. It has a model spend cap, per-IP limits and prompt-injection protection. Context for each answer comes from a Python RAG service: hybrid search over embeddings and BM25 in SQLite. The case study below explains how it works.
Since July 2026: over 230 commits and about 800 tests across the site build, the agent server, RAG and the admin panel.






