Oare Arene
← Back to Projects

OpenBooks

Community finance tracker for groups and co-ops

Role
Solo dev — product, design system, architecture, frontend & backend
Timeframe
2025 — Ongoing
OpenBooks screenshotOpenBooks screenshot

Overview

OpenBooks is a community finance tracker that makes shared money transparent, auditable, and understandable. It's built for co-ops, clubs, and neighborhood groups: role-based access, receipt-backed transactions, and simple reporting that members can trust.

Problem

Small organizations need clarity and accountability, but most tools either feel like accounting software (too complex) or are too lightweight to build trust (no audit trail, attachments, or permissions). Shared finances need both usability and defensible controls.

Goals

  • Mobile-first ledger UX for non-accountants
  • Secure org isolation + role-based permissions (Owner/Admin/Treasurer/Auditor/Member)
  • Receipt attachments, approvals, and exportable reporting
  • A public-facing product tour + early-access waitlist (no production onboarding yet)

Solution

Built a Next.js + Supabase app with RLS-enforced org boundaries and role-aware UI/route gating. Transactions support statuses (e.g., submit/approve/return/void), attachments are stored securely, and reporting/export endpoints provide simple, shareable outputs. Public pages (landing/auth/tour) are forced to light mode for brand consistency, while the app uses a stored theme preference.

Architecture / Approach

  • Next.js App Router (SSR + static marketing/tour routes)
  • Supabase Auth + Postgres with RLS policies per org + role
  • API routes for org/fund/category/transaction CRUD + state transitions
  • Attachment uploads + server-side confirmation flow
  • Reports: UI charts + CSV export endpoints (categories/funds/monthly)
  • Public read-only summary links (tokenized route) for transparency sharing
  • Request proxy (Next 16 `proxy.ts`) to gate `/app` and disable auth routes in production until launch

Outcomes

  • MVP shipped with secure defaults: org isolation + role-based access controls
  • End-to-end transaction lifecycle (review/approve/return/void) with attachment support
  • Production landing + product tour + early access waitlist (auth disabled until launch)
  • Reporting foundation: charts + CSV exports + public summary links

Next Steps

  • Launch gating: early access invites + staged onboarding
  • CSV import/reconciliation workflow (bank + legacy ledger formats)
  • More transparency surfaces (publishable summaries + permissioned sharing controls)
  • Refine theming: org-scoped + user-scoped preferences inside `/app` (public pages stay light)
  • Operational polish: notifications, activity feed improvements, and audit UX

Tech Stack

Next.jsSupabaseRLSTailwindShadcn
← Back to Projects