React, Express.js, MongoDB, Flutterwave, Agora
Marquis — Residential Complex Management
A web platform for managing residential apartment complexes — covering residents, amenities like gym and cinema, third-party services, staff roles, payments, and real-time communication between admin and employees.
Key Decisions & Challenges
Flutterwave for Payments
Situation
The platform needed payment processing for automatic monthly payouts.
Decision
Flutterwave is the payment provider used in the client's region — it was a straightforward requirement to use a processor that works for their market.
Agora for Real-Time Chat
Situation
The platform needed a messaging system for admin to communicate with employees.
Options Considered
- Build from scratch using WebSockets — full control, but significant development time
- Use Agora — built-in real-time communication out of the box
Decision
Used Agora to avoid building the real-time infrastructure from scratch. It provided the messaging functionality without the time investment of implementing WebSocket-based chat ourselves.
Features
Resident Management
Add residents, send login credentials via email, and block or unblock their access to the mobile app.
Amenity Booking
Residents book gym classes, cinema seats, and workspaces. Admins set gym policies, schedule classes, and manage availability across all amenity types.
Guest Management
Record and track arriving guests with date and details.
Ticketing System
Residents raise tickets for issues; admins record and manage them through to resolution.
Custom Role Management
Add employees with specific permissions — for example, a receptionist with access only to guest-related features.
Automatic Payouts
Monthly payouts processed automatically on each resident's registered billing date.
Real-Time Notifications
Notifications for bookings, ticket submissions, and guest arrivals via Firebase Cloud Messaging.
Messaging System
Admin communicates with employees through a built-in real-time chat powered by Agora.
Third-Party Service Integration
Admins add external service providers like salons and laundromats; providers get their own management interface to handle services and interact with residents.
In Action
Gym classes scheduling
Role management
My Role
I led a team of three engineers — contributing to development directly and managing the project delivery.
Tech Stack
Outcome
Delivered to the client.