• 27 October 2026 Small update: Copy Kanji to Clipboard

    Tapping or clicking the kanji in the Edit Story area of the Study page now copies it to the clipboard and shows a brief "Copied!" tooltip. Hopefully this makes it just a tad little easier if you want to paste it in some other app or website.

    Copy to clipboard screenshot

    In theory it should also work on e-readers like Kindle. There is a fallback code that should take care of it, but I'm not sure as I don´t have a Kindle or e-reader to test.

    Thanks to Felix for the suggestion. This closes issue #407 on Github. Leave a comment there or message me if you´d like to see any further tweaks to it, or if it doesn´t work as expected.

    Dark Mode & Color Themes

    Don´t worry I'm still working on Dark Mode. It is well under way. Finally trimmed all the 300+ unique colors down to a manageable palette of approx. 50 semantic tokens. Claude helped initially identifying all the unique colours but I still had to manually review them one by one or by small groups of very similar colors, in order to find the best semantic color (ie. is this a background color, is this a border? etc).

    Did some small refactors along the way. The Custom Review summary now is updated visually so it re-uses exactly the same card grid layout as the View Lessons page.

    Then Claude helped again just yesterday actually implementing the theme switching. So a page to select color theme (including Dark Mode), persisting the user's choice in the db, switching the theme in the web page. None of this is complicated, and all of it is completely unrewarding to write, it's pretty much all boilerplate code.

    Very satisfying because I was worried Claude might not do a good job working on a 20 year old codebase, where I have a custom ORM that is not documented anywhere, plus the site is still using a completely outdated version of Symfony framework. I guess I am still learning to trust what the AI can do.

    Some months ago I wrote documentation in the src/docs/ folder describing the various layers : front end, back end, database, etc. In addition to the main CLAUDE.md file which points to these docs. It seems like this really paid off: Claude wrote pretty much the same code I would have, using the existing patterns. I'm excited to see what more complex tasks I can do.

    So yeah the Dark Mode theme is about 40% done. Dashboard looks nice. There just are a lot of intricacies, lots of smaller details here and there. Sometimes just a semantic token like "color for a title in a box" might work in light mode, but not in dark mode, so that means rethinking the semantic tokens so it's more flexible. Other times it's a visual thing. For example it's best to avoid very bright colors in Dark Mode, so the blue/red/green buttons use a color mix function with a chroma value, so the colors are less saturated in dark mode.

    UPDATE: here is a preview of the Dashboard in Dark Mode. Let me know if you're not thrilled about where it's going, happy to make adjustments.

    To block out the noise I'm coding to Echelon Protocol - State Azure (1 Hour Ambient Mix). Maybe you'll enjoy it!

By Month