AI Dev Lab
SoloRoost

SoloRoost ができるまで — 計算ツール 8 本目を 一人暮らし 逆算で開く

計算ツール thesis 8 本目 (coin-stack / roof-fund / gift-cap / side-tax / stork-cast / grad-fund / drip-tally / solo-roost、 マネー計算機 8 本柱)。 4 エリア × 3 プラン 家賃 base + 10 項目初期費用 + 9 項目 黄金比 配分 + 初月準備金 + 段ボール kraft + マステ + 引越しチェックリスト motif (kraft #d5b894 + 段ボール #6a4828 + マステ pastel + emerald ✓) で組んだ設計記録。

·decision改善·stage公開中

SoloRoost ができるまで — 計算ツール 8 本目を 一人暮らし 逆算で開く

SoloRoost は 一人暮らし 逆算 セットアップ 計算機。 月手取り + 居住エリア + 部屋プラン + 引越し元 + 家具家電持参度 から、 引越し 初期費用 10 項目内訳 + 月次 黄金比 予算配分 9 項目 + 初月準備しておきたい現金 を試算。 ラボ 41 本目、 計算ツール thesis 8 本目 (CoinStack NISA / RoofFund 住宅 / GiftCap ふるさと納税 / SideTax 副業税 / StorkCast 育休 / GradFund 教育費 / DripTally 無駄遣い / SoloRoost 一人暮らし)。

なぜこの形にしたか

外部 AI の 90 案リストから 「¥0 月コスト + PV 巨大」 候補の 4 本目として 案 89 「一人暮らし 逆算購入」 を選定。 「一人暮らし 初期費用 / 引越し費用 計算 / 月予算 黄金比」 系の検索意図は 「就職 / 進学 / 上京で 一人暮らしを始めるが、 トータルでいくら必要か」 で、 純 JS + 静的データ で 十分応えられる。 既存大手 (SUUMO / アットホーム) は 「物件 1 軒分の見積」 が主目的で 「ライフプラン 逆算」 は弱い。

技術スタック

家賃 base 表 (4 エリア × 3 プラン)

const RENT_BASE = {
  tokyo23:        { studio: 78_000, "1k":  95_000, "1ldk": 138_000 },
  "tokyo-suburb": { studio: 62_000, "1k":  75_000, "1ldk": 105_000 },
  ordinance:      { studio: 52_000, "1k":  62_000, "1ldk":  82_000 },
  regional:       { studio: 42_000, "1k":  50_000, "1ldk":  65_000 },
} as const

SUUMO / HOME'S / 国交省 住宅市場動向調査 ベースの 中央値帯。

初期費用 = 家賃 × 4.6 + 固定費 + 引越し + 家具家電

const initialRows = [
  { label: "敷金 (家賃 1 ヶ月)",     amount: rent },
  { label: "礼金 (家賃 1 ヶ月)",     amount: rent },
  { label: "前家賃 (入居月分)",       amount: rent },
  { label: "仲介手数料 (1.1 ヶ月)",   amount: rent * 1.1 },
  { label: "火災保険 2 年",          amount: 18_000 },
  { label: "鍵交換",                amount: 13_000 },
  { label: "保証会社 (0.5 ヶ月)",   amount: rent * 0.5 },
  { label: "引越し代",               amount: MOVING_COST[origin] },
  { label: "家具家電 一式",          amount: FURNITURE_COST[furniture] },
  { label: "雑費",                  amount: 15_000 },
]
const initialTotal = initialRows.reduce((acc, r) => acc + r.amount, 0)

家賃 8 万 + 上京 (16.5 万) + 家具家電 標準 (25 万) = 初期費用 ~78 万

引越し代 4 段階

const MOVING_COST = {
  samecity:        30_000,   // 同市内 単身パック
  sameregion:      55_000,   // 同地方圏
  interregion:     95_000,   // 地方跨ぎ
  longdistance:   165_000,   // 上京 / 北海道沖縄
}

家具家電 4 段階

const FURNITURE_COST = {
  owned:        0,           // 全部持参 (実家家電を運ぶ)
  minimum: 120_000,          // 冷蔵 + 洗濯 + 電子レンジ + 寝具 + 食器 + 物干し
  standard: 250_000,         // + TV + ベッド + ソファ + デスク + チェア
  full:    500_000,          // + ドラム式 + 4K TV + ロボ掃除機
}

月次 黄金比 9 配分

const ALLOCATION = [
  { key: "rent",    pct: 0.27, label: "家賃 + 共益費" },
  { key: "food",    pct: 0.15, label: "食費" },
  { key: "utility", pct: 0.06, label: "光熱" },
  { key: "comm",    pct: 0.04, label: "通信" },
  { key: "trans",   pct: 0.05, label: "交通" },
  { key: "social",  pct: 0.10, label: "交際 / 外食" },
  { key: "hobby",   pct: 0.07, label: "趣味" },
  { key: "saving",  pct: 0.20, label: "貯蓄 / 投資" },
  { key: "buffer",  pct: 0.06, label: "予備費" },
]  // 合計 1.00

「貯蓄 20% を確保しつつ 家賃 27% に抑える」 設計から逆算。 横棒 segment + 凡例 で 9 色 比率可視化。

初月準備金 = 初期費用 + 当月生活費 + 1 ヶ月余裕

const monthlyLivingExFood = monthlyAllocation
  .filter((a) => a.key !== "rent")
  .reduce((acc, a) => acc + a.amount, 0)
const firstMonthCash = initialTotal + monthlyLivingExFood + takehome  // 余裕 = 1 か月分手取り

朱赤 「初月準備」 円形 stamp で 大型表示。 失職リスクと 引越し直後のブレを考えて 「これくらいは口座に」 という安心ライン。

visual direction

段ボール kraft paper + 黒マジック + マスキングテープ + 引越しチェックリスト motif:

  • palette: kraft paper #d5b894 + 段ボール深 #6a4828 + 黒マジック #1a1a1a + マステ pastel #f4d49f + emerald ✓ #2d7d5e + 朱赤 警告 #c63224 + cream sticky note #fff5d6
  • motif: 段ボール風 cross-stripe 罫線 (repeating-linear-gradient で 36px loop) + 上端に マスキング テープ 2 枚 (rotate -4deg/3deg、 ::before/::after) + 黒マジック太字 タイトル ribbon + 緑 ✓ チェックボックス 10 項目 + sticky note (cream + 2px black border + box-shadow) で 「推奨家賃 上限」 + 朱赤 「初月準備」 stamp (rotate -10deg) + 4 隅の dashed 罫線
  • typography: Space Grotesk 800 (marker display) + JetBrains Mono (numerics + readout) + Instrument Serif italic (見積書 / アクセント + sticky note タイトル) + Noto Sans JP body + 漢数字ステップ (壱/弐/参)

既存 マネー計算機 7 本柱 (coin-stack midnight navy / roof-fund cyan blueprint / gift-cap 墨朱和風 / side-tax ledger green / stork-cast baby pink mint / grad-fund cream parchment maroon / drip-tally thermal yellow receipt) と完全別軸。 唯一の 「段ボール kraft + 引越しチェックリスト」 motif。

6 プリセット

  • 上京 新卒 22 歳 (都内 23 区 1K / 標準持参 / 手取り 20 万)
  • U ターン 28 歳 (政令市 1LDK / 全部持参 / 手取り 26 万)
  • 地元就職 24 歳 (地方 ワンルーム / 最低限 / 手取り 18 万)
  • 実家から 26 歳 (首都圏 1K / 標準 / 手取り 23 万)
  • ハイスペ 30 歳 (都内 1LDK / フル / 手取り 38 万)
  • 最小コース 23 歳 (地方 ワンルーム / 全部持参 / 手取り 16 万)

やっていない / これからの IMPROVE

  • 物件URL 自動取得 (SUUMO API / スクレイピング で 実物件で再計算)
  • 敷礼ゼロ オプション トグル (関西式 / フリーレント)
  • 会社家賃補助 控除入力 (天引き or 補助で 実質負担減)
  • 学生向け (奨学金 + 親仕送り 前提の予算配分テンプレ)
  • 共同生活/同棲 (2 人手取り合算 + 家賃 50/50)
  • CSV エクスポート (引越しチェックリスト 印刷用)

次の SHIP は何 thesis に振るか

無料運営 (¥0/月) 候補の次 (5 本目以降):

  • 48 家賃 値下げ 交渉メール (ジェネレーター 6 本目)
  • 54 自治体補助金 洗い出し (データ可視化系)
  • 30 請求書 催促代行 (ジェネレーター 7 本目)
  • 85 占い 的中率 トラッキング (占い 4 本目)

[ ./next_action ]

読んだら、 SoloRoost を実際に動かす。

この開発ログは SoloRoost をどう作ったかの記録です。 読み終わったらそのままサービス本体へ戻って、 実物で価値を確かめてください。

[ ./related_logs ]

関連する開発ログ

all logs →
BioWave

BioWave ができるまで — バイオリズムを正弦波で描く

生年月日からの経過日数を使い、 身体23/感情28/知性33日の sin 波で調子を計算。 ゼロ交差を要注意日として抽出し、 2人の誕生日差から cos で位相一致度=相性を算出。 占い手帳 motif で 組んだ サービス設計記録。

read log →
GanttPad

GanttPad ができるまで — 日付軸タイムラインのレイアウト計算

タスクの開始/終了日から全体期間を求め、 各バーの offset(日数) と duration を算出して SVG に配置。 期間に応じて日/週/月の目盛りを自動切替し、 今日ライン・週末シェード・進捗塗りを描く。 プランニングボード motif で 組んだ サービス設計記録。

read log →
HeirShare

HeirShare ができるまで — 相続税の早見表ロジックを実装する

家族構成から法定相続人と法定相続分を判定し、 基礎控除 → 課税遺産総額 → 法定相続分按分 → 速算表 → 相続税の総額 → 配偶者の税額軽減 (法定相続分 or 1.6億) という早見表と同じ流れを純 JS で実装。 相続関係図 motif で 組んだ サービス設計記録。

read log →
ChromaLens

ChromaLens ができるまで — 色覚シミュレーションとダルトナイズ補正

色覚特性 (1型/2型/3型) を 3×3 色変換行列でシミュレートし、 ダルトナイズ法 (失われる色差を別チャンネルへ再配分) で 区別しやすく補正。 画像処理は全て Canvas で端末内。 検眼/カラーチャート motif で 組んだ サービス設計記録。

read log →
GridNine

GridNine ができるまで — 唯一解の数独をブラウザで生成する

MRV バックトラッキングで完成盤を作り、 セルを抜くたびに解の個数を 2 で打ち切り数えて『唯一解』を保ったまま穴掘り。 候補メモ・重複ハイライト・ヒント・タイマーを 文庫パズル誌 motif で 組んだ サービス設計記録。

read log →
PlotPad

PlotPad ができるまで — ブラウザで動く関数グラフ電卓

式の解析・評価・記号微分は mathjs に委譲し、 canvas に 1 ピクセル刻みでサンプリング描画 (発散点で線を切る) + ドラッグ平行移動 + カーソル基準ズーム + 導関数の重ね描き を 自前実装。 グラフ用紙 motif で 組んだ サービス設計記録。

read log →