Built by Tech For Nonprofits · Kenya

The digital home for every NGO project in East Africa

TFN pairs developers with civil society organizations to build real tools. nonprofits.live is where those tools live — one secure, monitored, cost-transparent platform for the whole ecosystem.

Request access → View on GitHub ↗
All systems operational  ·  API: api.nonprofits.live  ·  Panel: panel.nonprofits.live

Platform

Everything a TFN team needs, consolidated

Before nonprofits.live, every NGO project ended up on a different developer's personal Vercel or Render account. Handoffs were messy, billing was invisible, and nothing was monitored. This platform fixes that.

🏢

Multi-tenant isolation

Each NGO operates in its own organization. Projects, billing, and member access are fully scoped — one team's workload can never affect another.

📊

Real-time resource tracking

A background daemon reads CPU and RAM from every running container every 15 minutes, building a continuous resource ledger per project — no manual monitoring needed.

🧾

Transparent billing

Aggregate compute-hours and GB-hours into a clean monthly invoice per organization. Fair, usage-based pricing — NGOs pay for what they actually use.

🔐

Secure by default

JWT authentication, bcrypt passwords, TLS 1.3 everywhere. Every API call is organization-scoped — you only ever see your own data.

🚀

Instant deployments

Push to GitHub and the platform builds, tags, and deploys automatically via GitHub Actions → GHCR → VPS. From commit to live in under 3 minutes.

🛠️

Developer CLI

The npl CLI puts the full control plane in the terminal. Create orgs, provision projects, inspect resource usage, and generate invoices — no web console required.

From zero to deployed, in minutes

TFN engineers get access to the npl CLI and are productive immediately — no cloud console, no YAML files, no coordination with a DevOps team.

01 — Authenticate

One login command

Run npl login, enter your credentials, and a signed JWT is saved locally. That's the only setup required on a new machine.

02 — Create your org

One org per nonprofit

Each civil society group gets its own organization. Admins invite members by email. All projects and invoices are scoped to the org.

03 — Spin up a project

One command to provision

A single CLI command creates a workspace on the shared VPS. Connect a GitHub repo in the Dokploy panel and it redeploys on every push.

04 — Monitor & invoice

Always know your costs

Check resource usage any time with npl project status. Generate a full cost breakdown for the month with npl org invoice.

$ npl login
🌐 Control Plane URL: https://api.nonprofits.live
📧 Email: alice@tfn.ke
🔑 Password: ••••••••
✅ Welcome, Alice Kamau!

$ npl org create "Amani Kenya"
✅ Organization created! (ID: 1, slug: amani-kenya)

$ npl project create amani-website --org 1
🚀 Creating project 'amani-website'...
✅ Live on Dokploy. ID: abc123

$ npl org invoice 1
🧾 Amani Kenya — May 2026
amani-website 0.32 CPU-hrs 0.88 GB-hrs $0.02
TOTAL $0.02

Documentation

Everything you need to get started

Full reference docs for the CLI, REST API, and system architecture — open source on GitHub.

🛠️

CLI Reference

Every npl command, flag, and interactive prompt — with real terminal output examples.

Read the CLI docs →
🔌

API Reference

All 9 REST endpoints — request/response shapes, auth requirements, error codes, and curl examples.

Read the API docs →
🏗️

Architecture

How Traefik, npl-server, Dokploy, the telemetry daemon, and the billing engine all fit together.

Read the architecture →
🚢

Deployment Guide

Step-by-step operator checklist for hosting npl-server on a VPS via Dokploy — env vars, mounts, and Traefik setup.

Read the deploy guide →