自分の打ち方で練習できる、タイピングの島

TypeCraft は、NAKASHIMA CRAFT が自社ツールとして開発した日本語タイピング練習サイトです。 はじめてパソコンに触れる人から、KPM や正確率を測りたい人、毎日の練習を続けたい人まで使えるように、 ゲームらしい入口と、きちんと測れる記録機能を両立させました。

最初の画面では「ことばの島」からお題を選び、出発ゲートでモードを選びます。 単なるフォームや一覧ではなく、練習を始めるまでの流れにも少し遊びを入れることで、 毎日開きたくなる道具にすることを目指しました。

日本語ローマ字入力のゆらぎに向き合う

このツールの中心は、Rust で実装したローマ字入力エンジンです。 日本語入力では、同じ読みでも人によって打ち方が違います。

  • shi でも si でも打つ
  • chi でも ti でも打つ
  • きゃkya だけでなく kixya のように分けて打つ人もいる
  • は次の子音を重ねる場合も、xtu / ltu で打つ場合もある
  • は次の音によって n でよい場面と、nn が必要な場面が変わる

TypeCraft では、お題のかな読みをセグメントに分解し、それぞれに許容ローマ字候補を持たせています。 ユーザーが 1 文字打つたびに、入力中の文字列がいずれかの候補の接頭辞になっているかを判定し、 自分の打ち方のまま進められるようにしました。

練習を続けるためのモード設計

腕試しだけでなく、日々の練習にも使えるように複数の遊び方を用意しています。

  • 制限時間チャレンジ: 15秒から3分まで、短時間の集中力や安定感を測る
  • タイムアタック: 5問、10問、20問を打ち終えるまでの速さを測る
  • コンボチャレンジ: ノーミス連続クリアでスコアと残り時間を伸ばす
  • 正確性チャレンジ: 速さだけでなく、ノーミスの積み重ねを評価する
  • サバイバル / ノーミス完走: ミスへの緊張感を加えた上級ルール
  • 練習モード: 時間を気にせず、お題セットを最後まで打つ

お題も、ひらがなの短い単語から、日常会話、ことわざ、ビジネス文、IT用語、長文、英語まで幅を持たせました。 初心者がキーの位置に慣れる段階から、文章入力の持久力を鍛える段階まで、同じ画面から始められます。

ゲストでも完結する記録

ログインしなくても使えることを大切にしました。 プレイ結果はブラウザの localStorage に保存され、スコア、KPM、正確率、ミス数、自己ベスト、草カレンダーを確認できます。

ログイン構成としては、Cloudflare Worker と PostgreSQL を使った記録同期・ランキングの土台も用意しています。 ただし、練習そのものはゲストモードだけで成立するため、まず試してもらうまでの摩擦を小さくできます。

Rust + WASM で、軽く長く運用する

フロントエンドは Leptos の CSR 構成で実装し、Trunk で WASM と静的アセットをビルドしています。 配信は Cloudflare Workers Assets を前提にし、ゲストモードだけなら静的配信で完結します。

記録同期やランキングの API は Cloudflare Worker、Hyperdrive、Neon PostgreSQL を想定した構成です。 小さな自社ツールでも、入力ロジック、記録、セキュリティヘッダ、ビルド再現性まで含めて、 長く置いておける形に整えました。

公開

公開URLは typecraft.nakashima-craft.com

日本語のタイピング練習で大切なのは、サイトが決めた正解に人が合わせることではなく、 その人の打ち方を受け止めながら、少しずつ速く、正確になれることだと考えました。