Running a small agency means wearing a lot of hats. You’re managing projects, chasing invoices, sharing files, and trying to keep clients updated — often across half a dozen different tools that were never designed to work together.
That was our reality. We had Google Drive for files, Notion for project status, Stripe for invoicing, and a prayer that clients could follow along. The monthly bill for all these tools? Over $200, and that’s before counting the time lost switching between them.
We looked for an open-source alternative that covered the basics in one place. We couldn’t find one. So we built Atrium.
What Atrium Does
Atrium is a self-hosted client portal where your clients log in and see everything related to their projects — status updates, files, invoices — all under your own branding.
Here’s what it covers today:
- Project tracking with custom status pipelines that match how you actually work
- File sharing with support for S3, MinIO, Cloudflare R2, or local storage
- Invoicing with PDF generation — no more switching to a separate billing tool
- White-label branding so the portal looks like yours, not ours
- Role-based access for your team and your clients
- Email notifications to keep everyone in the loop
The Stack
We chose a modern, proven stack that’s straightforward to self-host and extend:
- Backend: NestJS 11
- Frontend: Next.js 15 with React 19
- Database: PostgreSQL 16 with Prisma ORM
- Email: Resend + React Email
- Monorepo: Turborepo + Bun
Getting started is as simple as git clone, bun run setup, bun run dev — or just docker compose up if you prefer containers.
Why Self-Hosted?
The SaaS client portal market charges $30+ per seat per month. For a small agency with a few team members and a handful of clients, that adds up fast. And you’re trusting someone else with your client data, your branding, and your workflow.
Self-hosting Atrium means:
- Your data stays yours. Client files, project details, invoices — all on your own infrastructure.
- No per-seat pricing. Add as many team members and clients as you need.
- Full customization. Fork it, extend it, make it fit your exact workflow.
- No vendor lock-in. Your portal doesn’t disappear if a SaaS provider pivots or shuts down.
Who It’s For
Atrium is built for agencies and freelancers who want a professional client experience without the overhead of enterprise SaaS pricing. If you’re currently stitching together multiple tools to manage client work, or paying for a platform that does more than you need at a price you’d rather not pay, Atrium might be worth a look.
What’s Next
We’re actively building and have a roadmap that includes a hosted cloud version for teams that don’t want to manage infrastructure. But the self-hosted version will always be free and open source.
The project is still early, but it already handles the core workflow that was costing us hundreds per month across multiple tools.
Want to try it? Check out the GitHub repository to get started.