Self-hosting is a badge of the data-control crowd: run your own server, keep your data on your own infrastructure, depend on no one’s cloud. For many apps that is a reasonable stance. For a Chinese writing-practice tool, it solves a problem that does not need to exist, because the practice needs no server at all. Offline-first, on-device design gives you the same data control with nothing to host, run, secure, or maintain. Here is why the server is unnecessary.

The practice is a local computation

Look at what a writing tool actually does: it hides a character, captures your strokes, checks stroke order and structure, gives feedback, and schedules reviews. Every one of those is a computation the device can do on its own, with for Chinese handwriting beating typing for learning, the testing effect driving the from-memory loop, and the spacing effect scheduling reviews, none of which requires a server. So there is no inherent reason to send anything anywhere, which means the data can stay entirely local by default, the same self-contained design as an offline, no-login tool. The server is not load-bearing.

Self-hosting solves a problem offline-first avoids

Self-hosting is a way to get data control while still having a server: you move the server under your own roof. But that keeps the server, with all its costs, you have to run it, update it, secure it, and keep it available, and it adds a place for your data to live and to be attacked. Offline-first does something cleaner: it removes the server entirely, so there is nothing to host or harden and a smaller attack surface, while your data simply sits on your own device. So offline-first reaches the same goal, data not in a vendor’s cloud, by a simpler route, the same minimal-dependency logic as preferring offline-first when an app could shut down.

Even metrics do not require a server

A common reason people reach for self-hosting is to keep their tracking, heatmaps, progress logs, metrics, under their control. But those are derived from your own practice data, which already lives on the device, so they can be computed and stored locally too; a server would only centralize what you could keep local. And metrics are not the learning anyway, the producing of characters from memory is, the same tracking-is-not-learning point that applies to any dashboard. So even the data-logging motivation does not actually demand a server.

When self-hosting still makes sense

To be fair, self-hosting earns its place for things that genuinely need a server, multi-user sync, shared collaboration, services that must run continuously. If your need is truly server-shaped, self-hosting is a real option. But a single learner practicing handwriting is not a server-shaped need; it is a local one, so for this use case the honest answer is that you do not need to self-host because you do not need a server, the same scope clarity as distinguishing offline-first from a full air-gap requirement. Match the architecture to the actual need.

Self-hosting versus offline-first

Self-hostingOffline-first
Run your own serverNo server at all
Data on your infrastructureData on your device
Must maintain and secure itNothing to host or harden
Server-shaped solutionLocal-shaped solution

For a single learner’s writing practice, the right column gives the same control with far less work.

A plan for data-control-minded learners

  1. Notice that writing practice is a local computation.
  2. Prefer offline-first, on-device tools over self-hosting.
  3. Keep practice data and any metrics local.
  4. Reserve self-hosting for genuinely server-shaped needs.
  5. Get data control without running a server.

How Hanzi Write Practice fits

Hanzi Write Practice is offline-first and on-device, so there is no server to self-host. It hides the character, you produce it from memory, and it checks stroke order and structure with spaced repetition, all locally, with a no-login mode and your data on your device. It gives the data control self-hosters want, your data not in a vendor’s cloud, without the server, the maintenance, or the attack surface, because the practice never needed a server in the first place. The app is in early access.

Bottom line

Self-hosting a writing-practice server solves a problem a writing tool does not have, since the practice is a local computation. Offline-first, on-device design gives the same data control with no server to host, run, or secure. Hanzi Write Practice is offline-first and on-device, and it is in early access, so join the list.

Frequently asked questions

Can I self-host a Chinese writing-practice server for data control?

You could, but a writing-practice tool needs no server at all. The practice, producing characters from memory and checking strokes, is a local computation, so offline-first, on-device design keeps all your data local with nothing to host, run, secure, or maintain. That gives the same data control with less work and less attack surface. Hanzi Write Practice is offline-first and on-device, so there is no server to self-host.

Why doesn’t a writing-practice tool need a server?

Because everything it does, hiding the character, capturing your strokes, checking stroke order and structure, scheduling reviews, runs on the device. There is no inherent need to send anything to a server, so the tool can keep your data entirely local. A server would only add a place for data to live and a thing to maintain, without improving the practice.

Is offline-first more private than self-hosting?

In effect, often yes and simpler. Self-hosting keeps data on a server you control, but you must run and secure that server. Offline-first keeps data on your own device with no server at all, so there is nothing to host or harden and a smaller attack surface. Both keep data out of a vendor’s cloud; offline-first does it with less effort.

What about heatmaps and metrics that seem to need a server?

Those can be computed and stored locally too, since they are derived from your own practice data on the device. A server is not required to track your progress; it just centralizes data you could keep local. And metrics are not the learning anyway, which is producing characters from memory. Hanzi Write Practice keeps practice and any data local.

Want data control without a server? Join early access and practice offline, on your own device.