Synaplan
기업을 위한 오픈소스 AI 플랫폼
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Free, open-source back office for small US nonprofits: donations & IRS acknowledgement letters, 990 expenses, grantmaking, PRIs and a CRM. Next.js + Supabase.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
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 |