A goal-tracking app with financial accountability. Set goals, make pledges, and get charged if you don't complete them.
- Create and track personal goals
- Set pledge amounts ($0.50 - $10,000)
- Automatic payment capture on failed goals
- Real-time goal feed
- User authentication with Clerk
- Stripe payment processing
- Frontend: Next.js 14, React, TypeScript, Tailwind CSS
- Backend: Convex
- Auth: Clerk
- Payments: Stripe
- UI: Shadcn/ui components
# Clone and install
git clone https://github.com/vaurenw/0kpi.git
cd 0kpi
npm install
# Set up environment
cp example.env .env.local
# Fill in your API keys
# Run development server
npm run dev
# Deploy to production
npm run build
npm startCopy example.env to .env.local and add your API keys:
NEXT_PUBLIC_CONVEX_URL- Convex deployment URLNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY- Clerk publishable keyCLERK_SECRET_KEY- Clerk secret keySTRIPE_SECRET_KEY- Stripe secret key (starts withsk_)NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY- Stripe publishable key (starts withpk_)STRIPE_WEBHOOK_SECRET- Stripe webhook secret (starts withwhsec_)INTERNAL_API_KEY- Secure random string for internal API authenticationNEXT_PUBLIC_APP_URL- Your app URL (e.g.,http://localhost:3000for development)
CRON_SECRET- Secure random string for cron job authenticationRESEND_API_KEY- For email notifications (optional)FROM_EMAIL- Email address for notifications (optional)
# Start Convex dev server
npx convex dev
# Deploy to production
npx convex deployMIT