Portfolio — 櫻井祐冴

AIとノーコードで、業務の面倒を巻き取る。

n8nによる業務自動化、生成AIを使ったアプリ開発、公開データの分析・可視化を、要件整理から実装・運用まで一人で担当しています。ここでは実際に自分で手を動かして作った成果物を紹介します。

n8nChatGPT / Claude APIPython Next.jsLangChain / RAGデータ可視化
github.com/yuuki-s118 ↗

業務自動化ワークフロー

n8n / 本番稼働中
Case 01

見込み客フォロー漏れ防止ワークフロー

課題
見込み客の数が増えるにつれ、誰にいつ最後に連絡したかを手動で追いきれず、フォローの機会を逃すケースが出ていた。
やったこと
Google スプレッドシートの顧客管理表と連携し、毎朝自動でシートを確認。最終連絡日から7日以上経過した相手だけを抽出し、Slackへ自動通知する仕組みを要件整理から構築。
結果
手動でのチェック作業が不要になり、フォロー漏れを仕組みで防げる状態に。現在も本番運用中。
Google Sheets 見込み客管理表 n8n: Schedule Trigger 毎朝 定時実行 最終連絡日から 7日以上経過? Yes Slack 担当者へ自動通知
n8nGoogle Sheets APISlack API
ワークフローJSONを見る ↗
Case 02

キーワード監視・自動通知ワークフロー

課題
特定分野の新着情報を毎回手動で検索しており、情報のキャッチアップに時間がかかっていた。
やったこと
指定キーワードを含む新着記事を定期的に自動検知し、該当があればチャットへ即座に通知するワークフローを構築。
工夫
当初はSlackへ通知していたが、通知を受け取る側のSlack利用率が低かったため、LINE公式アカウントのMessaging APIを使い、LINEグループへ通知する方式に切り替えた。
結果
情報収集にかかっていた時間をゼロにし、必要な情報だけが自動で届く状態を実現。
Web / RSS ソース 新着記事を定期取得 n8n: キーワード判定 指定ワードを含むか確認 LINEへ自動通知
n8nRSS/WebフックLINE Messaging API
ワークフローJSONを見る ↗
Case 03

SNS投稿の自動化(Threads)

課題
複数種目のイベント参加者募集を、毎回手動で投稿しており、画像・動画の添付や文面の使い分けに手間がかかっていた。
やったこと
Threads公式APIとn8nで、募集投稿を自動化。種目ごとに複数の文面と画像・動画をGoogleドライブに保管し、投稿のたびに文面と素材をランダムに選んで、文章とメディアを一緒に投稿する仕組みを構築。
工夫
同じ種目で前回と同じ文面・素材が続かないローテーション、投稿時刻と間隔の分散、特定の種目だけ一時停止・再開できる設定を実装。メディアの取り込みに失敗した場合は、文章のみで投稿するフォールバックも用意した。OAuth認可によるトークン取得と、有効期限を見据えた運用設計も担当。
結果
手動での投稿作業が不要になり、本番稼働中。
Google ドライブ 種目ごとの画像・動画 n8n: 抽選・ローテーション 種目・文面・素材を選択 Threads API テキスト+メディアを自動投稿
n8nThreads APIOAuthGoogle Drive APIJavaScript
Case 04

経済ニュースの自動ダイジェスト

課題
経済・税・年金など対象が広いテーマは、キーワード監視だと通知が膨大になり、かえって読み切れない。
やったこと
Google ニュースのRSSと、日本銀行・厚生労働省の公式発表を毎朝取得し、テーマ別の4枠に整理。同じ話題は1本に統合し、上位のみを選んで1通のダイジェストとしてLINEへ通知。日曜には、日本と世界の差を扱う週間版も配信。
工夫
見出しの類似度による重複統合、複数のメディアが報じている話題や主要メディアを優先するランク付け、公式発表(一次情報)の混在で、件数を抑えつつ重要度と正確さを両立。API課金のない構成で運用。
結果
毎朝の情報収集が、最大12件の1通に集約された。
Google ニュース / 公式RSS 日銀・厚生労働省 ほか n8n: 重複統合・ランク付け 同じ話題を1本に集約 LINEへ自動通知 毎朝1通のダイジェスト
n8nRSSJavaScriptLINE Messaging API

個人開発・分析実績

自主制作
Case 05

AIチャットアプリ

技術構成
Next.js(App Router)+ OpenAI API(GPT-4o)+ Tailwind CSS。フロント・バックエンド一体構成で、ローカルサーバー起動のみで動作。
Next.jsOpenAI API
github.com/yuuki-s118/chatbot-practice ↗
Case 06

Jリーグ データ分析レポート

内容
J1リーグの公式スタッツを収集し、順位表・得点/失点の散布図・得失点差ランキングを可視化。5つの分析ノートを添えたレポートを作成。
データ収集可視化
レポートを見る ↗
Case 07

競合価格・トレンド監視SaaS

概要
楽天市場(楽天ウェブサービスAPI)の商品価格を定期取得し、グラフで可視化・価格変動をメール通知するWebアプリケーション。認証・商品登録・価格収集・履歴表示・アラート通知まで一気通貫で実装。
技術的な工夫
当初はCelery+Redisのワーカーを常時稼働させて毎時価格収集する設計だったが、Renderの無料プランには常時稼働のBackground Workerがないことが判明。有料化を避けるため、本番はGitHub Actionsの毎時スケジュール実行から内部APIを呼び出す方式に切り替えた。Celery+Redis自体はローカル環境用に実装を残し、設計判断の過程もdocs/process-log.mdに記録している。
結果
Render上で本番稼働中。要件定義から実装・デプロイまで一人で完結。
PythonFastAPIPostgreSQLCelery / RedisNext.jsTypeScriptDockerGitHub Actions
github.com/yuuki-s118/competitor-price-monitor ↗ デモを見る ↗
※Render無料プランのため、初回アクセス時は起動に30秒〜1分ほどかかる場合があります