Ittihad
livebuilt at SaySoftA multi-tenant SaaS for Egyptian building and compound unions — dues, payments, disputes, maintenance, and votes — Arabic-first, with an AI assistant that answers from the app's own docs.
- 28
- Backend modules
- 51
- Database models
- 524
- Backend tests
- 620+
- Commits (both repos)
PROBLEM
Residential building unions in Egypt are legally required (Law 119/2008) but are usually run from a notebook and a WhatsApp group: who paid their monthly share, where the money went, which complaint is still open. Ittihad gives each building a real back office — every unit, member, charge, payment, expense, and vote on record — for the managers and treasurers who volunteer to run it.
WHAT'S IN IT
- Buildings, units, members and invitations, with a guard chain (JWT → building membership → role → subscription) on every protected endpoint.
- Monthly dues and billing, payments, expenses, and a double-entry accounting core, with Paymob subscription billing verified by webhook.
- Disputes, vendors, maintenance requests, shared resources, announcements, polls, and a calendar — the whole running of a building in one place.
- An AI assistant that answers questions from the app's own help and pages with source links, using pgvector retrieval — with a next phase designed so any action it takes goes through a confirm step first.
- Arabic (RTL) by default with English, deployed as a static React SPA on Vercel in front of a NestJS API on AWS ECS Fargate.
ROLE
Engineer at SaySoft and the main author of both repos — NestJS API, React frontend, the AI assistant, and the AWS deployment.
NOTABLE DECISION
Access is decided by one guard chain that runs on every protected endpoint — authenticated, then a member of this building, then holding the right role, then covered by an active subscription — rather than checks scattered through the services. With 28 modules and several roles per building, a single ordered chain is the only way to be sure no endpoint forgot one of the four questions.