A modern, full-stack web application that tracks your personal life metrics across health, finance, and goals โ generating a dynamic digital avatar that reflects your real-life state.
Comprehensive health monitoring with a weighted score out of 100:
| Category | Weight | Metrics |
|---|---|---|
| Sleep Duration | 10% | Hours slept (4.5h โ 10.5h) |
| Sleep Timing & Regularity | 15% | Bedtime (21:00โ02:00+), consistency |
| Physical Activity | 20% | 5-level activity scale |
| Nutrition | 20% | Meal quality, processed food level |
| Hydration | 10% | Water intake level |
| Mental State | 15% | Stress, motivation, fatigue |
| Extras | 10% | Alcohol, smoking, screen time |
- Illness penalty applied as a modifier after weighted calculation (mild: -10, severe: -25)
- Health states: Excellent (85+), Good (70+), Fair (50+), Low (30+), Critical (<30)
All financial data is stored in both TRY (primary) and USD (secondary) with live exchange rates from MoneyConvert API.
- Income: Regular (salary) and additional (crypto) income tracking with tag-based categorization
- Expenses: Tag-based system โ Rent, Bills, Food, Transportation, Entertainment, Subscriptions, Shopping, Lifestyle, Family Support
- Investments: Claim-based portfolio tracking โ Crypto, Gold, Stocks, Forex, Real Estate, Funds, Bonds, Other
- Active investments: locked capital tracked as outflow
- Claimed investments: capital + realized P/L added back
- Net Worth: Auto-calculated from
Income - Expenses - Active Investments + Claimed Returns
Goal tracking with category-based organization:
- Categories: Tech, House, Car, Travel, Other
- Progress: Calculated against current net worth
- Formatting: Dot-separated thousand formatting for easy reading
- Visual state that changes based on your metrics
- Energy, morale, and balance scores
- 6 different states: Thriving, Energetic, Stable, Tired, Stressed, Critical
- Time-series charts (Recharts)
- Automatic alerts and recommendations
- Trend analysis across all metric categories
- Add / Edit / Delete entries across all modules (Health, Income, Expenses, Investments, Targets)
- Inline editing with form pre-population
- Error handling and user feedback on all operations
- Web3 authentication with MetaMask
- Wallet-based identity (no passwords)
- Row Level Security (RLS) on Supabase โ each user can only see their own data
git clone https://github.com/cyberatlas-baseeth/lifeOS.git
cd lifeOS
npm install- Go to supabase.com
- Create a new project
- Go to SQL Editor and run:
supabase/schema.sqlโ Base schemasupabase/migration_health_restructure.sqlโ Extended health fieldssupabase/migration_expenses_tag_based.sqlโ Tag-based expensessupabase/migration_investments_claim_based.sqlโ Claim-based investmentssupabase/migration_target_assets.sqlโ Target assetssupabase/migration_add_shopping_tag.sqlโ Shopping tag
Create a .env.local file:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-keynpm run devOpen http://localhost:3000 in your browser.
lifeos/
โโโ src/
โ โโโ app/ # Next.js App Router
โ โ โโโ page.tsx # Landing page
โ โ โโโ globals.css # Global styles
โ โ โโโ layout.tsx # Root layout
โ โ โโโ login/ # MetaMask login page
โ โ โโโ dashboard/
โ โ โโโ page.tsx # Main dashboard (overview)
โ โ โโโ layout.tsx # Dashboard sidebar & navigation
โ โ โโโ health/ # Health metrics (7-category scoring)
โ โ โโโ income/ # Income tracking (regular + additional)
โ โ โโโ expenses/ # Expense tracking (tag-based)
โ โ โโโ investments/ # Investment portfolio (claim-based)
โ โ โโโ networth/ # Net worth calculator
โ โ โโโ targets/ # Target assets & goals
โ โโโ components/
โ โ โโโ avatar/ # Dynamic avatar component
โ โ โโโ charts/ # TimeSeriesChart (Recharts)
โ โ โโโ ui/ # AlertBanner, shared UI
โ โโโ lib/
โ โ โโโ supabase/ # Supabase client setup
โ โ โโโ wallet/ # WalletContext (MetaMask auth)
โ โ โโโ avatar/ # Avatar state calculation
โ โ โโโ theme/ # Theme configuration
โ โ โโโ healthScore.ts # 7-category weighted health scoring
โ โ โโโ mentalScore.ts # Mental state calculation
โ โ โโโ networth-calculator.ts # Net worth from all financial sources
โ โ โโโ currency.ts # TRY/USD conversion & formatting
โ โ โโโ clsx.ts # Conditional class names utility
โ โ โโโ utils.ts # General helpers
โ โโโ types/
โ โโโ database.ts # All TypeScript interfaces & types
โโโ supabase/
โ โโโ schema.sql # Base database schema
โ โโโ migration_health_restructure.sql
โ โโโ migration_expenses_tag_based.sql
โ โโโ migration_investments_claim_based.sql
โ โโโ migration_target_assets.sql
โ โโโ migration_add_shopping_tag.sql
โโโ tailwind.config.ts # Custom green/white theme
โโโ package.json
โโโ tsconfig.json
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript 5.7 |
| UI | React 19 |
| Styling | Tailwind CSS 3.4 + Custom CSS (white & green theme) |
| Database | Supabase (PostgreSQL) |
| Auth | MetaMask (Web3) via ethers.js |
| Charts | Recharts 2.15 |
| Icons | Lucide React |
| Date Utils | date-fns |
| Exchange Rates | MoneyConvert API (live, cached 15 min) |
- Theme: White & green color palette with glassmorphism effects
- Animations: Float, pulse-slow, glow keyframe animations
- Layout: Responsive sidebar navigation with 7 dashboard modules
Final Score = ฮฃ(Category Score ร Weight) - Illness Penalty
Categories:
Sleep Duration (10%) + Sleep Timing (15%) + Activity (20%)
+ Nutrition (20%) + Hydration (10%) + Mental State (15%)
+ Extras (10%) = 100%
Illness Penalty: None (0), Mild (-10), Severe (-25)
Net Worth = Total Income
- Total Expenses
- ฮฃ(Active Investments.invested_try)
+ ฮฃ(Claimed Investments.invested_try + realized_pl_try)
- Sign in to Vercel with your account
- New Project โ Select your GitHub repository
- Add Environment Variables:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY
- Click Deploy
- AI/LLM integration for personalized recommendations
- Mobile app (React Native)
- Data export/import
- Notification system
- Fitness tracker integrations (Apple Health, Google Fit)
- Bank API integration
- ENS support for display names
- Psychology tab (standalone analysis)
MIT License
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Made with โค๏ธ using Next.js, Supabase & Web3