How this site gets built
about what to build
writes the code
GitHub
auto-deploys
goes live
doc
hand-writes code
run tests
Review
auto-deploy
Not a single line hand-written by me — I just describe what I want and review the result; every change is logged in detail below.Source on GitHub →
What the Site Can Do
Trading P&L
Import broker exports and get an auto-generated daily P&L calendar, a cumulative equity curve, and fees broken out separately.
Take a look →Expense Tracking
Upload a bank statement PDF and it's parsed automatically into a spending calendar, income/expense breakdown, and a top-merchants ranking.
Take a look →Novel Writing
Write and publish novels chapter by chapter, with characters and video, right from the browser -- readers follow along on the same site.
Take a look →Routes
Hand-draw a route on a real map, or just type place names and have them connected automatically -- save it and share the link whenever you're ready.
Take a look →Life Moments
Log day-to-day life -- books, shows, workouts, thoughts -- or just hand a screenshot to AI and let it fill the entry in for you.
Take a look →Technical architecture
The backend is a Flask + SQLite monolith with no separate frontend build — pages are server-rendered directly with Jinja2, run with gunicorn (1 process, 4 threads) in a Docker container in Railway's Singapore region. Images go through Pillow (share cards, upload compression), video through ffmpeg (compression, thumbnail extraction). The database, user photos, novel covers/character art/videos, and the Douban cover cache all live on a Railway persistent volume; images and static assets are cached at the CDN edge. Douban book/show info comes from scraping their pages; AI screenshot recognition calls Anthropic's Claude API.
Changelog
A record of this site's development from scratch to now (screenshots are freshly regenerated to reflect the current UI, not the original at the time of each change).
Code volume: entries from before this session (marked "estimated") are rough figures reconstructed in hindsight; every entry from this one onward is measured precisely at the time of the change.
2026-09-13
1 updates · ~47 lines that day-
Route maps in novel chapters now always sit at the top
+47 linesThe route outline map embedded in a travelogue chapter used to follow the text -- it appeared right after the paragraph that mentioned the route's title, or got tucked into a small card at the very end of the article if the title never came up. It now always shows at the very top of the chapter regardless of whether the text mentions it -- right under the chapter title, ahead of even the share/read-aloud buttons -- on both the live page and the generated share image. Character standees keep their original mention-triggered behavior; only routes changed.