← All projects
Full-stack · Team project
ColocApp
A co-developed full-stack platform that simplifies shared housing: group management, real-time chat, and automatic expense splitting.
- Year
- 2025
- Role
- Full-stack developer
- Collaboration
- Co-developed with Chedly Chahed
- Main stack
- Next.jsTypeScriptSpring BootPostgreSQLWebSocket
Project gallery
1 / 3
Placeholder preview — not an actual project screenshot.
Next.jsTailwind CSS
KeycloakSTOMP over WebSocket
Spring Boot APIPostgreSQL
01
Overview
ColocApp helps people who share housing organise their household: who lives where, what was paid, and who owes what.
It was co-developed with Chedly Chahed as a full-stack project combining a Next.js frontend with a Spring Boot backend.
02
My contribution
- Co-developed the platform end to end with Chedly Chahed across frontend and backend.
- Real-time group chat using WebSocket and STOMP.js.
- Shared-expense tracking with automatic cost splitting.
- Role-based authentication with Keycloak.
- Accessibility considerations aligned with WCAG 2.1.
03
Key features
Shared-housing management
Create a household, invite housemates, and manage shared information in one place.
Real-time group chat
WebSocket with STOMP.js delivers messages instantly to everyone in the household.
Automatic cost splitting
Expenses are recorded once and split automatically, so balances stay clear.
04
Architecture & decisions
- Keycloak centralises identity and roles instead of hand-rolled auth.
- A message broker pattern over WebSocket keeps chat real time without polling.
- PostgreSQL stores relational household and expense data.
05
Challenges & solutions
- Keeping chat responsive
- Used STOMP subscriptions per household so clients only receive relevant messages.
- Fair expense splitting
- Computed balances from recorded expenses rather than storing derived totals.
06
Results & learnings
- Coordinating a full-stack codebase with a co-developer.
- Integrating Keycloak roles across a Next.js and Spring Boot stack.
07
Technology stack
- Frontend
- Next.jsTypeScriptTailwind CSS
- Backend
- Spring BootWebSocketSTOMP.js
- Data
- PostgreSQL
- Auth
- Keycloak
- Tooling
- GitGitHub

