An independent, source-available membership platform built to last.
Joinery is a full-featured membership and event management platform. It handles everything a small-to-medium organization needs: member management, event registration, payment processing, email communications, e-commerce, and more.
What makes it different is the approach. Joinery is source-available. You can read every line of code. You can self-host it on your own infrastructure. You can export all your data at any time. There is no vendor lock-in, no data harvesting, and no transaction fees.
The platform includes a theme system with multiple CSS framework options, a plugin system for extensibility, and a full REST API. It runs on PHP and PostgreSQL — a proven, well-understood stack.
Joinery is built and maintained by Jeremy Tunnell — a software developer who believes membership organizations deserve better tools than what the SaaS industry currently offers.
Being a solo developer is a feature, not a bug. It means opinionated design, fast iteration, and no design-by-committee. Every feature exists because it solves a real problem, not because a product manager needed to justify their headcount.
The goal is to build something sustainable and lasting — software that organizations can rely on for years, not a startup looking for an exit.
Most software companies raise venture capital, hire fast, and optimize for growth metrics. This creates misaligned incentives — the company needs to maximize revenue, which means maximizing what they extract from customers.
Joinery has no investors to satisfy. No board of directors. No growth targets. This means every decision can be made in the interest of the people who actually use the software.
It also means the codebase stays coherent. One developer means one vision, one architectural style, and zero "we inherited this from the team that left." Every line of code has a clear owner and a clear purpose.
Have questions? Want to discuss a project? Just want to say hello?
Try Joinery free for 14 days. No credit card required.