One system to run a mixed tenant apartment portfolio end to end.
360 Living gives a UAE real estate operator a single platform to run a portfolio where corporate leases, mostly schools housing their own teaching staff, sit alongside individual tenants. We built the Super Admin portal that covers the full portfolio, a scoped School Admin portal for each school's own apartments and invoices, and the system underneath both: buildings, leases, rent collection, maintenance, and community content, all in one place.
A walk through the product.
A mixed tenant portfolio needed one system, not spreadsheets split across audiences.
360 Living's portfolio isn't just individual renters. A large share of its 290 apartments are leased in bulk to schools, who then house their own teaching staff, alongside tenants renting directly. Each audience needs different visibility. Schools should see and manage only their own allocated units and invoices, while the operator's own team needs the full portfolio: every building, every lease, every dollar of revenue and cost.
Running that split across spreadsheets meant there was no single place to see which units were vacant, which leases were expiring, or which invoices were overdue. There was also no safe way to give schools self service access without exposing the rest of the portfolio.
What it took.
- Two role gated portals, one shared platform. Super Admins see the full portfolio, while School Admins are scoped to their own allocated apartments, invoices, and staff leave requests. This is enforced on the server at the edge on every request, not just hidden in the interface.
- Turning enquiries into leases without costly mistakes. Converting an enquiry into a signed lease is hard to undo once rent payments start. We built a two step review that shows the lease and payment implications before anything is committed.
- Rent collection that survives a payment provider hiccup. Stripe hosted checkout handles online rent payments, reconciled through a webhook so confirmation is idempotent, with a manual bank transfer fallback so a payment failure never leaves a lease record out of sync.
- Sessions that don't drop during a slow moment on the backend. Token refresh runs as a single flight, so simultaneous requests don't race each other, and a temporary backend hiccup is treated differently from an expired session. A slow server response never logs a user out by mistake.
What ships in the product.
Buildings & apartments
Apartment type templates at the building level, such as Studio, 1 Bed, and 2 Bed, each with its own pricing and policy, plus individual units, all managed with multipart image upload.
Lease & occupancy management
Allocate apartments, track lease terms and renewal dates, and see occupancy broken down across the portfolio.
Enquiry to lease conversion
A two step review shows the lease and payment implications before an enquiry becomes a signed lease.
Rent payments & invoicing
Stripe hosted checkout, a manual option to mark payments as paid, a bank transfer fallback, and shareable invoice receipts.
Maintenance requests
Tickets with photo attachments, tracked from submission through resolution.
School & user management
School accounts with their own scoped admin login, alongside individual tenant and teacher accounts.
Community content
Notices, events, and blog posts authored through a rich text editor and published to residents.
Compliance center
A GDPR style data export, along with an overview of the portfolio's compliance posture.
Reporting & integrations
Portfolio dashboards, PDF exports, and a read only connection to Zoho Books and Analytics for accounting visibility.
Built for production from week one.
We built 360 Living on Next.js 16's App Router, with edge middleware gating every route by role, TanStack Query handling data fetching and caching, and a Bearer token session model with single flight refresh, so a token expiring mid request never interrupts the user.
360 Living in the wild.
A closer look at the core user flows built for this product.

Building something like 360 Living?
360 Living needed one platform to run a mixed portfolio of corporate school leases and individual tenants, without exposing more than each portal should see. Send us a brief and we'll scope it within 24 hours.