Contents
📍 現在地(2026年5月16日時点)
私について
- 個人開発初学者
- 学習しながら実際のサービスを作っていく段階
進行中のプロジェクト
| プロジェクト | 状況 |
|---|---|
| WordPress設定変更 | ✅ 完了 |
| 電車サービス開発 | 構築中 |
| 職場のClaude Code開発 | 継続中 |
💻 使用環境
メイン機:MacBook Air M4 24GB
- ローカルLLM担当
- LM Studio サーバー起動
- Aider でコード生成
- Claude Code(クラウド)も併用
- 重い処理・Ollama サーバー担当
- GPU割当:24GB推奨(BIOS設定)
🛠 ローカルLLM 環境構成
使用ツール
| ツール | 役割 |
|---|---|
| LM Studio | モデルサーバー(localhost:1234) |
| Aider | コード生成・編集エージェント |
| Qwen2.5-Coder-14B(MLX版) | メインモデル(コーディング特化) |
| Claude Code(クラウド) | 複雑な設計・レビュー時に使い分け |
重要な学び
- MLXバックエンド = llama.cpp より約2.5倍速い → Air M4 では MLX版一択
- コンテキスト長 8192 が最適解
- Aider = コードを書くツール、ドキュメント作成は LM Studio チャット
- 買い替え・新機能は「壁にぶつかってから」が正解
- ⚠️ Aiderは必ずプロジェクトフォルダ内で起動すること(ホームディレクトリで起動するとファイルが別の場所に作られる)
Aider 起動コマンド(LM Studio 経由)
# ① 必ずプロジェクトフォルダに移動してから起動する
cd ~/Documents/xxxxx-portal
# ② LM Studio サーバーを先に起動してから実行
aider --openai-api-base http://localhost:1234/v1 \
--openai-api-key lm-studio \
--model openai/qwen2.5-coder-14b-instruct
📋 xxxx-portal(ビルディング 状態管理ポータル)
フォルダ:~/Documents/xxxx-portal/
技術スタック(確定)
| レイヤー | 技術 |
|---|---|
| フロントエンド | Next.js 16.2.3(App Router) |
| データベース | Supabase(PostgreSQL) |
| スタイル | Tailwind CSS v4 |
| バックエンド | FastAPI(Phase 3で追加) |
| LLM | Anthropic API(Phase 3) |
| ホスティング | Vercel(FE)+ Render(API) |
開発サーバー起動
cd ~/Documents/xxxxx-portal
npm run dev
# → http://localhost:3000 または http://192.168.0.4:3000
⚠️ Supabaseは無料プランのため長期間未使用で停止する。 停止時は https://supabase.com/dashboard でプロジェクトを復帰させてから起動。
実装済みファイル
| ファイル | 内容 | 状態 |
|---|---|---|
src/app/page.tsx | ビル一覧トップ画面 | ✅ 完成・動作確認済み |
src/app/buildings/[id]/page.tsx | ビル詳細画面(カテゴリ別・ステータスバッジ) | ✅ 完成・動作確認済み |
src/app/layout.tsx | ルートレイアウト | ✅ 完成 |
src/lib/supabase.ts | Supabaseクライアント(型付き) | ✅ 完成 |
src/types/index.ts | 型定義一式 | ✅ 完成 |
supabase/schema.sql | DBスキーマ+サンプルデータ(投入済み) | ✅ 完成 |
未実装
| 画面 | 内容 |
|---|---|
/resident | 入居者向けトップ(ビル選択) |
/resident/buildings/[id] | 入居者向け状態表示(読み取り専用) |
| ステータス更新UI | 「正常/異常/対応中」を変更するボタン |
| 履歴一覧UI | status_historyの表示 |
| LLM予測 | 「予測を見る」ボタン → Anthropic API連携 |
開発フェーズと進捗
- Phase 1(状態共有ポータル):✅ トップ・詳細画面完成。入居者画面が残り
- Phase 2(履歴管理):DBスキーマ完成・UI未実装
- Phase 3(LLM予測エージェント):未着手
次にやること
/residentと/resident/buildings/[id]を実装する- ステータス更新ボタンを追加する(Phase 1 完結)
- status_history の履歴一覧UIを作る(Phase 2)
🔄 開発サイクル(基本方針)
オフライン(ローカルLLMで実装)
↓
オンライン(Claudeでレビュー・検証)
↓
オフライン(フィードバックを反映・次の実装)
- ローカル:集中・実装・コスト0
- クラウド:複雑な設計・エラー深掘り・ライブラリ確認
📁 ディレクトリ構成
xxxxx-portal/
├── AGENTS.md
├── CLAUDE.md
├── requirements.md # 要件定義書
├── supabase/
│ └── schema.sql # DBスキーマ+サンプルデータ
├── src/
│ ├── app/
│ │ ├── page.tsx # ✅ ビル一覧
│ │ ├── layout.tsx
│ │ ├── globals.css
│ │ └── buildings/
│ │ └── [id]/
│ │ └── page.tsx # ✅ ビル詳細
│ ├── lib/
│ │ └── supabase.ts # ✅ Supabaseクライアント
│ └── types/
│ └── index.ts # ✅ 型定義
└── .env.local # Supabase接続情報(gitに含めない)
更新日:2026年5月16日 元チャット:「ローカルLLM開発環境 Phase 1実装」
