Personal project · On my server · 2026
Notebook
Notes as a chat with yourself, with memory: ask them, search them and study with flashcards. Open source.
See it live · notebook.rossmel.com ↗My role
Idea, architecture, development and open-source release, with my AI agent as a pair programmer.
Stack
- Node.js
- Express
- SQLite
- sqlite-vec
- FTS5
- RAG
- Groq
- Gemini
- SSE
- PWA
- JavaScript
The problem
University notes end up scattered across notebooks, whiteboard photos, voice notes and chats. Notebook groups them by subject in chat-like threads and lets you ask them questions in natural language: it answers only from what you wrote, cites the source and jumps to the exact message when you tap it. From the same notes it generates summaries, flashcards and quizzes.
Highlights
- 01Hybrid search inside SQLite: meaning (sqlite-vec) + exact words (FTS5) fused with RRF, no separate vector database. 93 % Recall@6 measured on real data.
- 02Streaming answers with citations: every source jumps to the exact message and highlights the sentence the AI used; conversations keep context.
- 03Whiteboard photos and voice notes are transcribed automatically and indexed; it also imports WhatsApp chats with their photos and audio.
- 04Study mode: summaries, flashcards and quizzes generated from a note or a whole subject.
- 05Fluid writing: messages appear instantly and are sent in order even on a slow network, never losing what you are typing.
- 06Zero cost: all AI runs on free tiers (Groq and Gemini) within their limits; lightweight on purpose (Node.js, framework-free frontend, systemd) for a low-RAM server.
What I learned
- → 01Measure before tuning: an automatic evaluation with generated questions showed the relevance cutoff was wrong and chunks were splitting messages in half; with data, retrieval reached 93 %.
- → 02Fluidity is architecture, not styling: a send queue and never stealing focus from the input mattered more than any animation.
- → 03Open-sourcing forces you to tidy up: tests, CI, docs and removing every personal detail from the history before publishing.
Live
Running on my server
Projects running on my homelab, under my own domain. Open each one to see how it works.
- rubik.rossmel.comRubikPractice the Rubik's cube and other puzzles, with official scrambles and a 3D viewer.See details →
- selflix.rossmel.comSelflixMy own "Netflix": a Jellyfin media center on my home server.See details →
- manga.rossmel.comMangaMy own manga reader: shared library, per-person progress and a phone app.See details →
Posts about this project
Next project
Rubik →