Back to Projects

Cimerat App

Full-stack app for shared apartments: bills, loans, invoices and complaints, with private groups for each apartment. Built with React, Express and MySQL.

Cimerat App website screenshot

Overview

"Cimerat" means "roommates" in Albanian. The app started as a fun side project for my own apartment: a single place where my roommates and I could keep track of bills, loans, invoices and, yes, who keeps leaving the trash around.

The challenge

Living together means lots of small shared costs and small arguments. We were tracking payments in chats and memory, which led to the usual "who paid what?" questions. Once the app worked for us, friends wanted it too, so it had to grow from a single private tool into a platform where anyone can create their own apartment and invite their roommates, with each apartment's data kept private.

What I built

I built Cimerat as a full-stack TypeScript application. The front end uses React with Vite and React Router, and charts are drawn with ApexCharts. The back end is a REST API with Node.js, Express and MySQL, with JWT authentication and bcrypt-hashed passwords. Every request is scoped to the user's current apartment, so roommates only ever see their own group's data. New users go through an onboarding flow where they either create an apartment or join one through an invite link or email.

Key features

  • Dashboard with totals and a yearly spending chart per roommate
  • Payments for bills, personal costs and products, with paid and unpaid status and filters
  • Loans between roommates with status and date filters
  • Complaints with an optional photo, a complainer and a "suspect"
  • Apartment groups with invites by link or email
  • Platform admin view to manage apartments and members

Result

What started as a joke between roommates became a working multi-apartment platform. It is also a good example of how I build full-stack products: a typed API, secure authentication, clean data separation and a front end that makes everyday tasks quick.

Project Details

TypeReact App
Primary StackReact, Express, Node.js, MySQL +2
StatusLive
Deployed on
vercelvercel

Technologies Used

React
React
Express
Express
Node.js
Node.js
MySQL
MySQL
TypeScript
TypeScript
Tailwind
Tailwind

Let's work together

Have a project in mind, or want to talk about a role or a collaboration? Book a short call or send me an email.

Email: driton@triquon.tech · Download CV

Copyright © 2026 Driton Gashi