Stef van der Struijk’s developer blog

My personal blog. Starting with keeping track of my Kanji app development. Nbdev for a Notebook style blogging.

About this blog

I’ve been wanting to keep a blog for a while now for various reasons:

  • Keeping track of my design decisions. I’m keeping crude notes about what I’m doing in Obsidian, but I hope by writing blog posts these will be a bit more fleshed out and stand-alone.
  • Able to share my experiences and join the sharing community.
  • Practice writing and experimenting with coding- and AI-assisted (not by-AI) writing that the SolveIt platform enables.
    • Let’s try out if a nbdev project is a suitable starting point for blog writing.

Where to view this Blog best?

Documentation can be found hosted on this GitHub repository’s: - pages.

In the future also hosted on Bearblog?

Kanji Origin - Kanji studying app

I’m developing a Kanji learning app, because other apps out there are not offering the learning experience I’m looking for. I’m taking the approach of: Doing a few things only, and doing those good. Those things being:

  1. Develop a sense of what a Kanji could mean (EN translation, pictures, etc)
  2. Able to read vocabulary (ふりがな)

I don’t have a marketing speech prepared yet, so I’ll leave the introduction to this.

As for the tech-stack, I’m taking the following approach: - Rust back-end: Handle all logic in Rust, for a fast, solid and cross-platform product. - Kotlin front-end: The first user of this app is me. I’ve an Android phone and I want to be able to study offline. Only re-doing the UI to e.g. get it to working on the web seems plausible. - Python database creation: Data exploration and wrangling just goes the smoothest in Python for me.

I have a basic app working with the above stack. However, this is only teaching English meanings for Kanji (1). The database needs to be revamped to support vocab readings. I’m also not happy with the data quality of the most common Kanji resources Kanji apps are build upon. Refer to the following blogpost for more details: 2026-02-02_nbdev_restructure

Blog entries