Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
501(c)(FREE): contributions, grants, expenses and contacts for a nonprofit team
BusinessTypeScript · PLpgSQLGitHub @nralston-saifOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Free, open-source back office for small US nonprofits: donations & IRS acknowledgement letters, 990 expenses, grantmaking, PRIs and a CRM. Next.js + Supabase.
Taken from the repository README
Loading the full README.
Read the full README ↗501(c)(FREE) is a free, open-source back office for small US nonprofits and grantmakers: donations and acknowledgement letters, expenses by Form 990 functional class, a full grantmaking pipeline, program-related investments, and a lightweight CRM (organizations, people, notes, meetings and tickets). Built with Next.js and Supabase. It's designed to be self-hosted by one organization per installation.
Built by SAIF for its nonprofit, SAIFbio, and open-sourced so other organizations can use it.
Status: early release (October 2026). It's adapted from the system SAIFbio uses day to day, but expect rough edges. Bug reports, setup problems and ideas are welcome in GitHub Issues.
Live demo: 501cfree-demo.vercel.app. Fictional sample data and pre-written sample AI results; explore freely, nothing you change is saved.
Try it in one minute:
git clone https://github.com/nralston-saif/501cFREE.git && cd 501cFREE && pnpm install && pnpm dev, then open http://localhost:3000. With no database configured, the app runs in demo mode: fictional sample data, no login, and pre-written sample results for the AI features. Changes you make locally last until the server restarts; the hosted demo doesn't save changes.
Fundraising
Expenses and reporting
Grantmaking
Program-related investments (PRIs)
CRM
Integrations (all optional)
You need Node.js 20.11 or newer and pnpm.
git clone https://github.com/nralston-saif/501cFREE.git && cd 501cFREE && pnpm install
supabase/setup.sql, and click Run.pnpm onboard. It asks for your Supabase keys, writes .env.local, checks your database and sign-in settings, and creates your admin login.pnpm dev, open http://localhost:3000 and sign in.Then open Settings to enter your organization's legal name, EIN, address and mission, and invite your team from Settings → Team. docs/setup.md has the details, deploying, optional integrations and troubleshooting.
You don't need to be a developer to install 501(c)(FREE). A coding agent such as Claude Code can do most of the work. The repository includes AGENTS.md (and CLAUDE.md, which loads it), so the agent starts out knowing the project's setup steps, conventions and checks.
Install a coding agent and open it in an empty folder.
Paste a prompt like this:
Set up 501(c)(FREE) for our nonprofit from https://github.com/nralston-saif/501cFREE. Clone it, read AGENTS.md and docs/setup.md, and install the dependencies. Walk me through creating the Supabase project and running
supabase/setup.sql. When it's time forpnpm onboard, tell me to run it myself. Then start the app and confirm I can sign in. After that, help me deploy to Vercel and set up any optional integrations I choose (Claude, Resend, QuickBooks). Explain each step in plain language and ask before you do anything that costs money or can't be undone.
Do the steps the agent hands back to you: creating accounts, copying keys from the Supabase and Vercel dashboards, and running pnpm onboard. Running pnpm onboard yourself keeps your database keys and admin password out of the agent's conversation.
Once you're set up, the same agent can change the app for you, for example adding a field, a report or a new letter template. Ask it to follow AGENTS.md and to run pnpm typecheck, pnpm lint and pnpm test before you rely on a change. Have someone check money, tax and access-control changes before you use them.
Only people on your team list can sign in. There are no public sign-ups. There are two roles:
Voting on, advancing and deciding grant proposals is for everyone on the team by default; Settings → Organization → Grant review can limit it to admins.
These rules are enforced in the database with row-level security and triggers, not only in the app: blind voting, admin-only payments, locked letters and the PRI funding checks hold even for someone calling the Supabase API directly.
pnpm install
pnpm dev # demo mode unless .env.local configures Supabase
pnpm typecheck
pnpm lint
pnpm test # unit tests + database tests
pnpm build
pnpm db:bundle # regenerate supabase/setup.sql after changing a migration
pnpm test includes supabase/tests. Those tests apply every migration to an embedded Postgres (PGlite) and check sign-up restrictions, row-level security, storage policies and the database's business rules, so schema changes are tested without a Supabase project.
Using a coding agent? Point it at AGENTS.md first.
| Doc | What's in it |
|---|---|
| AGENTS.md | Conventions, gotchas and checklists for contributors and coding agents |
| docs/setup.md | Installing, environment variables, deploying, website forms |
| docs/architecture.md | How the code is organized: data flow, auth, data model, database rules, storage, AI, demo mode, tests |
| docs/features.md | Every feature area: routes, components, actions, tables and rules |
| docs/glossary.md | Nonprofit and tax terms (Pub 1771, Form 990, PRI, DAF...) and where they appear |
| docs/README.md | Index of the docs folder |
| docs/quickbooks.md | The optional QuickBooks Online integration |
| CONTRIBUTING.md | How to contribute |
| CODE_OF_CONDUCT.md | How we treat each other |
| CHANGELOG.md | Releases and the database migrations each one adds |
| SECURITY.md |
lib/pdf/letter-data.ts) is a starting point based on IRS publications (Pub 1771, 526, 590-B); have your own accountant or counsel review it, and your setup, before use.| Reporting vulnerabilities; running an installation safely |