Back to Portfolio

BoardCRM: Collections Agency Platform

Enterprise Application

Image of BoardCRM: Collections Agency Platform

Project Overview

BoardCRM is a debt collection agency management system I built for the Guatemalan market. It handles everything from importing bank portfolios to tracking payments and calculating commissions. The agency uses it every day with real debtors, real banks, and real money on the line.

What it does:

  • Multi-bank portfolios — Import Excel/CSV files from different bank clients. Each bank gets its own columns, debt aging buckets, and commission rules.
  • PBX telephony built in — WebRTC softphone right in the browser (JsSIP + Asterisk). Agents make and receive calls without leaving the app. Calls auto-link to the right case. Recordings play back inline.
  • Case lifecycle — Cases move from NEW to IN_PROGRESS to PROMISE to CLOSED. Assignment engine handles round-robin, manual, and equitable distribution.
  • Payment tracking — Receipt uploads, supervisor verification, automatic promise linking, and bank reconciliation.
  • Commission engine — Two levels: what the bank pays the agency (tiered by debt age), and what the agency pays each agent (tiered by goal achievement). Guatemalan labor law compliance baked in: IGSS, ISR, Bono 14, Aguinaldo.
  • Multiple branches — Multi-site with bank sharing across branches. Exclusive, shared-all, or shared-selective. Case transfers between sites with full audit trail.
  • TV dashboard — Auto-rotating office screen showing live rankings, team stats, and editable announcement slides.
  • Report builder — Drag and drop wizard with 18 report types: executive summaries, commissions, payments, goals, productivity, audit trails, promises, agent rankings, aging portfolio, legal portfolio, and more. Outputs stats cards, charts, and tables.
  • Access control — 8 roles (ADMIN, SITE_ADMIN, MANAGER, SUPERVISOR, AGENT, HR, ANALYST, AUDITOR) protecting 90+ API endpoints. Per-user permission overrides when needed.
  • Bilingual — Full Spanish and English, about 3,000 translation keys each. Toggle in settings.

Runs on-premise at the client's office: Rocky Linux, Docker Compose with 7 containers (Nginx, React frontend, Django backend, Celery worker and beat, PostgreSQL 15, Redis 7).

Technologies Used

PythonDjangoReactTypeScriptPostgreSQLRedisCeleryDockerNginxAsteriskWebRTCJsSIPTailwind CSSChart.js

Key Results

68 database migrations, 43 pages, 63 reusable components, 36 API service modules. Handling multi-bank debt portfolios in production.

Project Links