📚

【VibeCodingChallenge#3】読書記録ツール

に公開

はじめに

このChallengeでは、ClaudeCode等を使って、さまざまなアプリをAIとプロンプトのみで作ってみるというチャレンジを個人で実施しているものです。
この企画では、AIだけで何ができて、何ができないかを見極めるために実施しています。

前回まではゲーム開発をしていたので、今回は個人的に使いたい便利ツールを作ろうと思います。

それが、読書管理ツールです。

私は、普段、IT関連等ジャンル問わず、200冊〜300冊年間に本を読むので、「この時に読んだこの本って何が書いてあったっけ?」「この本面白かったんだっけ?」みたいになることが往々にしてあります。
そこで、読書内容を管理し、スコアリングし、なんならモチベーションにもなるような読書管理ツールを作りたいと思ったのです。

最終成果物

いつものことながら、最終成果物からお見せします。
https://youtu.be/CQoztUASS2A

  1. 本を検索する。(この際、本のタイトル、著者名、ISIDなどで検索が可能)
  2. 検索結果を押下すると、読んだ日とともに、MyBooksとして登録できる。
  3. 登録した本はMyBooksとして一覧化され、100点満点で評価をつけたり、感想を書き込むことが可能。読んだ日の昇順/降順、得点、ページ数によるソートをかけることも可能。
  4. ダッシュボードにより、読んだ本のページ数や冊数を管理することが可能。月毎や年ごとも管理。

今回のポイント1(API連携)

今回は前回までと異なり、API経由で本の情報を取得するということをしております。
具体的には、Google Books APIと呼ばれる本の情報を抜き取るAPIで、本のタイトル、著者、出版年月日、ページ数、ISIDなどが取得できるAPIです。Amazon Product Advertising APIも一度使ってみたが、Amazonアソシエイトアカウントの登録が必要であったため、エラーが出て、断念しました。Amazonの場合は価格や在庫、レビュー情報も出てくるため、さらに情報が欲しい場合(例えばモチベーションのために使った金額で見たいなど)には、役に立ちます。
ただ、今回は、私は既にGoogle Cloudのアカウントがあり、情報として十分であったため、Google Books APIを利用しました。

こうしたAPIを使う際には、それぞれの特性をどうしても調べるので勉強になっていいですね。

今回のポイント2(UI/UXの改善)

前回同様、今回も、UIについては、アジャイルに作り、動かしながら改善していきました。
最初の実装では、検索は一つの条件でしかできず、例えば「イシューからはじめよ」と検索しても、「シンニホン」など同じ著者の別の本が出てきたりしていました。そのため、本のタイトルや著書などで絞っての検索をできるようにしました。
また、ソートの条件についても、登録後の本の一覧では、おすすめの本を求められた場合などに使いたかったので、得点などでソートをかけました。
このように、使い勝手が良いように、どんどん気付きベースで変えていきました。
これがAIでの開発の魅力ですね。

終わりに

さて今回は初めての実用的なツールでしたが、いかがでしたか?個人的には、非常に使いたいツールになったと思っています。
 今回の反省点として、もう少しデザイン面をこだわってもよかったかなと思っていますので、次回以降、どこかでデザイン的な挑戦もしていければと思います。
引き続き、AIだけでの開発にチャレンジしていきますので、応援のほどお願いします。

Accenture Japan (有志)

Discussion