技術ニュースをスマホで流し読みできる自分専用サイトを作った話 | TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
既存のRSSリーダーでは通知過多により情報の取捨選択が困難であり、朝の短時間でトレンドのみを効率的に把握する体験が欠如していた。また、Markdown形式の出力ではモバイル端末での閲覧性やインタラクティブ性に課題があった。
// Approach
Python標準ライブラリのみを用いた軽量な収集スクリプトをGitHub Actionsで実行し、結果をJSONとしてGit管理する構成を採用。配信にはViteによるSPAを用い、ソースごとのスコアを正規化して算出するアルゴリズムと、特定キーワードによるブースト機能を実装することで、情報のパーソナライズ化を図った。
// Result
情報のノイズを排除し、朝の数分で関心のある記事を特定できる環境を構築。テスト設計と実装を分離するAI活用フローにより、高いテストカバレッジを確保した。運用コストはVercelの無料枠内で完結し、極めて高いメンテナンス性と低レイテンシを実現している。
Senior Engineer Insight
> 過剰なエンジニアリングを徹底的に排除した設計思想を高く評価する。Next.js等の重厚なフレームワークを避け、静的JSONとSPAという構成を選択した判断は、運用コストとパフォーマンスの観点から極めて合理的だ。DBを排除しGitをデータストアとして扱う手法は、小規模な定時更新タスクにおいて整合性と履歴管理を両立させる優れたパターンである。AIを用いたテスト設計と実装の分離フローも、個人の開発速度と品質を両立させる実戦的なアプローチだ。ただし、ソース数が増大した際の収集処理の並列化や、エラーハンドリングの堅牢性については、さらなるスケールを見据えた検討の余地がある。