WORKS
まいにち読書
読書の時間を計測し、ジャンル別の傾向を可視化する読書記録サービス。毎日の読書を習慣にするための Web アプリ。
概要
読んだ時間を計測して、どんなジャンルをどれだけ読んでいるかを可視化する読書記録サービスです。毎日の読書を習慣にすること、そして自分の読書の傾向や、まだ手を伸ばしていないジャンルに気づくことを目指しています。
- 使用技術:Flutter Web(Dart)、Cloudflare Workers(Hono)、Supabase(PostgreSQL・認証)、楽天ブックス API、Turborepo
- 担当範囲:企画・設計・デザイン・実装・運用(ひとりで開発)
主な機能
- 読書タイマー:本を選んで読み始め、読み終わったら止めるだけで読書時間を記録します。
- 本棚:タイトルや ISBN で本を検索して登録し、読みたい・読んでいる・読み終えたを管理できます。
- ジャンル別の可視化:読書時間をジャンルごとに集計し、傾向をグラフで振り返れます。
- 読書カレンダー:毎日の読書量を、GitHub の草のようなカレンダーで表示します。
- いま読書中・ランキング:トップページでは、いま読書中の人や、よく読まれている本、連続読書のランキングが見られます。
- 公開プロフィール:自分の本棚や読書記録をページとして公開できます。
こだわったところ
ジャンルごとの時間の按分
1 冊の本が複数のジャンルに属していても、読書時間をジャンルごとに按分して集計します。そのため、偏りのない傾向が見えます。
1 つのコードで Web もアプリも
最初は Next.js と Flutter の 2 本立てでしたが、機能の差やスキーマ変更への追従が負担になったため、Flutter に一本化しました。Web 版と API を 1 つの Cloudflare Worker から配信しています。