RodTree — Interactive Family Tree Builder

Project Info

  • Client Self-funded SaaS
  • Year 2026 → present
  • Category SaaS / Genealogy
  • Stack Next.js 16 (App Router), React 19, TypeScript, Tailwind v4, Prisma 7 + Postgres (@prisma/adapter-pg), NextAuth v5 (JWT, Google + Credentials), React Flow, next-intl, WayForPay, npm workspaces monorepo

Project Description

RodTree is a self-funded SaaS for building, preserving, and sharing interactive family trees that I designed and built end-to-end. Users add ancestors, descendants, and life events; the tree renders as a fluid, zoomable canvas powered by React Flow with custom node renderers for people, marriages, and generation lanes. The UI is localized into English and Russian, and free accounts can build a multi-generation tree before hitting the paid tier.

Architecture: an npm-workspaces monorepo with a Next.js 16 App Router app at apps/web and shared packages/* for tree-graph logic and i18n strings. Persistence uses Prisma 7 against Postgres via @prisma/adapter-pg; auth is NextAuth v5 with the JWT strategy and both Google and Credentials providers. Mutations go through typed server actions in src/lib/actions/ that authenticate via auth() and return the project's standard {data} / {error} / {success} envelope, so the client never talks to Prisma directly.

The interesting parts: custom React Flow node types that compose parent/child/spouse edges into a readable generational layout, an autosaving editor that batches graph deltas before flushing, and a route topology under /[locale]/ that lets next-intl handle prefix routing without duplicating the whole tree under two roots. Payments are wired through WayForPay with HMAC-MD5-signed callbacks, the same pattern used elsewhere in the portfolio.

RodTree — interactive family tree builder