rentczecher is open source. All the code is on GitHub, a star is always appreciated →
rentczecher

Devlog

How rentczecher gets made: what worked, what didn't and what I learned along the way.

14 October 2026 · 2 min read Is it legal to release this? Before going further I checked whether publishing rentczecher is safe. The answer shaped the tool: local, free, linking back to the portals, and licensed GPL. Read →12 October 2026 · 2 min read A welcome and a choice of language The app learned light and dark, Czech and English, and a welcome wizard that asks for both on the first launch. Read →11 October 2026 · 3 min read Each flat once The same flat on two portals used to be two rows in the inbox. Now it is one, and what you have seen follows the flat, not the posting. Read →10 October 2026 · 3 min read A list and a detail view The inbox became a list beside the selected listing, with favourites, a price history per portal and a pin on the map. Read →10 October 2026 · 3 min read Scoring you can see The profile editor is finished, and scoring got simpler: weights set directly on a split bar, previewed live on example listings. Read →9 October 2026 · 3 min read The profile editor takes shape Prototypes first, scoring moved into the panel, and a clickable map of Czechia whose borders are computed from the nearest village. Read →5 October 2026 · 3 min read Profiles move into the database Profiles stopped being lines in a config file. They live in SQLite now, have their own API, and point at real places from the RÚIAN register. Read →3 October 2026 · 2 min read Every listing gets its place A listing's location used to be the portal's line of text. Now it is a set of official places, from the street up to the region. Read →1 October 2026 · 3 min read Three systems, one build The repository split into engine, panel and shell, decisions became ADRs, and GitHub Actions now builds and smoke-tests the app on Linux, Windows and macOS. Read →30 September 2026 · 4 min read A real desktop app The Tauri shell now ships a PyInstaller-frozen engine, and each of the two processes notices when the other one dies. Read →28 September 2026 · 3 min read A window around the engine Proving the riskiest part first: a PyInstaller-packaged Python engine started by a Tauri desktop app, and the window waiting until it answers. Read →24 September 2026 · 3 min read The panel and the inbox The part of the app you look at, built in Svelte: a typed client for the engine, a CORS surprise and why Czech needs three plural forms. Read →23 September 2026 · 2 min read The engine learns to talk Before there could be a desktop app, the engine needed a way to be asked things. It got a FastAPI server with an OpenAPI contract and Server-Sent Events. Read →