A modern SaaS platform for managing finances with expense tracking, budgeting, subscriptions, and more. Built with Composio's Tool Router, Rube MCP, and Claude Code.
bun install
# or
npm install- Create account at supabase.com
- Create a new project (free tier is fine)
- Go to Settings → API and copy:
- Project URL →
NEXT_PUBLIC_SUPABASE_URL - anon public key →
NEXT_PUBLIC_SUPABASE_ANON_KEY
- Project URL →
Create .env.local in the project root:
NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key-here
# Generate with: openssl rand -hex 32
ENCRYPTION_KEY=your-64-character-hex-key-here
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key-here
SUPABASE_PROJECT_ID=your-project-id
# LEMONSQUEEZY_STORE_URL=...
# LEMONSQUEEZY_API_KEY=...
# RESEND_API_KEY=...
# RESEND_FROM_EMAIL=...
# COMPOSIO_API_KEY=...Generate encryption key:
openssl rand -hex 32# Push migrations to Supabase
npx supabase db push
# Generate TypeScript types
bun run generate-typesbun dev
# or
npm run devOpen http://localhost:3000 and create an account!
Email Verification:
- After signup, users receive a verification email automatically (from Supabase)
- No Resend or email service needed for auth emails
- Click the link in email → redirects to
/auth/callback→ verified!
- Transactions, Analytics, Budgets, Accounts, Categories, Notifications, Goals, Family Sharing, Integrations, Export
- Next.js 16 - React framework
- Supabase - Database, auth, Edge Functions
- TypeScript - Type safety
- Tailwind CSS + Shadcn/ui - Styling
- TanStack Query - Data fetching
- Lemon Squeezy - Payments (optional)
# Development
bun dev # Start dev server
# Build
bun run build # Production build
bun start # Start production server
# Database
npx supabase db push # Push migrations
bun run generate-types # Generate TypeScript typesThe easiest way to deploy is with Vercel:
- Push your code to GitHub
- Import project in Vercel
- Add environment variables in Vercel dashboard
- Deploy!