Your AI-Powered Financial Management Platform
Take control of your finances with intelligent expense tracking, smart budgeting, and insightful analytics.
WhyImBroke is a modern, AI-powered financial management platform designed to help you understand your spending patterns, create effective budgets, and achieve your financial goals. Built with cutting-edge technologies, it offers a seamless experience across all devices with bank-level security.
- π€ Smart Expense Tracking - AI-powered categorization of transactions
- π Intelligent Budgeting - Create budgets with personalized recommendations
- π Financial Analytics - Deep insights into spending patterns and trends
- π― Goal Setting - Set and track financial objectives with progress monitoring
- π₯ Family Sharing - Collaborative financial management for households
- π Bank-Level Security - Enterprise-grade security for your financial data
- π± Responsive Design - Seamless experience on desktop, tablet, and mobile
- π Dark Theme - Modern, eye-friendly interface
Before you begin, ensure you have the following installed:
- Node.js (version 18 or higher)
- Bun (recommended) or npm/yarn
- Git (for cloning the repository)
-
Clone the repository
git clone https://github.com/gurleenwadhwa-13/whyimbroke.git cd whyimbroke -
Install dependencies
bun install
-
Set up environment variables
cp .env.example .env.local
-
Run the development server
bun run dev
-
Open your browser Navigate to http://localhost:3000
- Framework: Next.js 15.3.2 - React framework with App Router
- Language: TypeScript 5.0+ - Type-safe JavaScript
- ORM: Prisma 6.2.1 - Database toolkit
- Authentication: Clerk - Authentication as a service
- Styling: Tailwind CSS - Utility-first CSS framework
- Animations: Framer Motion - Production-ready motion library
- Component Library: shadcn/ui - Beautifully designed components
- Icons: Lucide React - Beautiful & consistent icons
- Fonts: Inter - Optimized for UI
- Linting: ESLint with Next.js config
- Formatting: Prettier (recommended)
- Type Checking: TypeScript strict mode
- Package Manager: Bun/npm/yarn
Create a .env.local file in the root directory:
# Database
DATABASE_URL="your-database-connection-string"
# Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="your-clerk-publishable-key"
CLERK_SECRET_KEY="your-clerk-secret-key"
# Email Service (for waitlist notifications)
RESEND_API_KEY="your-resend-api-key"
MAILCHIMP_API_KEY="your-mailchimp-key"
# Analytics (optional)
GOOGLE_ANALYTICS_ID="your-ga-id"
VERCEL_ANALYTICS_ID="your-vercel-analytics-id"
# AI Services (if applicable)
OPENAI_API_KEY="your-openai-key"The project uses a custom Tailwind configuration with:
- Custom color palette
- Extended spacing scale
- Custom animations
- Dark mode support
- Email Collection: Capture interested users before launch
- Form Validation: Client and server-side validation
- Success States: Animated confirmation messages
- Social Proof: Display waitlist statistics
- Server Actions: Modern form handling with Next.js
- Page Transitions: Smooth enter/exit animations
- Scroll Animations: Elements animate on scroll into view
- Hover Effects: Interactive button and card animations
- Loading States: Skeleton loaders and spinners
- Financial Stats: Mock financial data display
- Transaction List: Sample transaction history
- Charts & Graphs: Visual spending analytics
- Responsive Cards: Mobile-friendly layout
-
Connect your repository
- Import your GitHub repository to Vercel
- Vercel will auto-detect Next.js configuration
-
Set environment variables
- Add your environment variables in Vercel dashboard
- Configure production database connections
-
Deploy
- Vercel will automatically deploy on every push to main branch
- Preview deployments for pull requests
The app can be deployed to any platform that supports Next.js:
- Netlify: Use
@netlify/plugin-nextjs - Railway: Direct Next.js support
- DigitalOcean App Platform: Node.js applications
- AWS Amplify: Full-stack applications
bun run dev # Start development server
bun run build # Build for production
bun run start # Start production server
bun run lint # Run ESLint
bun run type-check # Run TypeScript compiler- ESLint: Configured with Next.js recommended rules
- TypeScript: Strict mode enabled for better type safety
- Prettier: Recommended for consistent code formatting
- Create component in appropriate directory
- Use TypeScript for type safety
- Follow existing naming conventions
- Add proper exports in index files
- Include JSDoc comments for complex components
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b username:amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin username:amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js - The React framework for production
- Tailwind CSS - For the amazing utility-first CSS framework
- Framer Motion - For beautiful animations
- shadcn/ui - For the component library
- Lucide - For the beautiful icons
- Vercel - For hosting and deployment
- Clerk - For authentication
- Prisma - For database operations
- π§ Reach out: DM me on X: @gurleenwadhwa
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions