こんにちは、サクです。
今回「Developers Trend」という企業のテックブログの更新をまとめてチェックできるサービスを作ったので、その内容やシステム構成を紹介します。
背景
読者の皆さんの中には、QiitaやZenn、はてブ、大手のテックブログなどから技術情報を取得している方も多いのではないでしょうか?それぞれの更新を追うのは大変で、少し疲れている方もいらっしゃるかもしれません。
また、最近忙しくてGoogle Discoverでサジェストされる記事だけを読んでいる方や、会社のSlackに同僚がシェアしてくれるおすすめ記事だけを読んでいる方もいるかもしれません。
実は私も同じ状況で、そんな忙しいけどサクッと技術情報の更新を追いたいと思っています。
しかし、現状存在しているサービスだと、私にとっては不要な情報(サムネイル、いいね数、description、コメント等)が多く使っていて疲れてしまうという問題がありました。
そこで、シンプルな情報のみを配信して企業のテックブログの更新をまとめてチェックできる「Developers Trend」というサービスを作ってみました。
サービス内容
現在提供しているのは、「ユーザーが直近7日間に配信された技術ブログのリストを閲覧できる」という極シンプルな機能です。さらに、記事のキーワード表示や、記事をタップすると訪問済みであることを表示する機能もあります。
システム構成
個人開発のため、以下の点を意識して作成しました。
- できるだけお金をかけない
- 運用に手間をかけない
- 開発が簡単にできる
以下、システム構成の説明です。
- 記事データをSupabaseに蓄積
- GASで定期的に追跡対象のRSSを取得し、記事データをSupabaseに格納
- GASで定期的に格納された記事データをチェックし、Geminiでキーワードを抽出
- 記事の質を見るために要約も行いますが、その内容は公開していません
- Next.jsでSSGした静的ファイルをFirebase Hostingにデプロイ
- SSG時にSupabaseから記事データを取得
- GitHub Actionsで定期的に実行
工夫点は以下の通りです。
- Next.jsのSSGにより、アプリサーバ無しにCDNで静的ファイル配信のみ(JAMstack)
- SupabaseのDBアクセスも定期的なビルド時のみのため無料プランで問題無い
- Chakra UIでUIを簡素化
- 生成AIのAPIを無料でも使用できたGeminiを活用(2024年8月現在)
- Sentryでフロントエンドのエラーを監視
- RSS・Atom未対応のページはGASで個別対応(現在はログミーのみ)
今後の展望
リリースしたばかりなので、まずは需要があるかの検証を行い、自分自身が気になる点を改善していきます。また、良い情報を対象者レベル別にストックできる機能を少しずつ作り始めています。
そして、もし皆さんからのフィードバックがあればサービスの改善を進めていきたいと思っています。サイト上にGoogleフォームのリンクも用意していますのでぜひご意見やご感想をお聞かせください。
共感してくださる方や気になる方は、ぜひアクセスしてみてください。