3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【TypeScript + NextJS + TailwindCSS】FIREを目指して、資産シミュレーターを自作&Vercelデプロイしました

Last updated at Posted at 2025-12-14

はじめに

最近、FIRE(Financial Independence, Retire Early) に興味を持ち始めました。「自分はいつ自由になれるのか?」を知りたくて、React の勉強も兼ねてFIRE計算機(FIRE Calculator) を自作してみました。

自己紹介

  • 現役SES
  • Web開発勉強中
  • 未経験からプロントエンドエンジニアへ

🚀 完成したもの

FIRE Calculator
現在の年齢、貯蓄額、投資のリターン率などを入力すると、FIRE達成年齢と資産推移をシミュレーションできるアプリです。

👉 デモサイトはこちら: https://fire-calculator-v1-1.vercel.app/
👉 GitHubリポジトリ: https://github.com/Cyoukakitsu/fire--calculator--v1.1

截屏2025-12-14 15.18.25.png

🛠 使用した技術スタック

  • Programming: TypeScript
  • Framework: NextJS
  • Styling: Tailwind CSS + DaisyUI
  • Deployment: Vercel

🔥 設計

截屏2025-12-14 15.34.15.png

🖼️ 実際の画面

1. トップページ & イントロダクション(ダックモード付け)

截屏2025-12-20 17.10.07.png

キャプション:PC版のトップページ。レスポンシブ対応済みです。

2. 現状・目標・戦略の入力(3つのカード)

截屏2025-12-14 15.43.18.png

  • Your Situation: 現在の年齢や貯蓄額を入力。
  • Your Retirement: FIRE後の年間支出額や、予想インフレ率を設定。
  • Your Investing Strategy: 株式・債券・現金の投資配分(ポートフォリオ)と想定利回りを設定。

3. 初心者向けのアシスト機能(アコーディオンUI)

「FIREの目標額が分からない」「投資配分をどうすればいいか分からない」というユーザーのために、クリックで展開するヘルプ機能を実装しました。
截屏2025-12-14 15.43.43.png

  • 5 FIRE models: "Lean FIRE" や "Fat FIRE" など、ライフスタイル別の目標額目安を表示。
  • 3 Investors' strategies: "Aggressive"(株式多め)や "Conservative"(債券多め)など、典型的な投資パターンをワンクリックで適用可能。

5. 結果表示セクション(初期状態)

截屏2025-12-20 17.11.29.png

  • "Analyze" ボタンを押す前は、プレースホルダーとして 0 や初期値を表示し、計算待ちの状態であることをユーザーに伝え。
  • ボタンを押すと瞬時に計算が実行され、ここに「FIRE達成可能年齢」、「元本と利益の推移」、「資産の内訳」が表示。

🚀 今後の展望

1. データ可視化(Visual Upgrade) 完成✅

「数値」から「グラフ」へ進化させます。

  • 実装内容: 横軸を「年齢」、縦軸を「資産額」とした**折れ線グラフ(Line Chart)**を導入します。
  • 目的: ユーザーが「自分が何歳で資産の急上昇(ホッケースティック曲線)を迎え、いつ目標額に到達するのか」を一目で分かるようにし、貯蓄へのモチベーションを高められるUIを目指します。

2. 技術アーキテクチャの刷新(Next.js + TypeScript) 完成✅

現在の Vite (React) + JavaScript 環境から、より堅牢でモダンな構成へ移行します。

  • JavaScript → TypeScript:
    • 全てのコンポーネントと計算ロジックをTypeScript化 (.tsx) します。
    • 型定義を厳格に行うことで、バグを未然に防ぎ、開発体験(DX)を向上させます。
  • Vite/React → Next.js:
    • 現在はSPA(シングルページアプリケーション)ですが、将来的なSEO対策やOGP(SNSシェア時の画像表示)、サーバーサイドでの計算処理を見据えて、Next.js (App Router) への移行を検討しています。

📝 最後に

今回の開発を通して、Reactの基礎からTailwind CSSを使ったレスポンシブデザイン、そしてVercelへのデプロイまで、多くのことを学ぶことができました。

最初は自分用のシンプルな計算ツールとして作り始めましたが、UIを整え、レスポンシブ対応を行うことで、一つの「プロダクト」として形にする楽しさを実感しています。

今後は上記のロードマップに沿って、さらに機能を拡張していく予定です。
もしコードに関するアドバイスや、「もっとこうした方がいいよ!」というご意見があれば、ぜひコメントで教えていただけると嬉しいです。

最後まで読んでいただき、ありがとうございました!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?