The problem

Every month, condo managers in Brazil receive a dense PDF or Excel file summarizing the building’s finances. It covers everything from maintenance contracts to utility bills — but it’s structured for accounting, not for understanding.

As a condo resident, I found it genuinely difficult to answer basic questions: Where did the money go this month? Which expenses are growing over time? Is that vendor charging us consistently? The data was there, but buried under rows of accounting codes and jargon.

After talking with residents and managers across two buildings in Rio de Janeiro, it was clear this wasn’t a personal frustration — it was a structural gap in how condominiums communicate financial health to the people who live there.

Working with design partners

I reached out to two condominiums with different profiles — one mid-size residential building in Botafogo, and a larger complex in Barra da Tijuca — to validate the concept and co-design the product.

Through interviews and working sessions with building managers and treasurer committees, two root causes stood out:

1. Data was locked inside proprietary systems. Managers ran their accounting in a legacy property management tool that could only export CSV files. Nothing could import those files and produce meaningful charts.

2. Transaction descriptions were cryptic accounting codes. A payment listed as “SERV MANUT PRED 04/12” meant something specific to the accountant, but nothing to anyone else. Residents and committees had no way to identify where money was actually going.

This shaped the core product bet: import raw data from existing tools, enrich it with plain-language categories using AI, and surface insights through visualization.

Designing the platform

Monthly snapshot

The first thing a user sees after selecting a period is the Resumo (summary). It answers the most essential questions immediately: how much came in, how much went out, and how does that compare to last month?

Below the KPI row, two pie charts break down income and expenses by category — each with a scrollable legend that surfaces the full distribution at a glance. Hovering a legend row fades all other pie slices to help focus attention.

Resumo — monthly financial summary

The Histórico (history) page lets managers and committee members track financial patterns across months. Four time-series charts cover income vs. expenses, income by category, expenses by category, and the closing balance by accounting group.

Hovering a line on the category charts fades all others and shows a single-category tooltip — a pattern borrowed from financial analytics tools that proved immediately intuitive during testing with pilot users.

Histórico — trends over time

Visually exploring the data

The Explorar (explore) page was the feature that excited pilot users the most. A large interactive sunburst chart lets anyone navigate from the top level — accounting groups — all the way down to individual transactions. Clicking any arc zooms in; clicking the center zooms back out.

This turned the experience of hunting through rows in a spreadsheet into something genuinely engaging and revealing.

Explorar — sunburst drill-down

Statement detail view

For those who need to inspect individual entries, the Extrato (statement) page renders a full transaction list with sortable columns, category filters, and free-text search. Each row is enriched with a normalized category and vendor name.

An amber dot indicator highlights vendors that didn’t appear in the previous month — a small detail that turned out to be one of the most appreciated features, helping committees catch one-off payments and unusual charges quickly.

Extrato — statement detail

Enriching data with AI

CSV exports from condo management systems carry terse, accounting-style descriptions. To surface meaningful categories and vendor names, I built an enrichment pipeline using the Groq API with the llama-3.3-70b-versatile model.

Enrichment pipeline diagram

Each import fires a batch enrichment job that classifies transactions into 29 MECE categories — designed specifically for Brazilian condominium accounting — and extracts a normalized vendor name for each transaction. The model receives the raw description, the transaction amount, and the accounting group, then returns structured JSON.

In practice, the enrichment is invisible to end users: they always see clean categories from the moment they open a statement.

Built for teams

CondoVis is multi-user by design. Building managers and accountants hold admin access — they can import statements, trigger enrichment, and annotate individual transactions with notes visible to the whole team.

Committee members and residents receive viewer access, a read-only role that shows all charts and data but hides import controls and sensitive operations. Role permissions are enforced both at the routing layer and at each API endpoint.

Try it yourself

CondoVis is live at condovis.com.br. You can explore the full platform with this demo viewer access:

  • Login: viewer@condovis.dev
  • Password: viewer123456