Skip to content
Projects

Residential condominium administration

An internal system for managing payments, vehicles, security staff and fines in private condominiums, with a full audit trail of every movement.

Context

Running a residential condominium looks simple from the outside: collect the monthly fee and open the gate. In practice it’s dozens of small intertwined processes, historically handled in loose files, the guard’s notebook and the administrator’s memory.

When the condo grows, that system breaks. Lost payments, unregistered vehicles, fines nobody remembers applying, and angry residents because they’re charged different things every month.

Problem

The client needed to consolidate the full operation in one place with three clear priorities:

  • Total traceability. Every payment, every fine, every vehicle entry must be logged with date, user and reason. Auditable backwards, no exceptions.
  • Distinct roles. The guard at the gate shouldn’t see what the administrator sees, and a resident should only see their own.
  • Zero ambiguity in charges. If a resident disputes a charge, you must be able to prove where it came from with one click.

Design decisions

The database is the product. In administrative systems, the logic lives in the database. I designed the structure so business rules are impossible to bypass from the application: you can’t record a payment without it matching a charge, you can’t delete a fine without leaving a trace, you can’t modify history without recording who and when.

Stored procedures as a contract. The application never touches tables directly. It talks to stored procedures that validate, log and return predictable responses. This makes any audit possible and means changing the interface won’t break the operation.

Designed for others to maintain. I documented the full structure so the client isn’t tied to me. If they hire another developer tomorrow, the system is understandable without calling me.

Result

The condo went from running on three Excel files and a physical notebook to a single system with a complete history of payments, vehicles and residents. Monthly closes that used to take two days now generate automatically.

Why it matters

This kind of system isn’t glamorous, but it’s exactly the type of problem small businesses in Guatemala need to solve and that generic solutions don’t cover well. It’s the pattern that repeats across my work: take an operation living in loose sheets and turn it into something the client can scale without depending on me.