Get Started With Kinship Canada

This site documents Kinship Canada's internal API system. We believe that charities should be powered by good software, and in the effort of doing so have open-sourced our internal codebase. The GitHub repository is available at

If you are a developer at a charity, reach out at We can't promise anything but will try to help as well as answer any questions regarding integration.

Getting Started

Clone the repository, and then run

npm install
# or
yarn install

Create a .env file (using .env.example as a template), and replace with your own values (we go over our tech stack here). Then, run the development server:

npm run dev
# or
yarn dev

This will create an API instance, as well as a

Our Stack

Under the hood, we use a number of internal tools and services.

  • Stripe: Payments & Billing
  • Supabase: For database & user management. This can be replaced with your own Postgres or MySQL instance, but will require some frontend refactoring to replace Supabase queries with your own.
  • PostMark: For emails, including sending payment notifications & tax receipts to donors.
  • Twilio: To send SMS notifications to users, including for account verification and donation notifications.

Upcoming Changes

We plan to add the following changes over the next quarter. If you would like to contribute, please do so at

  • Tax receipt package generation
    • End of year statements for Canada
    • Integration with common accounting software
  • Dockerization
  • Easy customization for developers