apps.samu.space: hobby projects
Over the past couple of years I have been building a lot of small apps on the side: language learning tools, AI toys, finance utilities, a few projects around veganism, AI technologies and other topics. They ended up scattered across subdomains, and I kept forgetting which ones still existed. So I put them all in one place: apps.samu.space.
This is a list of all the apps, as a somewhat personal summary of them.
# AI
- AI News — Opinionated AI news feed that fetches from multiple sources, filters noise with an LLM, and serves a clean Next.js reader.
- AI Street Smarts — Static AI literacy course with modules on prompting, privacy, verification, and safe tool use.
- Bedtime Tutor — Software engineering and (French) language learning tutor with streamed LLM answers and TTS for late-night learning.
- Flaubert — Literary chatbot grounded in Gustave Flaubert’s correspondence via a Chroma RAG stack.
- Slide Generator — On-demand ambient educational slideshow generator: ask for a topic, get markdown slides you can leave running in the background while you are waiting for CI to run.
- Speak It — Turn a topic prompt into a short spoken script with optional web search and ElevenLabs TTS. Great for very quick presentations.
- Wikipedia Explorer — Graph tool that maps how Wikipedia topics connect, with Rabbit Hole and Cluster Map modes.
# French
- Translation Practice — English-to-French translation drill with 1000 pre-generated B2-C2 sentences and LLM grading, fact checked and high quality, with hints and TTS.
- French Vocabulary — C1/C2 vocab extractor from books and PDFs with spaced-repetition study and TTS (login required).
- French Vocab Game — Visual B2/C2 vocabulary trainer with multiple learning modes, spaced repetition, and AI-generated images.
- French Emoji Trainer — Reverse recall game: read a French definition, pick the matching emoji from four choices.
- French Geography Quiz — Click-on-map quiz for French departments, regions, and cities.
- French Word List — Mobile-first browsable French vocabulary list with mastered-word sync via Vercel KV.
# Tools
- Brightmind Flashcards — AI-powered flashcard app with Google sign-in to sync progress across devices. Features a broad range of subjects and using external sources to minimize hallucination.
- Context — Reveal.js slide deck on context engineering: why naive RAG fails and what belongs in model context at each step.
- FIRE+ — Financial independence planner with Monte Carlo portfolio simulations.
- Global Geo Quiz — World geography quiz with polygon and point modes, distance-based partial scoring. Fun and difficult to play.
- Intelligence Timeline — Interactive report comparing human brain evolution and AI benchmark growth over time.
- Interview Drill — Voice interview practice with an ElevenLabs conversational agent (Montreal AI, relocation story, French intro modes).
- Netflix RT Top — Streamlit app ranking top Rotten Tomatoes movies on Netflix by country.
- Rapsense — Rap lyrics analysis: upload audio or a YouTube URL, isolate vocals with Demucs, transcribe, and annotate phrases with an LLM. Not perfect but works.
- Super Movies — Browse and search movies by popularity, cast, crew, and keywords over a pre-built TMDB dataset.
# Content
- Plato on Animal Rights — Socratic dialogue blog exploring animal rights arguments in Plato’s voice, grounded in cited research.
- Why Not Vegan — Evidence-based responses to common anti-vegan arguments, served from a single static JSON file.
# Personal and writing
- Chat Archive — (private) ChatGPT archive explorer with a UMAP conversation atlas, semantic search, and a memorial assistant (unavailable for public, but was a lot of fun to build and use).
- Co-Writer — Turn-based human-AI collaborative writing with session sharing (login required).
# Three highlights
# Bedtime Tutor
I wanted a calm way to review software engineering concepts before sleep, without opening a textbook or scrolling through docs. Bedtime Tutor is a button-only tutor: pick a topic, get a short streamed answer, optionally hear it read aloud.
The backend is FastAPI with the OpenAI Responses API (streaming, optional built-in web search). Lessons are cached in SQLite so repeat visits are fast. The frontend is Vite and React, deliberately minimal: no typing after launch, just navigation buttons and TTS playback via ElevenLabs. It runs as a hybrid deploy: Vercel frontend, droplet API at tutor.samu.space.
# Flaubert
What started as a “prompt battle” guessing game became something I actually use: a chatbot that speaks in the voice of Gustave Flaubert’s letters. You can try it at flaubert.samu.space. I wrote a longer post about the RAG stack here.
The core idea is simple: ingest thousands of Flaubert letters, embed them into a Chroma vector store, retrieve relevant fragments on each question, and let the LLM answer in his register. Letters are uneven in length, so paragraph-aware chunking worked better than fixed token windows. Dates and recipients turned out to be strong retrieval signals.
# Speak It
Speak It is the text-to-presentation workflow I reach for when I want to hear something instead of reading it: a one-minute brief, a quick explainer, something to rehearse out loud. Type a topic, pick a language (English, Hungarian, or French), choose a tone and voice, and get a short script plus audio. Live at speak-it.samu.space. I wrote a dedicated post here.
The pipeline is FastAPI on the droplet, React on Vercel. OpenAI drafts the script (with optional Serper web search for fresher facts and image search for a visual). ElevenLabs handles TTS. Outputs stay within a listenable length (a few minutes, not a podcast episode). Repeat prompts can hit a fuzzy cache, and recent runs get shareable links via ?id= so you can send someone the same audio and text.
# Closing
These are hobby projects. Some are polished, some are experiments, a few are private tools I built for myself. The directory at apps.samu.space just keeps them discoverable. If something looks interesting, click through and try it.
