Skip to content

MatteoGuidii/investify

Repository files navigation

Investify πŸš€

πŸ† Devpost Submission: https://devpost.com/software/rbc-launch

Experience the next generation of goal-based investing with AI-powered insights and seamless portfolio management.

Investify is a modern fintech application that revolutionizes personal investing by combining goal-based financial planning with AI-powered insights. Built with cutting-edge web technologies, it provides an intuitive platform for users to set financial goals, receive personalized investment strategies, and track their progress through engaging visualizations.

πŸ“‹ Table of Contents

✨ Features

🎯 Goal-Based Investing

  • Smart Goal Catalogue: Choose from curated financial goals across categories like travel, tech, education, and experiences
  • Personalized Strategies: AI-powered recommendation engine suggests optimal investment strategies based on your timeline and risk tolerance
  • Visual Goal Tracking: Interactive dashboards with progress visualization and milestone tracking

πŸ€– AI-Powered Financial Coach

  • Intelligent Insights: AI coach analyzes spending patterns and provides personalized saving suggestions
  • Real-time Analytics: Smart analysis of your financial data to identify optimization opportunities
  • Contextual Recommendations: Get actionable advice tailored to your specific financial situation

πŸ“Š Portfolio Management

  • Risk Profile Matching: Multiple investment strategies from conservative to aggressive growth
  • Real-time Simulations: Advanced Monte Carlo simulations for portfolio projections
  • Automated Rebalancing: Smart portfolio management with automated investment strategies

🎁 Gamification & Rewards

  • Achievement System: Unlock badges and rewards for reaching financial milestones
  • Social Features: Leaderboards and community challenges to motivate saving habits
  • Partner Discounts: Exclusive offers from retail partners when you reach your goals

πŸ“± Annual Wrap Experience

  • Epic Year Summary: Beautiful annual recap showing your financial growth journey
  • Interactive Visualizations: Engaging charts and animations celebrating your achievements
  • Shareable Content: Social media-ready summaries of your financial wins

πŸ› οΈ Tech Stack

Frontend

  • Next.js - React framework with App Router
  • React - Latest React with enhanced performance
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first CSS framework with custom design system

UI Components

  • Radix UI - Accessible, unstyled UI primitives
  • Framer Motion - Smooth animations and transitions
  • Recharts - Interactive data visualizations
  • Lucide React - Beautiful SVG icon library

State Management

  • Zustand - Lightweight state management
  • Local Storage - Persistent user preferences

Development Tools

  • ESLint 9 - Code linting with Next.js configuration
  • PostCSS - CSS post-processing
  • Turbopack - Fast build system (dev mode)

πŸš€ Getting Started

Prerequisites

  • Node.js 18.x or later
  • npm, yarn, or pnpm package manager

Installation

  1. Clone the repository
git clone https://github.com/MatteoGuidii/investify.git
cd investify
  1. Install dependencies
npm install
# or
yarn install
# or
pnpm install
  1. Start the development server
npm run dev
# or
yarn dev
# or
pnpm dev
  1. Open your browser Navigate to http://localhost:3000 to see the application.

Build for Production

npm run build
npm start

πŸ“ Project Structure

investify/
β”œβ”€β”€ public/                    # Static assets
β”‚   β”œβ”€β”€ file.svg
β”‚   β”œβ”€β”€ globe.svg
β”‚   β”œβ”€β”€ next.svg
β”‚   β”œβ”€β”€ rbc_sweater.jpg       # Custom goal image
β”‚   β”œβ”€β”€ vercel.svg
β”‚   └── window.svg
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                  # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ api/              # API routes
β”‚   β”‚   β”‚   β”œβ”€β”€ insight/      # AI insights endpoint
β”‚   β”‚   β”‚   └── wrap/         # Annual wrap data
β”‚   β”‚   β”œβ”€β”€ wrap/[period]/    # Dynamic wrap pages
β”‚   β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”‚   β”œβ”€β”€ globals.css       # Global styles
β”‚   β”‚   β”œβ”€β”€ layout.tsx        # Root layout
β”‚   β”‚   └── page.tsx          # Home page
β”‚   β”œβ”€β”€ components/           # React components
β”‚   β”‚   β”œβ”€β”€ ui/               # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ wrap/             # Wrap feature components
β”‚   β”‚   β”œβ”€β”€ ai-coach-new.tsx  # AI coaching interface
β”‚   β”‚   β”œβ”€β”€ dashboard.tsx     # Main dashboard
β”‚   β”‚   β”œβ”€β”€ goal-catalogue.tsx # Goal selection
β”‚   β”‚   β”œβ”€β”€ goal-setup.tsx    # Goal configuration
β”‚   β”‚   └── rewards-new.tsx   # Rewards system
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   └── mockData.json     # Mock financial data
β”‚   β”œβ”€β”€ hooks/                # Custom React hooks
β”‚   β”œβ”€β”€ lib/                  # Utility functions
β”‚   β”‚   β”œβ”€β”€ wrap/             # Wrap feature logic
β”‚   β”‚   β”œβ”€β”€ api.ts            # API service layer
β”‚   β”‚   β”œβ”€β”€ goals-data.ts     # Goal definitions
β”‚   β”‚   β”œβ”€β”€ store.ts          # Zustand state store
β”‚   β”‚   └── types.ts          # TypeScript definitions
β”‚   └── types/                # Additional type definitions
β”œβ”€β”€ eslint.config.mjs         # ESLint configuration
β”œβ”€β”€ next.config.ts            # Next.js configuration
β”œβ”€β”€ package.json              # Dependencies and scripts
β”œβ”€β”€ postcss.config.mjs        # PostCSS configuration
β”œβ”€β”€ tailwind.config.js        # Tailwind CSS configuration
└── tsconfig.json            # TypeScript configuration

🎨 Design System

Color Palette

The application uses a custom "neo-dark" theme with:

  • Primary: Green-based accent colors (#22c55e)
  • Background: Dark theme with gradient overlays
  • Surface: Card-based layouts with glassmorphism effects
  • Text: High contrast white/gray hierarchy

Typography

  • Font: Inter variable font with system fallbacks
  • Scale: Semantic sizing for headers, body, and UI text
  • Weight: Strategic use of font weights for hierarchy

πŸ”§ Key Components

State Management

The app uses Zustand for global state with the following key stores:

  • User State: Authentication and profile data
  • Goals: User's financial goals and progress
  • Portfolio: Investment portfolios and performance
  • UI State: Current view and navigation state

API Integration

  • Mock Data: Realistic financial data for development
  • AI Insights: Intelligent analysis of spending patterns
  • Portfolio Simulation: Advanced financial projections
  • Wrap Generation: Annual summary creation

Goal Categories

  • Travel: Vacation packages and experiences
  • Tech: Latest devices and gadgets
  • Education: Courses and learning opportunities
  • Experience: Musical instruments and hobbies
  • Home: Home improvement and real estate
  • Clothing: Fashion and lifestyle items

πŸ™ Acknowledgments

  • RBC - For providing the Portfolio Simulation API
  • Hack the North 2025 - For the inspiring hackathon environment

Built with ❀️ for Hack the North 2025

Live Demo β€’ Documentation β€’ Report Bug

About

Helps students and young adults launch their financial journey.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors