- Kind
- Collaboration platform
- Year
- 2025
- Built with
- NestJS
- Prisma
- PostgreSQL
- Socket.IO
- React
- Zustand
The question
In a company, who should be able to message whom, and see which files?
OrgNet answers with the org chart itself, so access changes when a person moves to a different manager.
Why it exists
A collaboration suite where access follows the hierarchy: roles, teams, messages and files, with an audit trail for admin actions.
How it works
How a message is allowed through
- 1
Sender
A signed-in user sends a direct or group message, over the socket or by REST.
- 2
Rule
The communication rule compares the two people in the org tree: same person, admin, manager and report, employee and superior, or peers.
- 3
Delivery
If allowed, the message is stored and pushed live to the recipient’s room.
Decisions
The hierarchy is data
Each person points to their manager, so restructuring the company is an update to the tree instead of a change to code.
One rule set for two transports
Messaging permissions are checked by the same service whether a message arrives over the WebSocket or the REST route.
Role ranks for files, relationships for people
Files carry a minimum role, ranked from intern to admin, while people and messages are governed by their place in the tree.
Files leave through short-lived links
A download returns a presigned storage URL that expires after an hour, and downloads are counted.
Trade-offs and limits
- Presence and typing state are held in memory, which suits a single server process.
Not built yet
- Read receipts stored in the database (they are relayed live)
Built with
Frameworks and libraries
- NestJS
- Prisma
- Socket.IO
- React19
- Zustand
Data and storage
- PostgreSQL