A minimal offline-first finance tracking app built with Nuxt 4, designed for static deployment to Cloudflare Pages.
- Subscriptions Management: Track recurring subscriptions with flexible billing intervals
- Variable Charges: Record one-time or yearly expenses
- CSV Import/Export: Import data from CSV files (supports Portuguese and English headers)
- JSON Export: Full backup of all data
- Offline-first: All data stored locally in IndexedDB
- Responsive Design: Works on mobile, tablet, and desktop
- Framework: Nuxt 4 (SSG mode)
- UI: Nuxt UI + Tailwind v4
- Database: Dexie (IndexedDB)
- Forms: TanStack Form + Zod validation
- Tables: TanStack Table
- CSV: PapaParse
- Deployment: Cloudflare Pages (static)
- Node.js 20+ or Bun
- pnpm 10+
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build for production
pnpm generate
# Preview production build
pnpm preview- Push to
mainbranch - GitHub Actions will automatically build and deploy
- Set these secrets in your GitHub repository:
CLOUDFLARE_API_TOKEN: Your Cloudflare API tokenCLOUDFLARE_ACCOUNT_ID: Your Cloudflare account ID
# Generate static site
pnpm generate
# Deploy to Cloudflare Pages (requires wrangler CLI)
npx wrangler pages deploy .output/public --project-name=pachira- Build command:
pnpm generate - Build output directory:
.output/public - Node version: 20+
All data is stored locally in your browser's IndexedDB. Your data:
- Never leaves your device
- Persists across sessions
- Can be exported at any time
- Is automatically backed up when you export
- Supports CSV files
- Headers can be in English or Portuguese
- Always adds data to the database (no merge/replace)
- Edit imported data in the app
- Export all data to CSV or JSON
- CSV format: Good for spreadsheet analysis
- JSON format: Full backup of all data
- Name, Person, Price, Half Price
- Billing Interval (in months)
- Start Date, End Date (optional)
- Active/Inactive status
- Calculated monthly costs
- Name, Person, Cost, Half Cost
- Year, Month (optional - null = yearly charge)
- Period-based views (week/month/year)
- Charts and visualizations
- PWA features (service worker, installable)
- Cloud sync
- Advanced filtering and search
- Comparison features
MIT