Juntaditas - Group Expense Splitting App
A web app to split expenses for asados, trips, and shared purchases—track who paid what and settle balances instantly without spreadsheets.
PostgreSQL
Docker
Ubuntu
Nginx
Next.js
React
TypeScript
About This Project
A web app for splitting group expenses—think asados, trips, and shared shopping—so friends can settle up without spreadsheets or awkward math.
Key Features:
- Next.js App Router & Server Actions – Server-rendered pages for fast loads and SEO, with mutations handled securely on the server.
- PostgreSQL data model – Groups, members, expenses, line items, payers, and per-item splits stored relationally for accurate balances.
- Per-item splitting – Divide each purchase across exactly who consumed or owes it, not just equal splits on the whole bill.
- Automatic balances & simplified settlements – Computes net balances and the minimum set of “who pays whom” transfers.
- Invite-based groups – Share a link or code; session-based access without forcing a full signup flow.
- Spanish-first UX & SEO – Localized copy (es-AR), Open Graph, JSON-LD (WebApplication + FAQ), and PWA manifest support.
- Responsive, accessible UI – Mobile-first layout with Radix primitives, Geist typography, and scroll-driven landing sections.
Tech Stack:
- Frontend: Next.js 16, React 19, Tailwind CSS 4, Geist fonts
- Backend: Next.js Server Actions, Node.js,
pg(PostgreSQL driver) - Database: PostgreSQL (schema for groups, expenses, items, splits, snapshots)
- Other: Zod & React Hook Form, Docker Compose, VPS + reverse proxy (production at juntaditas.com.ar), Vercel Analytics