logoalt Hacker News

otsalomatoday at 1:08 PM0 repliesview on HN

Yeah, the frontend is from scratch. Each bullet is just a div contenteditable. The DOM is the state (Claude Code suggested the usual frontend pattern of separate state and rerenders, but I rejected that). Apart from the DOM, content is dumped to local storage. Bullet folding and zooming work mostly just by showing and hiding the bullet divs i.e. the whole note tree is all the time in the DOM. It's conceptually quite simple and Claude Code is good at writing code that traverses the DOM. There's of course a lot of operations like indent/dedent, copy-paste, undo/redo etc. but they've been quite painless to add.