CoopConnect is a web app I originally built to help NYC cooperative buildings stay organized and communicate more easily. It covers the basics that most co-ops struggle with: keeping documents in one place, sending updates to shareholders, managing board announcements, and giving everyone a simple login to access what they need.
The project started as a practical attempt to make self-governance in co-op buildings a little less chaotic and a lot more transparent.
- Board members can upload and organize building documents
- Shareholders and board members have separate access levels
- Email notifications go out when new items are posted
- Board members can create announcements for the whole building
- Everything lives in one place instead of scattered emails and PDFs
This repository contains the first version of CoopConnect, built with:
- Next.js
- React
- MongoDB
- TailwindCSS
This stack worked well for a single building, but the limitations showed up when thinking about onboarding additional buildings.
The biggest issue with this version is multi-tenancy.
To support more than one building, I would’ve had to clone the entire app and database for each property. That clearly wasn’t going to scale.
Rather than forcing multi-tenancy into this setup, I decided to rebuild CoopConnect using a stack that supports it more naturally:
- Django
- PostgreSQL
- HTMX
- Alpine.js
- TailwindCSS
The goal for the new version is a single platform where each building lives in its own isolated space, all under one application.
A separate repository for the rebuild will be published once it’s further along.
This repo is mostly here for reference.
It’s not abandoned, but active development has moved to the new version.
If you’re curious about the original architecture or want to pick up ideas, feel free to explore.
You’ll need a running MongoDB instance.
If you have suggestions — whether for this version or the upcoming Django version — I’m always open to hearing them. You can open an issue or reach out directly.
npm install
npm run dev