LukasBe commited on
Commit
f029fd1
·
verified ·
1 Parent(s): e612cd4

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +1203 -19
  3. prompts.txt +1 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Fire Mission Control
3
- emoji: 🚀
4
- colorFrom: blue
5
- colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: fire-mission-control
3
+ emoji: 🐳
4
+ colorFrom: red
5
+ colorTo: purple
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,1203 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>FIRE Mission Control</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
10
+ <style>
11
+ .gauge {
12
+ --percentage: 0;
13
+ --fill: #4ade80;
14
+ width: 150px;
15
+ height: 75px;
16
+ position: relative;
17
+ overflow: hidden;
18
+ }
19
+
20
+ .gauge::before {
21
+ content: "";
22
+ position: absolute;
23
+ width: 150px;
24
+ height: 75px;
25
+ border: 15px solid #e5e7eb;
26
+ border-bottom: none;
27
+ border-radius: 75px 75px 0 0;
28
+ box-sizing: border-box;
29
+ }
30
+
31
+ .gauge::after {
32
+ content: "";
33
+ position: absolute;
34
+ width: 150px;
35
+ height: 75px;
36
+ border: 15px solid var(--fill);
37
+ border-bottom: none;
38
+ border-radius: 75px 75px 0 0;
39
+ box-sizing: border-box;
40
+ left: 0;
41
+ top: 100%;
42
+ transform-origin: 50% 0;
43
+ transform: rotate(0.5turn);
44
+ animation: fill-gauge 1.5s ease-out forwards;
45
+ animation-delay: 0.5s;
46
+ }
47
+
48
+ @keyframes fill-gauge {
49
+ to { transform: rotate(calc(0.5turn + (1turn * var(--percentage) / 100))); }
50
+ }
51
+
52
+ .progress-ring {
53
+ --percentage: 0;
54
+ --primary: #3b82f6;
55
+ --secondary: #e5e7eb;
56
+ --size: 120px;
57
+ width: var(--size);
58
+ height: var(--size);
59
+ border-radius: 50%;
60
+ display: grid;
61
+ place-items: center;
62
+ background:
63
+ radial-gradient(closest-side, white 85%, transparent 86% 100%),
64
+ conic-gradient(var(--primary) calc(var(--percentage) * 1%), var(--secondary) 0);
65
+ }
66
+
67
+ .progress-ring::before {
68
+ content: attr(data-progress) "%";
69
+ font-weight: bold;
70
+ font-size: 1.2rem;
71
+ }
72
+
73
+ .flip-card {
74
+ perspective: 1000px;
75
+ }
76
+
77
+ .flip-card-inner {
78
+ transition: transform 0.6s;
79
+ transform-style: preserve-3d;
80
+ }
81
+
82
+ .flip-card:hover .flip-card-inner {
83
+ transform: rotateY(180deg);
84
+ }
85
+
86
+ .flip-card-front, .flip-card-back {
87
+ backface-visibility: hidden;
88
+ }
89
+
90
+ .flip-card-back {
91
+ transform: rotateY(180deg);
92
+ }
93
+
94
+ .badge {
95
+ animation: pulse 2s infinite;
96
+ }
97
+
98
+ @keyframes pulse {
99
+ 0% { transform: scale(1); }
100
+ 50% { transform: scale(1.05); }
101
+ 100% { transform: scale(1); }
102
+ }
103
+
104
+ .glow {
105
+ box-shadow: 0 0 15px rgba(59, 130, 246, 0.5);
106
+ }
107
+
108
+ .tab-content {
109
+ display: none;
110
+ }
111
+
112
+ .tab-content.active {
113
+ display: block;
114
+ animation: fadeIn 0.5s ease-in;
115
+ }
116
+
117
+ @keyframes fadeIn {
118
+ from { opacity: 0; }
119
+ to { opacity: 1; }
120
+ }
121
+ </style>
122
+ </head>
123
+ <body class="bg-gray-100 font-sans">
124
+ <div class="container mx-auto px-4 py-6">
125
+ <!-- Header -->
126
+ <header class="bg-white rounded-xl shadow-md p-6 mb-6 flex flex-col md:flex-row justify-between items-center">
127
+ <div class="flex items-center mb-4 md:mb-0">
128
+ <div class="bg-blue-500 text-white p-3 rounded-lg mr-4">
129
+ <i class="fas fa-rocket text-2xl"></i>
130
+ </div>
131
+ <div>
132
+ <h1 class="text-2xl font-bold text-gray-800">FIRE Mission Control</h1>
133
+ <p class="text-gray-600">Your dashboard to financial independence</p>
134
+ </div>
135
+ </div>
136
+ <div class="flex items-center">
137
+ <div class="mr-4">
138
+ <div class="text-sm text-gray-500">Today is</div>
139
+ <div class="font-semibold" id="current-date">June 15, 2023</div>
140
+ </div>
141
+ <div class="relative">
142
+ <img src="https://randomuser.me/api/portraits/men/32.jpg" alt="User" class="w-12 h-12 rounded-full border-2 border-blue-500">
143
+ <span class="absolute bottom-0 right-0 bg-green-500 text-white text-xs font-bold px-1 rounded-full">✓</span>
144
+ </div>
145
+ </div>
146
+ </header>
147
+
148
+ <!-- Welcome Section -->
149
+ <section class="bg-gradient-to-r from-blue-500 to-blue-700 rounded-xl shadow-md p-6 mb-6 text-white">
150
+ <h2 class="text-2xl font-bold mb-2">Good Morning, <span id="user-name">Alex</span>!</h2>
151
+ <p class="mb-4">You are <span class="font-bold text-yellow-300" id="fi-percentage">42%</span> of the way to Financial Independence</p>
152
+ <div class="flex flex-wrap items-center justify-between">
153
+ <div class="flex items-center mb-4 md:mb-0">
154
+ <div class="progress-ring mr-4" data-progress="42" style="--percentage:42; --primary:#fbbf24; --size:80px;"></div>
155
+ <div>
156
+ <div class="text-sm">FI Progress</div>
157
+ <div class="text-xl font-bold">$425,000 / $1,000,000</div>
158
+ <div class="text-xs">Target based on 4% SWR</div>
159
+ </div>
160
+ </div>
161
+ <div class="bg-white bg-opacity-20 rounded-lg p-3 text-center">
162
+ <div class="text-sm">Days of Freedom Earned</div>
163
+ <div class="text-2xl font-bold">1,325</div>
164
+ <div class="text-xs">Based on $40/day spending</div>
165
+ </div>
166
+ <div class="bg-white bg-opacity-20 rounded-lg p-3 text-center">
167
+ <div class="text-sm">Time to FI</div>
168
+ <div class="text-2xl font-bold">8.5 years</div>
169
+ <div class="text-xs">At current savings rate</div>
170
+ </div>
171
+ <div class="bg-white bg-opacity-20 rounded-lg p-3 text-center">
172
+ <div class="text-sm">Savings Rate</div>
173
+ <div class="text-2xl font-bold">45%</div>
174
+ <div class="text-xs">Target: 50%</div>
175
+ </div>
176
+ </div>
177
+ </section>
178
+
179
+ <!-- Alerts Section -->
180
+ <section class="bg-white rounded-xl shadow-md p-6 mb-6">
181
+ <div class="flex justify-between items-center mb-4">
182
+ <h2 class="text-xl font-bold text-gray-800">Alerts & Notifications</h2>
183
+ <span class="bg-blue-100 text-blue-800 text-xs font-medium px-2.5 py-0.5 rounded-full">3 New</span>
184
+ </div>
185
+ <div class="space-y-3">
186
+ <div class="flex items-start p-3 bg-yellow-50 rounded-lg border-l-4 border-yellow-400">
187
+ <div class="mr-3 text-yellow-500">
188
+ <i class="fas fa-exclamation-circle"></i>
189
+ </div>
190
+ <div>
191
+ <div class="font-medium text-yellow-800">Market down 2.5% this week</div>
192
+ <div class="text-sm text-yellow-700">Historical data suggests staying the course. Consider tax-loss harvesting opportunities.</div>
193
+ </div>
194
+ </div>
195
+ <div class="flex items-start p-3 bg-green-50 rounded-lg border-l-4 border-green-400">
196
+ <div class="mr-3 text-green-500">
197
+ <i class="fas fa-check-circle"></i>
198
+ </div>
199
+ <div>
200
+ <div class="font-medium text-green-800">$100k invested milestone reached!</div>
201
+ <div class="text-sm text-green-700">Compound interest is now working harder for you. Keep it up!</div>
202
+ </div>
203
+ </div>
204
+ <div class="flex items-start p-3 bg-blue-50 rounded-lg border-l-4 border-blue-400">
205
+ <div class="mr-3 text-blue-500">
206
+ <i class="fas fa-info-circle"></i>
207
+ </div>
208
+ <div>
209
+ <div class="font-medium text-blue-800">IRA contribution limit reminder</div>
210
+ <div class="text-sm text-blue-700">You've contributed $3,000 of $6,500 limit for 2023.</div>
211
+ </div>
212
+ </div>
213
+ </div>
214
+ </section>
215
+
216
+ <!-- Main Dashboard Tabs -->
217
+ <div class="mb-6">
218
+ <ul class="flex flex-wrap text-sm font-medium text-center border-b border-gray-200" id="dashboard-tabs">
219
+ <li class="mr-2">
220
+ <button class="inline-block p-4 rounded-t-lg border-b-2 border-blue-600 text-blue-600 active" data-tab="income">Income & Savings</button>
221
+ </li>
222
+ <li class="mr-2">
223
+ <button class="inline-block p-4 rounded-t-lg border-b-2 border-transparent hover:text-gray-600 hover:border-gray-300" data-tab="expenses">Expenses</button>
224
+ </li>
225
+ <li class="mr-2">
226
+ <button class="inline-block p-4 rounded-t-lg border-b-2 border-transparent hover:text-gray-600 hover:border-gray-300" data-tab="investments">Investments</button>
227
+ </li>
228
+ <li class="mr-2">
229
+ <button class="inline-block p-4 rounded-t-lg border-b-2 border-transparent hover:text-gray-600 hover:border-gray-300" data-tab="retirement">Retirement</button>
230
+ </li>
231
+ <li class="mr-2">
232
+ <button class="inline-block p-4 rounded-t-lg border-b-2 border-transparent hover:text-gray-600 hover:border-gray-300" data-tab="automation">Automation</button>
233
+ </li>
234
+ </ul>
235
+ </div>
236
+
237
+ <!-- Tab Content -->
238
+ <div id="tab-content">
239
+ <!-- Income & Savings Tab -->
240
+ <div class="tab-content active" id="income-tab">
241
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
242
+ <!-- Income Streams -->
243
+ <div class="bg-white rounded-xl shadow-md p-6">
244
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Income Streams</h3>
245
+ <div class="mb-4">
246
+ <div class="flex justify-between mb-1">
247
+ <span class="text-sm font-medium text-gray-700">Primary Job</span>
248
+ <span class="text-sm font-medium">$85,000</span>
249
+ </div>
250
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
251
+ <div class="bg-blue-600 h-2.5 rounded-full" style="width: 85%"></div>
252
+ </div>
253
+ </div>
254
+ <div class="mb-4">
255
+ <div class="flex justify-between mb-1">
256
+ <span class="text-sm font-medium text-gray-700">Side Hustle</span>
257
+ <span class="text-sm font-medium">$12,000</span>
258
+ </div>
259
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
260
+ <div class="bg-green-500 h-2.5 rounded-full" style="width: 12%"></div>
261
+ </div>
262
+ </div>
263
+ <div class="mb-4">
264
+ <div class="flex justify-between mb-1">
265
+ <span class="text-sm font-medium text-gray-700">Investment Income</span>
266
+ <span class="text-sm font-medium">$3,000</span>
267
+ </div>
268
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
269
+ <div class="bg-purple-500 h-2.5 rounded-full" style="width: 3%"></div>
270
+ </div>
271
+ </div>
272
+ <div class="mt-6">
273
+ <h4 class="text-md font-semibold mb-2">What-if Scenarios</h4>
274
+ <div class="flex space-x-2">
275
+ <button class="px-3 py-1 text-sm bg-blue-100 text-blue-800 rounded-full hover:bg-blue-200">+5% Salary</button>
276
+ <button class="px-3 py-1 text-sm bg-green-100 text-green-800 rounded-full hover:bg-green-200">New Side Hustle</button>
277
+ <button class="px-3 py-1 text-sm bg-purple-100 text-purple-800 rounded-full hover:bg-purple-200">Dividend Growth</button>
278
+ </div>
279
+ </div>
280
+ </div>
281
+
282
+ <!-- Savings Optimization -->
283
+ <div class="bg-white rounded-xl shadow-md p-6">
284
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Savings Optimization</h3>
285
+ <div class="mb-6">
286
+ <div class="flex justify-between items-center mb-2">
287
+ <span class="font-medium">Employer Match</span>
288
+ <span class="text-sm bg-green-100 text-green-800 px-2 py-0.5 rounded-full">Maximized</span>
289
+ </div>
290
+ <p class="text-sm text-gray-600 mb-2">You're contributing 6% to get the full 3% match.</p>
291
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
292
+ <div class="bg-green-500 h-2.5 rounded-full" style="width: 100%"></div>
293
+ </div>
294
+ </div>
295
+ <div class="mb-6">
296
+ <h4 class="font-medium mb-2">Automated Savings</h4>
297
+ <div class="space-y-3">
298
+ <div class="flex justify-between items-center">
299
+ <div class="flex items-center">
300
+ <div class="w-8 h-8 bg-blue-100 rounded-full flex items-center justify-center mr-2">
301
+ <i class="fas fa-piggy-bank text-blue-600"></i>
302
+ </div>
303
+ <span class="text-sm">401(k)</span>
304
+ </div>
305
+ <span class="text-sm font-medium">$1,062/mo</span>
306
+ </div>
307
+ <div class="flex justify-between items-center">
308
+ <div class="flex items-center">
309
+ <div class="w-8 h-8 bg-green-100 rounded-full flex items-center justify-center mr-2">
310
+ <i class="fas fa-landmark text-green-600"></i>
311
+ </div>
312
+ <span class="text-sm">Roth IRA</span>
313
+ </div>
314
+ <span class="text-sm font-medium">$541/mo</span>
315
+ </div>
316
+ <div class="flex justify-between items-center">
317
+ <div class="flex items-center">
318
+ <div class="w-8 h-8 bg-purple-100 rounded-full flex items-center justify-center mr-2">
319
+ <i class="fas fa-chart-line text-purple-600"></i>
320
+ </div>
321
+ <span class="text-sm">Taxable Brokerage</span>
322
+ </div>
323
+ <span class="text-sm font-medium">$750/mo</span>
324
+ </div>
325
+ </div>
326
+ </div>
327
+ <button class="w-full bg-blue-600 hover:bg-blue-700 text-white py-2 px-4 rounded-lg flex items-center justify-center">
328
+ <i class="fas fa-arrow-up mr-2"></i> Increase Savings Rate to 50%
329
+ </button>
330
+ </div>
331
+ </div>
332
+
333
+ <div class="bg-white rounded-xl shadow-md p-6 mb-6">
334
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Pay Yourself First Efficiency</h3>
335
+ <div class="flex flex-col md:flex-row items-center">
336
+ <div class="gauge mb-4 md:mb-0 md:mr-6" style="--percentage:90; --fill:#3b82f6;"></div>
337
+ <div class="flex-1">
338
+ <div class="mb-2">
339
+ <div class="flex justify-between mb-1">
340
+ <span class="text-sm font-medium text-gray-700">Automated Savings</span>
341
+ <span class="text-sm font-medium">$2,353/mo</span>
342
+ </div>
343
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
344
+ <div class="bg-blue-600 h-2.5 rounded-full" style="width: 90%"></div>
345
+ </div>
346
+ </div>
347
+ <div>
348
+ <div class="flex justify-between mb-1">
349
+ <span class="text-sm font-medium text-gray-700">Manual Savings</span>
350
+ <span class="text-sm font-medium">$250/mo</span>
351
+ </div>
352
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
353
+ <div class="bg-gray-400 h-2.5 rounded-full" style="width: 10%"></div>
354
+ </div>
355
+ </div>
356
+ <p class="text-sm text-gray-600 mt-2">90% of your savings are automated - excellent! Try to reach 100%.</p>
357
+ </div>
358
+ </div>
359
+ </div>
360
+ </div>
361
+
362
+ <!-- Expenses Tab -->
363
+ <div class="tab-content" id="expenses-tab">
364
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
365
+ <!-- Spending Analysis -->
366
+ <div class="bg-white rounded-xl shadow-md p-6">
367
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Spending Analysis</h3>
368
+ <div class="h-64">
369
+ <canvas id="spendingChart"></canvas>
370
+ </div>
371
+ <div class="mt-4 grid grid-cols-2 gap-2">
372
+ <div class="bg-blue-50 p-3 rounded-lg">
373
+ <div class="text-sm text-blue-800">Biggest Category</div>
374
+ <div class="font-bold">Housing</div>
375
+ <div class="text-xs">$1,500/mo (30%)</div>
376
+ </div>
377
+ <div class="bg-green-50 p-3 rounded-lg">
378
+ <div class="text-sm text-green-800">Most Improved</div>
379
+ <div class="font-bold">Dining Out</div>
380
+ <div class="text-xs">↓15% from last month</div>
381
+ </div>
382
+ </div>
383
+ </div>
384
+
385
+ <!-- Latte Factor -->
386
+ <div class="bg-white rounded-xl shadow-md p-6">
387
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Latte Factor</h3>
388
+ <div class="mb-4">
389
+ <div class="flex justify-between items-center mb-2">
390
+ <div class="flex items-center">
391
+ <i class="fas fa-coffee text-brown-500 mr-2"></i>
392
+ <span>Daily Coffee</span>
393
+ </div>
394
+ <span class="font-medium">$5/day</span>
395
+ </div>
396
+ <div class="text-sm text-gray-600 mb-2">Invested instead, this could grow to <span class="font-bold">$42,000</span> in 20 years</div>
397
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
398
+ <div class="bg-yellow-500 h-2.5 rounded-full" style="width: 60%"></div>
399
+ </div>
400
+ </div>
401
+ <div class="mb-4">
402
+ <div class="flex justify-between items-center mb-2">
403
+ <div class="flex items-center">
404
+ <i class="fas fa-utensils text-red-500 mr-2"></i>
405
+ <span>Lunch Out</span>
406
+ </div>
407
+ <span class="font-medium">$12/day</span>
408
+ </div>
409
+ <div class="text-sm text-gray-600 mb-2">Invested instead, this could grow to <span class="font-bold">$101,000</span> in 20 years</div>
410
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
411
+ <div class="bg-red-500 h-2.5 rounded-full" style="width: 75%"></div>
412
+ </div>
413
+ </div>
414
+ <div class="mb-4">
415
+ <div class="flex justify-between items-center mb-2">
416
+ <div class="flex items-center">
417
+ <i class="fas fa-tv text-purple-500 mr-2"></i>
418
+ <span>Streaming Services</span>
419
+ </div>
420
+ <span class="font-medium">$45/mo</span>
421
+ </div>
422
+ <div class="text-sm text-gray-600 mb-2">Invested instead, this could grow to <span class="font-bold">$23,000</span> in 20 years</div>
423
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
424
+ <div class="bg-purple-500 h-2.5 rounded-full" style="width: 40%"></div>
425
+ </div>
426
+ </div>
427
+ <button class="w-full bg-green-600 hover:bg-green-700 text-white py-2 px-4 rounded-lg flex items-center justify-center">
428
+ <i class="fas fa-lightbulb mr-2"></i> Show Me More Opportunities
429
+ </button>
430
+ </div>
431
+ </div>
432
+
433
+ <!-- Debt Management -->
434
+ <div class="bg-white rounded-xl shadow-md p-6 mb-6">
435
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Debt Management</h3>
436
+ <div class="overflow-x-auto">
437
+ <table class="w-full text-sm text-left text-gray-500">
438
+ <thead class="text-xs text-gray-700 uppercase bg-gray-50">
439
+ <tr>
440
+ <th class="px-6 py-3">Debt Type</th>
441
+ <th class="px-6 py-3">Balance</th>
442
+ <th class="px-6 py-3">Interest Rate</th>
443
+ <th class="px-6 py-3">Minimum Payment</th>
444
+ <th class="px-6 py-3">Payoff Date</th>
445
+ <th class="px-6 py-3">Action</th>
446
+ </tr>
447
+ </thead>
448
+ <tbody>
449
+ <tr class="bg-white border-b">
450
+ <td class="px-6 py-4 font-medium text-gray-900">Mortgage</td>
451
+ <td class="px-6 py-4">$245,000</td>
452
+ <td class="px-6 py-4">3.25%</td>
453
+ <td class="px-6 py-4">$1,350</td>
454
+ <td class="px-6 py-4">2043</td>
455
+ <td class="px-6 py-4">
456
+ <button class="text-blue-600 hover:text-blue-800">Refi Check</button>
457
+ </td>
458
+ </tr>
459
+ <tr class="bg-white border-b">
460
+ <td class="px-6 py-4 font-medium text-gray-900">Student Loan</td>
461
+ <td class="px-6 py-4">$22,500</td>
462
+ <td class="px-6 py-4">5.8%</td>
463
+ <td class="px-6 py-4">$250</td>
464
+ <td class="px-6 py-4">2030</td>
465
+ <td class="px-6 py-4">
466
+ <button class="text-blue-600 hover:text-blue-800">Pay Extra</button>
467
+ </td>
468
+ </tr>
469
+ <tr class="bg-white border-b">
470
+ <td class="px-6 py-4 font-medium text-gray-900">Auto Loan</td>
471
+ <td class="px-6 py-4">$8,750</td>
472
+ <td class="px-6 py-4">4.5%</td>
473
+ <td class="px-6 py-4">$275</td>
474
+ <td class="px-6 py-4">2027</td>
475
+ <td class="px-6 py-4">
476
+ <button class="text-blue-600 hover:text-blue-800">Payoff Plan</button>
477
+ </td>
478
+ </tr>
479
+ </tbody>
480
+ </table>
481
+ </div>
482
+ <div class="mt-4 flex flex-col md:flex-row space-y-2 md:space-y-0 md:space-x-2">
483
+ <button class="flex-1 bg-blue-100 hover:bg-blue-200 text-blue-800 py-2 px-4 rounded-lg">
484
+ <i class="fas fa-snowflake mr-2"></i> Snowball Method
485
+ </button>
486
+ <button class="flex-1 bg-green-100 hover:bg-green-200 text-green-800 py-2 px-4 rounded-lg">
487
+ <i class="fas fa-mountain mr-2"></i> Avalanche Method
488
+ </button>
489
+ <button class="flex-1 bg-purple-100 hover:bg-purple-200 text-purple-800 py-2 px-4 rounded-lg">
490
+ <i class="fas fa-calculator mr-2"></i> Compare Strategies
491
+ </button>
492
+ </div>
493
+ </div>
494
+ </div>
495
+
496
+ <!-- Investments Tab -->
497
+ <div class="tab-content" id="investments-tab">
498
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
499
+ <!-- Portfolio Overview -->
500
+ <div class="bg-white rounded-xl shadow-md p-6">
501
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Portfolio Overview</h3>
502
+ <div class="h-64 mb-4">
503
+ <canvas id="allocationChart"></canvas>
504
+ </div>
505
+ <div class="grid grid-cols-2 gap-2">
506
+ <div class="bg-blue-50 p-3 rounded-lg">
507
+ <div class="text-sm text-blue-800">Total Invested</div>
508
+ <div class="font-bold">$425,000</div>
509
+ </div>
510
+ <div class="bg-green-50 p-3 rounded-lg">
511
+ <div class="text-sm text-green-800">YTD Return</div>
512
+ <div class="font-bold">8.2%</div>
513
+ </div>
514
+ <div class="bg-purple-50 p-3 rounded-lg">
515
+ <div class="text-sm text-purple-800">Dividends</div>
516
+ <div class="font-bold">$3,200/yr</div>
517
+ </div>
518
+ <div class="bg-yellow-50 p-3 rounded-lg">
519
+ <div class="text-sm text-yellow-800">Expense Ratio</div>
520
+ <div class="font-bold">0.12%</div>
521
+ </div>
522
+ </div>
523
+ </div>
524
+
525
+ <!-- Performance -->
526
+ <div class="bg-white rounded-xl shadow-md p-6">
527
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Investment Performance</h3>
528
+ <div class="h-64 mb-4">
529
+ <canvas id="performanceChart"></canvas>
530
+ </div>
531
+ <div class="overflow-x-auto">
532
+ <table class="w-full text-sm text-left text-gray-500">
533
+ <thead class="text-xs text-gray-700 uppercase bg-gray-50">
534
+ <tr>
535
+ <th class="px-6 py-3">Period</th>
536
+ <th class="px-6 py-3">Your Return</th>
537
+ <th class="px-6 py-3">S&P 500</th>
538
+ <th class="px-6 py-3">Difference</th>
539
+ </tr>
540
+ </thead>
541
+ <tbody>
542
+ <tr class="bg-white border-b">
543
+ <td class="px-6 py-4">YTD</td>
544
+ <td class="px-6 py-4">8.2%</td>
545
+ <td class="px-6 py-4">9.5%</td>
546
+ <td class="px-6 py-4 text-red-500">-1.3%</td>
547
+ </tr>
548
+ <tr class="bg-white border-b">
549
+ <td class="px-6 py-4">1 Year</td>
550
+ <td class="px-6 py-4">12.1%</td>
551
+ <td class="px-6 py-4">14.2%</td>
552
+ <td class="px-6 py-4 text-red-500">-2.1%</td>
553
+ </tr>
554
+ <tr class="bg-white border-b">
555
+ <td class="px-6 py-4">3 Year</td>
556
+ <td class="px-6 py-4">7.8%</td>
557
+ <td class="px-6 py-4">8.3%</td>
558
+ <td class="px-6 py-4 text-red-500">-0.5%</td>
559
+ </tr>
560
+ <tr class="bg-white border-b">
561
+ <td class="px-6 py-4">5 Year</td>
562
+ <td class="px-6 py-4">9.2%</td>
563
+ <td class="px-6 py-4">9.7%</td>
564
+ <td class="px-6 py-4 text-red-500">-0.5%</td>
565
+ </tr>
566
+ </tbody>
567
+ </table>
568
+ </div>
569
+ </div>
570
+ </div>
571
+
572
+ <!-- Tax Optimization -->
573
+ <div class="bg-white rounded-xl shadow-md p-6 mb-6">
574
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Tax Optimization</h3>
575
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-6">
576
+ <div class="bg-blue-50 p-4 rounded-lg">
577
+ <div class="flex justify-between items-start mb-2">
578
+ <div class="font-medium">401(k) Contributions</div>
579
+ <span class="bg-blue-100 text-blue-800 text-xs px-2 py-0.5 rounded-full">$12,500</span>
580
+ </div>
581
+ <div class="text-sm text-gray-600 mb-2">$20,500 limit for 2023</div>
582
+ <div class="w-full bg-gray-200 rounded-full h-2">
583
+ <div class="bg-blue-600 h-2 rounded-full" style="width: 61%"></div>
584
+ </div>
585
+ </div>
586
+ <div class="bg-green-50 p-4 rounded-lg">
587
+ <div class="flex justify-between items-start mb-2">
588
+ <div class="font-medium">Roth IRA Contributions</div>
589
+ <span class="bg-green-100 text-green-800 text-xs px-2 py-0.5 rounded-full">$3,000</span>
590
+ </div>
591
+ <div class="text-sm text-gray-600 mb-2">$6,500 limit for 2023</div>
592
+ <div class="w-full bg-gray-200 rounded-full h-2">
593
+ <div class="bg-green-600 h-2 rounded-full" style="width: 46%"></div>
594
+ </div>
595
+ </div>
596
+ <div class="bg-purple-50 p-4 rounded-lg">
597
+ <div class="flex justify-between items-start mb-2">
598
+ <div class="font-medium">HSA Contributions</div>
599
+ <span class="bg-purple-100 text-purple-800 text-xs px-2 py-0.5 rounded-full">$1,200</span>
600
+ </div>
601
+ <div class="text-sm text-gray-600 mb-2">$3,650 limit for 2023</div>
602
+ <div class="w-full bg-gray-200 rounded-full h-2">
603
+ <div class="bg-purple-600 h-2 rounded-full" style="width: 33%"></div>
604
+ </div>
605
+ </div>
606
+ </div>
607
+ <div class="flex flex-col md:flex-row space-y-2 md:space-y-0 md:space-x-2">
608
+ <button class="flex-1 bg-blue-600 hover:bg-blue-700 text-white py-2 px-4 rounded-lg">
609
+ <i class="fas fa-search-dollar mr-2"></i> Tax-Loss Harvesting
610
+ </button>
611
+ <button class="flex-1 bg-green-600 hover:bg-green-700 text-white py-2 px-4 rounded-lg">
612
+ <i class="fas fa-balance-scale mr-2"></i> Roth vs Traditional
613
+ </button>
614
+ <button class="flex-1 bg-purple-600 hover:bg-purple-700 text-white py-2 px-4 rounded-lg">
615
+ <i class="fas fa-project-diagram mr-2"></i> Withdrawal Strategy
616
+ </button>
617
+ </div>
618
+ </div>
619
+ </div>
620
+
621
+ <!-- Retirement Tab -->
622
+ <div class="tab-content" id="retirement-tab">
623
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
624
+ <!-- FI Number Calculator -->
625
+ <div class="bg-white rounded-xl shadow-md p-6">
626
+ <h3 class="text-lg font-bold text-gray-800 mb-4">FI Number Calculator</h3>
627
+ <div class="mb-4">
628
+ <label class="block text-sm font-medium text-gray-700 mb-1">Annual Retirement Spending</label>
629
+ <div class="relative">
630
+ <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
631
+ <span class="text-gray-500">$</span>
632
+ </div>
633
+ <input type="number" class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full pl-7 p-2.5" value="40000">
634
+ </div>
635
+ </div>
636
+ <div class="mb-4">
637
+ <label class="block text-sm font-medium text-gray-700 mb-1">Safe Withdrawal Rate</label>
638
+ <select class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5">
639
+ <option selected>4% (Traditional)</option>
640
+ <option>3.5% (Conservative)</option>
641
+ <option>3% (Very Conservative)</option>
642
+ <option>5% (Aggressive)</option>
643
+ </select>
644
+ </div>
645
+ <div class="bg-blue-50 p-4 rounded-lg mb-4">
646
+ <div class="text-sm text-blue-800 mb-1">Your FI Number</div>
647
+ <div class="text-2xl font-bold">$1,000,000</div>
648
+ <div class="text-xs text-blue-700">Based on $40k spending at 4% SWR</div>
649
+ </div>
650
+ <button class="w-full bg-blue-600 hover:bg-blue-700 text-white py-2 px-4 rounded-lg">
651
+ <i class="fas fa-calculator mr-2"></i> Recalculate
652
+ </button>
653
+ </div>
654
+
655
+ <!-- SWR Modeler -->
656
+ <div class="bg-white rounded-xl shadow-md p-6">
657
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Safe Withdrawal Rate Modeler</h3>
658
+ <div class="h-64 mb-4">
659
+ <canvas id="swrChart"></canvas>
660
+ </div>
661
+ <div class="grid grid-cols-2 gap-2">
662
+ <div class="bg-green-50 p-3 rounded-lg">
663
+ <div class="text-sm text-green-800">4% SWR Success</div>
664
+ <div class="font-bold">95%</div>
665
+ <div class="text-xs">Historical 30-year periods</div>
666
+ </div>
667
+ <div class="bg-yellow-50 p-3 rounded-lg">
668
+ <div class="text-sm text-yellow-800">3.5% SWR Success</div>
669
+ <div class="font-bold">98%</div>
670
+ <div class="text-xs">Historical 30-year periods</div>
671
+ </div>
672
+ <div class="bg-blue-50 p-3 rounded-lg">
673
+ <div class="text-sm text-blue-800">Your Current SWR</div>
674
+ <div class="font-bold">3.8%</div>
675
+ <div class="text-xs">$40k / $1.05M</div>
676
+ </div>
677
+ <div class="bg-purple-50 p-3 rounded-lg">
678
+ <div class="text-sm text-purple-800">Variable SWR</div>
679
+ <div class="font-bold">3-5%</div>
680
+ <div class="text-xs">Flexible spending</div>
681
+ </div>
682
+ </div>
683
+ </div>
684
+ </div>
685
+
686
+ <!-- Healthcare & One More Year -->
687
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
688
+ <!-- Healthcare Estimator -->
689
+ <div class="bg-white rounded-xl shadow-md p-6">
690
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Healthcare Cost Estimator</h3>
691
+ <div class="mb-4">
692
+ <label class="block text-sm font-medium text-gray-700 mb-1">Retirement Age</label>
693
+ <select class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5">
694
+ <option selected>50</option>
695
+ <option>55</option>
696
+ <option>60</option>
697
+ <option>65</option>
698
+ </select>
699
+ </div>
700
+ <div class="bg-red-50 p-4 rounded-lg mb-4">
701
+ <div class="text-sm text-red-800 mb-1">Estimated Annual Cost</div>
702
+ <div class="text-2xl font-bold">$8,400 - $12,000</div>
703
+ <div class="text-xs text-red-700">ACA Marketplace Plan (Silver)</div>
704
+ </div>
705
+ <div class="bg-green-50 p-4 rounded-lg">
706
+ <div class="text-sm text-green-800 mb-1">HSA Balance</div>
707
+ <div class="text-2xl font-bold">$18,500</div>
708
+ <div class="text-xs text-green-700">$3,650 annual contribution limit</div>
709
+ </div>
710
+ </div>
711
+
712
+ <!-- One More Year -->
713
+ <div class="bg-white rounded-xl shadow-md p-6">
714
+ <h3 class="text-lg font-bold text-gray-800 mb-4">"One More Year" Syndrome Analyzer</h3>
715
+ <div class="mb-4">
716
+ <label class="block text-sm font-medium text-gray-700 mb-1">Additional Years Worked</label>
717
+ <input type="range" min="1" max="5" value="1" class="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer">
718
+ <div class="flex justify-between text-xs text-gray-500">
719
+ <span>1 year</span>
720
+ <span>2 years</span>
721
+ <span>3 years</span>
722
+ <span>4 years</span>
723
+ <span>5 years</span>
724
+ </div>
725
+ </div>
726
+ <div class="bg-blue-50 p-4 rounded-lg mb-4">
727
+ <div class="text-sm text-blue-800 mb-1">Portfolio Growth</div>
728
+ <div class="text-2xl font-bold">+$84,000</div>
729
+ <div class="text-xs text-blue-700">7% annual growth + contributions</div>
730
+ </div>
731
+ <div class="bg-purple-50 p-4 rounded-lg">
732
+ <div class="text-sm text-purple-800 mb-1">SWR Improvement</div>
733
+ <div class="text-2xl font-bold">3.5% → 3.2%</div>
734
+ <div class="text-xs text-purple-700">Increased safety margin</div>
735
+ </div>
736
+ </div>
737
+ </div>
738
+ </div>
739
+
740
+ <!-- Automation Tab -->
741
+ <div class="tab-content" id="automation-tab">
742
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
743
+ <!-- Automation Status -->
744
+ <div class="bg-white rounded-xl shadow-md p-6">
745
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Automation Status</h3>
746
+ <div class="mb-6">
747
+ <div class="flex items-center justify-between mb-2">
748
+ <span class="font-medium">Automation Score</span>
749
+ <span class="bg-green-100 text-green-800 text-xs font-medium px-2.5 py-0.5 rounded-full">85/100</span>
750
+ </div>
751
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
752
+ <div class="bg-green-500 h-2.5 rounded-full" style="width: 85%"></div>
753
+ </div>
754
+ <p class="text-sm text-gray-600 mt-2">You're doing great! Just a few more automations to reach "set and forget" status.</p>
755
+ </div>
756
+ <div class="space-y-4">
757
+ <div class="flex items-center">
758
+ <div class="w-10 h-10 rounded-full bg-green-100 flex items-center justify-center mr-3">
759
+ <i class="fas fa-check text-green-600"></i>
760
+ </div>
761
+ <div>
762
+ <div class="font-medium">Paycheck Savings</div>
763
+ <div class="text-sm text-gray-600">Automated transfers to investment accounts</div>
764
+ </div>
765
+ </div>
766
+ <div class="flex items-center">
767
+ <div class="w-10 h-10 rounded-full bg-green-100 flex items-center justify-center mr-3">
768
+ <i class="fas fa-check text-green-600"></i>
769
+ </div>
770
+ <div>
771
+ <div class="font-medium">Bill Payments</div>
772
+ <div class="text-sm text-gray-600">All recurring bills on autopay</div>
773
+ </div>
774
+ </div>
775
+ <div class="flex items-center">
776
+ <div class="w-10 h-10 rounded-full bg-yellow-100 flex items-center justify-center mr-3">
777
+ <i class="fas fa-exclamation text-yellow-600"></i>
778
+ </div>
779
+ <div>
780
+ <div class="font-medium">Rebalancing</div>
781
+ <div class="text-sm text-gray-600">Semi-automated - needs annual review</div>
782
+ </div>
783
+ </div>
784
+ <div class="flex items-center">
785
+ <div class="w-10 h-10 rounded-full bg-red-100 flex items-center justify-center mr-3">
786
+ <i class="fas fa-times text-red-600"></i>
787
+ </div>
788
+ <div>
789
+ <div class="font-medium">Tax Optimization</div>
790
+ <div class="text-sm text-gray-600">Manual process - consider automation</div>
791
+ </div>
792
+ </div>
793
+ </div>
794
+ </div>
795
+
796
+ <!-- Behavioral Nudges -->
797
+ <div class="bg-white rounded-xl shadow-md p-6">
798
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Behavioral Nudges</h3>
799
+ <div class="mb-6">
800
+ <div class="flex items-center justify-between mb-2">
801
+ <span class="font-medium">Consistency Streak</span>
802
+ <span class="bg-blue-100 text-blue-800 text-xs font-medium px-2.5 py-0.5 rounded-full">18 months</span>
803
+ </div>
804
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
805
+ <div class="bg-blue-500 h-2.5 rounded-full" style="width: 75%"></div>
806
+ </div>
807
+ <p class="text-sm text-gray-600 mt-2">Longest streak: 24 months. You're getting close!</p>
808
+ </div>
809
+ <div class="grid grid-cols-2 gap-2 mb-4">
810
+ <div class="bg-blue-50 p-3 rounded-lg text-center">
811
+ <div class="text-sm text-blue-800">Badges Earned</div>
812
+ <div class="text-2xl font-bold">12</div>
813
+ </div>
814
+ <div class="bg-purple-50 p-3 rounded-lg text-center">
815
+ <div class="text-sm text-purple-800">Current Level</div>
816
+ <div class="text-2xl font-bold">Gold</div>
817
+ </div>
818
+ </div>
819
+ <div class="flex flex-wrap gap-2">
820
+ <span class="bg-yellow-100 text-yellow-800 text-xs font-medium px-2.5 py-0.5 rounded-full flex items-center">
821
+ <i class="fas fa-medal mr-1"></i> Saver
822
+ </span>
823
+ <span class="bg-green-100 text-green-800 text-xs font-medium px-2.5 py-0.5 rounded-full flex items-center">
824
+ <i class="fas fa-bolt mr-1"></i> Fast Starter
825
+ </span>
826
+ <span class="bg-blue-100 text-blue-800 text-xs font-medium px-2.5 py-0.5 rounded-full flex items-center">
827
+ <i class="fas fa-robot mr-1"></i> Automator
828
+ </span>
829
+ <span class="bg-purple-100 text-purple-800 text-xs font-medium px-2.5 py-0.5 rounded-full flex items-center">
830
+ <i class="fas fa-chart-line mr-1"></i> Growth Seeker
831
+ </span>
832
+ </div>
833
+ </div>
834
+ </div>
835
+
836
+ <!-- Knowledge Base -->
837
+ <div class="bg-white rounded-xl shadow-md p-6 mb-6">
838
+ <h3 class="text-lg font-bold text-gray-800 mb-4">Knowledge Base</h3>
839
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
840
+ <div class="flip-card cursor-pointer h-48">
841
+ <div class="flip-card-inner h-full">
842
+ <div class="flip-card-front bg-blue-50 rounded-lg p-4 flex flex-col h-full">
843
+ <div class="bg-blue-100 text-blue-800 w-10 h-10 rounded-full flex items-center justify-center mb-3">
844
+ <i class="fas fa-book"></i>
845
+ </div>
846
+ <h4 class="font-bold text-blue-800 mb-2">The Automatic Millionaire</h4>
847
+ <p class="text-sm text-gray-600 flex-grow">Key takeaways: Pay yourself first, make it automatic, own your home...</p>
848
+ <div class="text-xs text-blue-600 mt-2">Click to flip for summary</div>
849
+ </div>
850
+ <div class="flip-card-back bg-blue-100 rounded-lg p-4 h-full">
851
+ <h4 class="font-bold text-blue-800 mb-2">Key Principles</h4>
852
+ <ul class="text-sm space-y-1 list-disc list-inside">
853
+ <li>Automate your savings and investments</li>
854
+ <li>Own your home outright</li>
855
+ <li>Pay yourself first (10-15% of income)</li>
856
+ <li>Automatic 401(k) contributions</li>
857
+ </ul>
858
+ <div class="text-xs text-blue-600 mt-2">Click to return</div>
859
+ </div>
860
+ </div>
861
+ </div>
862
+ <div class="flip-card cursor-pointer h-48">
863
+ <div class="flip-card-inner h-full">
864
+ <div class="flip-card-front bg-green-50 rounded-lg p-4 flex flex-col h-full">
865
+ <div class="bg-green-100 text-green-800 w-10 h-10 rounded-full flex items-center justify-center mb-3">
866
+ <i class="fas fa-video"></i>
867
+ </div>
868
+ <h4 class="font-bold text-green-800 mb-2">The Shockingly Simple Math</h4>
869
+ <p class="text-sm text-gray-600 flex-grow">Mr. Money Mustache's famous post on savings rate vs. time to retirement...</p>
870
+ <div class="text-xs text-green-600 mt-2">Click to flip for chart</div>
871
+ </div>
872
+ <div class="flip-card-back bg-green-100 rounded-lg p-4 h-full">
873
+ <h4 class="font-bold text-green-800 mb-1">Savings Rate vs. Years to FI</h4>
874
+ <div class="text-xs mb-1">10% → 51 years</div>
875
+ <div class="text-xs mb-1">30% → 28 years</div>
876
+ <div class="text-xs mb-1">50% → 17 years</div>
877
+ <div class="text-xs mb-1">70% → 8.5 years</div>
878
+ <div class="text-xs">90% → <3 years</div>
879
+ <div class="text-xs text-green-600 mt-2">Click to return</div>
880
+ </div>
881
+ </div>
882
+ </div>
883
+ <div class="flip-card cursor-pointer h-48">
884
+ <div class="flip-card-inner h-full">
885
+ <div class="flip-card-front bg-purple-50 rounded-lg p-4 flex flex-col h-full">
886
+ <div class="bg-purple-100 text-purple-800 w-10 h-10 rounded-full flex items-center justify-center mb-3">
887
+ <i class="fas fa-link"></i>
888
+ </div>
889
+ <h4 class="font-bold text-purple-800 mb-2">FIRE Resources</h4>
890
+ <p class="text-sm text-gray-600 flex-grow">Curated list of blogs, forums, calculators and communities to help your journey...</p>
891
+ <div class="text-xs text-purple-600 mt-2">Click to flip for links</div>
892
+ </div>
893
+ <div class="flip-card-back bg-purple-100 rounded-lg p-4 h-full">
894
+ <h4 class="font-bold text-purple-800 mb-2">Top Resources</h4>
895
+ <ul class="text-sm space-y-1">
896
+ <li><a href="#" class="hover:underline">Mr. Money Mustache</a></li>
897
+ <li><a href="#" class="hover:underline">Early Retirement Now</a></li>
898
+ <li><a href="#" class="hover:underline">Bogleheads Forum</a></li>
899
+ <li><a href="#" class="hover:underline">FIRE Calculator</a></li>
900
+ </ul>
901
+ <div class="text-xs text-purple-600 mt-2">Click to return</div>
902
+ </div>
903
+ </div>
904
+ </div>
905
+ </div>
906
+ </div>
907
+ </div>
908
+ </div>
909
+
910
+ <!-- Net Worth Trend -->
911
+ <section class="bg-white rounded-xl shadow-md p-6 mb-6">
912
+ <h2 class="text-xl font-bold text-gray-800 mb-4">Net Worth Trend</h2>
913
+ <div class="h-80">
914
+ <canvas id="netWorthChart"></canvas>
915
+ </div>
916
+ <div class="grid grid-cols-2 md:grid-cols-4 gap-4 mt-4">
917
+ <div class="bg-blue-50 p-3 rounded-lg">
918
+ <div class="text-sm text-blue-800">Current Net Worth</div>
919
+ <div class="font-bold">$512,000</div>
920
+ </div>
921
+ <div class="bg-green-50 p-3 rounded-lg">
922
+ <div class="text-sm text-green-800">YTD Change</div>
923
+ <div class="font-bold text-green-600">+$42,500</div>
924
+ </div>
925
+ <div class="bg-purple-50 p-3 rounded-lg">
926
+ <div class="text-sm text-purple-800">1 Year Growth</div>
927
+ <div class="font-bold text-purple-600">+$85,200</div>
928
+ </div>
929
+ <div class="bg-yellow-50 p-3 rounded-lg">
930
+ <div class="text-sm text-yellow-800">5 Year Growth</div>
931
+ <div class="font-bold text-yellow-600">+$312,000</div>
932
+ </div>
933
+ </div>
934
+ </section>
935
+
936
+ <!-- Footer -->
937
+ <footer class="bg-gray-800 text-white rounded-xl shadow-md p-6">
938
+ <div class="flex flex-col md:flex-row justify-between items-center">
939
+ <div class="mb-4 md:mb-0">
940
+ <div class="flex items-center">
941
+ <div class="bg-blue-500 text-white p-2 rounded-lg mr-2">
942
+ <i class="fas fa-rocket"></i>
943
+ </div>
944
+ <span class="font-bold">FIRE Mission Control</span>
945
+ </div>
946
+ <p class="text-sm text-gray-400 mt-1">Your dashboard to financial independence</p>
947
+ </div>
948
+ <div class="flex space-x-4">
949
+ <a href="#" class="text-gray-400 hover:text-white">
950
+ <i class="fab fa-twitter"></i>
951
+ </a>
952
+ <a href="#" class="text-gray-400 hover:text-white">
953
+ <i class="fab fa-github"></i>
954
+ </a>
955
+ <a href="#" class="text-gray-400 hover:text-white">
956
+ <i class="fab fa-discord"></i>
957
+ </a>
958
+ <a href="#" class="text-gray-400 hover:text-white">
959
+ <i class="fab fa-reddit"></i>
960
+ </a>
961
+ </div>
962
+ </div>
963
+ <div class="border-t border-gray-700 mt-6 pt-6 text-sm text-gray-400">
964
+ <div class="flex flex-col md:flex-row justify-between">
965
+ <div class="mb-4 md:mb-0">
966
+ © 2023 FIRE Mission Control. All rights reserved.
967
+ </div>
968
+ <div class="flex flex-col md:flex-row space-y-2 md:space-y-0 md:space-x-4">
969
+ <a href="#" class="hover:text-white">Privacy Policy</a>
970
+ <a href="#" class="hover:text-white">Terms of Service</a>
971
+ <a href="#" class="hover:text-white">Contact Us</a>
972
+ </div>
973
+ </div>
974
+ <div class="mt-4 text-xs">
975
+ Disclaimer: This dashboard is for informational purposes only and should not be considered financial advice. Please consult with a qualified professional for financial advice.
976
+ </div>
977
+ </div>
978
+ </footer>
979
+ </div>
980
+
981
+ <script>
982
+ // Set current date
983
+ const now = new Date();
984
+ const options = { year: 'numeric', month: 'long', day: 'numeric' };
985
+ document.getElementById('current-date').textContent = now.toLocaleDateString('en-US', options);
986
+
987
+ // Tab functionality
988
+ const tabs = document.querySelectorAll('[data-tab]');
989
+ tabs.forEach(tab => {
990
+ tab.addEventListener('click', () => {
991
+ // Remove active class from all tabs and content
992
+ document.querySelectorAll('[data-tab]').forEach(t => {
993
+ t.classList.remove('border-blue-600', 'text-blue-600');
994
+ t.classList.add('border-transparent', 'hover:text-gray-600', 'hover:border-gray-300');
995
+ });
996
+
997
+ document.querySelectorAll('.tab-content').forEach(c => {
998
+ c.classList.remove('active');
999
+ });
1000
+
1001
+ // Add active class to clicked tab and corresponding content
1002
+ tab.classList.remove('border-transparent', 'hover:text-gray-600', 'hover:border-gray-300');
1003
+ tab.classList.add('border-blue-600', 'text-blue-600');
1004
+
1005
+ const tabId = tab.getAttribute('data-tab');
1006
+ document.getElementById(`${tabId}-tab`).classList.add('active');
1007
+ });
1008
+ });
1009
+
1010
+ // Charts
1011
+ // Spending Chart
1012
+ const spendingCtx = document.getElementById('spendingChart').getContext('2d');
1013
+ const spendingChart = new Chart(spendingCtx, {
1014
+ type: 'doughnut',
1015
+ data: {
1016
+ labels: ['Housing', 'Transportation', 'Food', 'Utilities', 'Entertainment', 'Healthcare', 'Other'],
1017
+ datasets: [{
1018
+ data: [1500, 450, 600, 200, 300, 150, 400],
1019
+ backgroundColor: [
1020
+ '#3b82f6',
1021
+ '#10b981',
1022
+ '#f59e0b',
1023
+ '#6366f1',
1024
+ '#ec4899',
1025
+ '#ef4444',
1026
+ '#6b7280'
1027
+ ],
1028
+ borderWidth: 1
1029
+ }]
1030
+ },
1031
+ options: {
1032
+ responsive: true,
1033
+ maintainAspectRatio: false,
1034
+ plugins: {
1035
+ legend: {
1036
+ position: 'right',
1037
+ }
1038
+ }
1039
+ }
1040
+ });
1041
+
1042
+ // Allocation Chart
1043
+ const allocationCtx = document.getElementById('allocationChart').getContext('2d');
1044
+ const allocationChart = new Chart(allocationCtx, {
1045
+ type: 'pie',
1046
+ data: {
1047
+ labels: ['US Stocks', 'International Stocks', 'Bonds', 'Real Estate', 'Cash'],
1048
+ datasets: [{
1049
+ data: [55, 25, 10, 5, 5],
1050
+ backgroundColor: [
1051
+ '#3b82f6',
1052
+ '#10b981',
1053
+ '#f59e0b',
1054
+ '#6366f1',
1055
+ '#6b7280'
1056
+ ],
1057
+ borderWidth: 1
1058
+ }]
1059
+ },
1060
+ options: {
1061
+ responsive: true,
1062
+ maintainAspectRatio: false,
1063
+ plugins: {
1064
+ legend: {
1065
+ position: 'right',
1066
+ }
1067
+ }
1068
+ }
1069
+ });
1070
+
1071
+ // Performance Chart
1072
+ const performanceCtx = document.getElementById('performanceChart').getContext('2d');
1073
+ const performanceChart = new Chart(performanceCtx, {
1074
+ type: 'line',
1075
+ data: {
1076
+ labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
1077
+ datasets: [
1078
+ {
1079
+ label: 'Your Portfolio',
1080
+ data: [400, 410, 415, 420, 425, 430, 420, 425, 430, 435, 440, 445],
1081
+ borderColor: '#3b82f6',
1082
+ backgroundColor: 'rgba(59, 130, 246, 0.1)',
1083
+ tension: 0.4,
1084
+ fill: true
1085
+ },
1086
+ {
1087
+ label: 'S&P 500',
1088
+ data: [400, 405, 410, 415, 420, 425, 415, 420, 425, 430, 435, 440],
1089
+ borderColor: '#10b981',
1090
+ backgroundColor: 'rgba(16, 185, 129, 0.1)',
1091
+ tension: 0.4,
1092
+ fill: true
1093
+ }
1094
+ ]
1095
+ },
1096
+ options: {
1097
+ responsive: true,
1098
+ maintainAspectRatio: false,
1099
+ plugins: {
1100
+ legend: {
1101
+ position: 'top',
1102
+ }
1103
+ },
1104
+ scales: {
1105
+ y: {
1106
+ beginAtZero: false
1107
+ }
1108
+ }
1109
+ }
1110
+ });
1111
+
1112
+ // SWR Chart
1113
+ const swrCtx = document.getElementById('swrChart').getContext('2d');
1114
+ const swrChart = new Chart(swrCtx, {
1115
+ type: 'bar',
1116
+ data: {
1117
+ labels: ['3%', '3.5%', '4%', '4.5%', '5%'],
1118
+ datasets: [{
1119
+ label: 'Success Rate',
1120
+ data: [99, 98, 95, 85, 70],
1121
+ backgroundColor: [
1122
+ '#10b981',
1123
+ '#10b981',
1124
+ '#f59e0b',
1125
+ '#ef4444',
1126
+ '#ef4444'
1127
+ ],
1128
+ borderWidth: 1
1129
+ }]
1130
+ },
1131
+ options: {
1132
+ responsive: true,
1133
+ maintainAspectRatio: false,
1134
+ plugins: {
1135
+ legend: {
1136
+ display: false
1137
+ }
1138
+ },
1139
+ scales: {
1140
+ y: {
1141
+ beginAtZero: true,
1142
+ max: 100,
1143
+ title: {
1144
+ display: true,
1145
+ text: 'Success Rate (%)'
1146
+ }
1147
+ }
1148
+ }
1149
+ }
1150
+ });
1151
+
1152
+ // Net Worth Chart
1153
+ const netWorthCtx = document.getElementById('netWorthChart').getContext('2d');
1154
+ const netWorthChart = new Chart(netWorthCtx, {
1155
+ type: 'line',
1156
+ data: {
1157
+ labels: ['2018', '2019', '2020', '2021', '2022', '2023'],
1158
+ datasets: [{
1159
+ label: 'Net Worth',
1160
+ data: [200, 250, 300, 380, 425, 512],
1161
+ borderColor: '#3b82f6',
1162
+ backgroundColor: 'rgba(59, 130, 246, 0.1)',
1163
+ tension: 0.4,
1164
+ fill: true
1165
+ }]
1166
+ },
1167
+ options: {
1168
+ responsive: true,
1169
+ maintainAspectRatio: false,
1170
+ plugins: {
1171
+ legend: {
1172
+ display: false
1173
+ },
1174
+ tooltip: {
1175
+ callbacks: {
1176
+ label: function(context) {
1177
+ return '$' + context.parsed.y + 'k';
1178
+ }
1179
+ }
1180
+ }
1181
+ },
1182
+ scales: {
1183
+ y: {
1184
+ beginAtZero: true,
1185
+ ticks: {
1186
+ callback: function(value) {
1187
+ return '$' + value + 'k';
1188
+ }
1189
+ }
1190
+ }
1191
+ }
1192
+ }
1193
+ });
1194
+
1195
+ // Flip cards
1196
+ document.querySelectorAll('.flip-card').forEach(card => {
1197
+ card.addEventListener('click', function() {
1198
+ this.querySelector('.flip-card-inner').classList.toggle('rotate-y-180');
1199
+ });
1200
+ });
1201
+ </script>
1202
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=LukasBe/fire-mission-control" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
1203
+ </html>
prompts.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Imagine a "FIRE Mission Control" dashboard. It would be dynamic, personalized, and provide both a high-level overview and deep-dive tactical tools. Here’s how I envision such a comprehensive companion dashboard, structured for the journey to ASAP retirement: I. CORE NAVIGATION & OVERVIEW (The Bridge) Personalized Welcome: "Good Morning, [User Name]! You are X% of the way to Financial Independence." Main Gauges (Always Visible): Net Worth: Current value, graph of growth over time. FI Number Progress: A large, prominent progress bar/ring showing Current Net Worth / Target FI Number. Time to FI (Dynamic): Estimated years/months remaining based on current savings rate, income, and projected market returns. Current Savings Rate: (Income - Expenses) / Income. Target vs. Actual. "Days of Freedom" Earned: (Current Invested Assets / Daily Retirement Spending Need). A motivational metric. Alerts & Notifications: Milestones reached (e.g., "$100k invested!"). Contribution limit reminders (401k, IRA). Rebalancing suggestions. Unusual spending alerts. Market volatility insights (e.g., "Market down X%, historical data suggests staying the course."). II. MODULE 1: INCOME & SAVINGS OPTIMIZATION (The Engine Room) Income Streams: Primary employment, side hustles, investment income. Tracks gross, net, and taxes paid. Tactical: "What-if" scenarios for salary increases, new side hustles. Automated Savings Hub: List of all automated transfers (401k, IRA, taxable brokerage, high-yield savings). Status (active, next transfer date). Tactical: "Increase all automated savings by X%" button. Suggests optimal allocation based on tax advantages. "Pay Yourself First" Efficiency: Percentage of each paycheck automatically saved/invested. Tracks consistency. Employer Match Maximizer: Tracks 401k contributions vs. amount needed for full employer match. Alert if falling short. III. MODULE 2: EXPENSE & LIFESTYLE MANAGEMENT (Life Support Systems) Budgeting & Spending Analysis: Categorized spending (housing, transport, food, etc.) vs. set budget. Visual breakdown (pie charts, bar graphs). Identifies top spending categories and trends. "Latte Factor" & Discretionary Spending Tracker: Identifies recurring non-essential expenses. Tactical: "If you cut [X expense], you could invest an extra [Y amount] per month, accelerating FI by [Z months]." Cost of Living Optimizer: Compares current location's CoL to other potential areas. Tactical: Simulates impact of moving to a LCOL area on FI timeline. Debt Management Center: Lists all debts (mortgage, student loans, etc.), interest rates, balances. Tactical: Avalanche vs. Snowball payoff simulator. Shows impact of extra payments on payoff time and interest saved. IV. MODULE 3: INVESTMENT & WEALTH GROWTH (Navigation & Propulsion) Portfolio Overview: Total invested assets. Asset allocation (stocks, bonds, real estate, etc.) – target vs. actual. Breakdown by account type (taxable, tax-advantaged). Investment Performance: Returns (YTD, 1yr, 3yr, 5yr, since inception) vs. benchmarks (S&P 500, etc.). Dividend/interest income tracker. Tax Optimization Engine: Tracks contributions to tax-advantaged accounts (401k, IRA, HSA). Tactical: Suggests tax-loss harvesting opportunities. Roth vs. Traditional contribution analyzer based on current/projected tax brackets. Rebalancing Assistant: Alerts when asset allocation drifts beyond set thresholds. Tactical: Suggests specific trades to rebalance. Future Projections & Scenario Planning: Monte Carlo simulations for portfolio growth based on different savings rates, market returns, and retirement ages. Tactical: "What if I retire at 50 vs. 55?" "What if markets return 5% instead of 7%?" "Impact of a 30% market crash." V. MODULE 4: FINANCIAL INDEPENDENCE & RETIREMENT PLANNING (Destination Control) FI Number Calculator & Refinement: Input desired annual retirement spending. Calculates FI number based on chosen Safe Withdrawal Rate (SWR – e.g., 4%, 3.5%). Tactical: Adjust spending/SWR to see impact on FI number and timeline. Safe Withdrawal Rate Modeler: Explains SWR concept. Allows user to test different SWRs and see historical success rates. Healthcare Cost Estimator: Projects potential healthcare costs in early retirement (Marketplace plans, HSAs). "One More Year" Syndrome Analyzer: Tactical: Calculates the financial benefit (increased pension, larger nest egg, more Social Security if applicable) vs. the "cost" of one more year of work. Decumulation Strategy Planner (for near/post-FI): Tools to plan withdrawal order from different account types (taxable, traditional, Roth) to optimize for taxes. Bucket strategy visualizer. VI. MODULE 5: AUTOMATION & BEHAVIORAL COACH (Autopilot & Co-Pilot) Central Automation Control: Overview of all automated financial actions (savings, investments, bill pay). "Set it and truly forget it" confidence score. Behavioral Nudges & Reinforcement: Positive feedback for hitting savings goals. Reminders of long-term goals during market volatility. Gamification: Badges, levels, streaks for consistent saving/investing. Knowledge Base & Resources: Curated articles, videos, book summaries (e.g., key takeaways from "The Automatic Millionaire"). Links to FIRE blogs/communities. Glossary of financial terms. Technical Aspects: Data Aggregation: Securely links to bank accounts, credit cards, investment accounts (like Plaid). Security: Robust encryption and multi-factor authentication. Customization: User can choose which modules/widgets are most prominent. Mobile & Web Accessible: Consistent experience across devices. This "Mission Control" dashboard would be more than just a number tracker; it would be an active, intelligent partner, leveraging the principles of automation and rational decision-making to guide the user to their ASAP retirement goal with clarity and confidence.