Húsvét Vers

AI Writing Tool · Hungarian

A block-based editor for the Hungarian Easter locsolóvers — Gemini writes the verse and looks up real rhymes as it goes.

husvet-vers illustration

Every Easter, Hungarian tradition calls for a locsolóvers — a short sprinkling-poem. This is a little writing studio for them: a block-based editor where Gemini drafts and refines the verse, and a custom rhyme tool keeps the rhymes actually Hungarian.

MCPcustom rhyme tool
liveblock editor · synced
SQLiteversioned history
BYOyour own Gemini key

What it is

A focused tool for one tiny, very Hungarian job: writing a good Easter poem. You start a new poem or resume a saved one, and Gemini helps you compose it block by block. It's playful and one-of-a-kind — there's no generic "AI poem generator" energy here; it's built around the specific shape and tradition of the locsolóvers.

The rhyme engine

The piece I'm proudest of: a custom MCP (Model Context Protocol) server that gives the model a real rhyming dictionary. It scrapes rimkereso.hu for genuine Hungarian rhymes and returns them grouped by syllable count — so when Gemini needs a word that rhymes with "locsolni," it isn't guessing, it's calling a tool and getting back real options that scan correctly. Good Hungarian rhyme is hard for an LLM alone; this closes that gap.

The editor

The poem isn't one text box — it's a canvas of editable blocks, backed by a FastAPI + WebSocket server. Documents and their blocks are stored in SQLite with version history, and edits sync through a Yjs/y-py CRDT so the document state stays consistent. You can keep several poems on the go and come back to any of them.

Bring your own key

You supply your own Gemini API key, entered in the UI and kept client-side — so the tool runs on your quota and nothing of yours is funnelled through a shared backend key.

Built with

Backend: Python, FastAPI + uvicorn, python-socketio / WebSockets, SQLite for versioned document storage, y-py (Yjs CRDT) for sync, and a FastMCP rhyme server scraping rimkereso.hu with httpx + BeautifulSoup. AI: Google Gemini via google-genai, calling the rhyme server as an MCP tool. Frontend: vanilla JS block editor with Tailwind styling.