← Back to projects

Confidential CRM for a credit company

Context

I developed an internal system in 2024 for a credit company. The CRM receives prospective clients, follows their progress through stages, and supports administrative work through completion.

Problem

The operation needed one platform for clients, data, documents, communications, permissions, schedules, and reports. The challenge was to support the full process, not just store information.

My role

I was the sole developer. I handled the system’s development, maintenance, and evolution: administrative modules, business logic, database, SQL, APIs, integrations, automations, debugging, fixes, and operational flows.

Technical decisions

  • I chose Laravel and PHP as the application foundation, with MySQL for data and queries.
  • I used Livewire and Filament for administrative modules and flows.
  • I integrated communications, files, documents, and permissions into the operational flow.
  • I kept the public repository sanitized so it shows the technical structure without exposing confidential information.

What was built

  1. Developed and maintained administrative modules and business features.
  2. Built and evolved flows from prospective-client intake through stages and process completion.
  3. Integrated automations, APIs, corporate email, documents, records, dashboards, and reports.
  4. Debugged, fixed, and validated changes in an internal system in use.

Operational flow

The CRM covers the full flow: prospective-client intake, follow-up, progress through stages, and process completion. It brings the necessary tasks together in one place.

Customer workflow view organized by CRM stages
The stage-based view shows how follow-up is organized within the operational workflow.

Conceptual architecture

Laravel and PHP support the application and business logic; Livewire and Filament organize administrative modules; MySQL manages data, relationships, and queries. APIs, automations, and documents connect within the relevant flows.

Modules and features

  • Administrative modules.
  • Business logic and features.
  • Prospective-client intake, follow-up, and stages.
  • Dashboards, statistics, charts, and reports.
CRM registration form for administrative data entry
The administrative form shows how information is captured and its input data is controlled.

WhatsApp / Meta

I automated messages through Meta / WhatsApp APIs within the relevant workflows. Public documentation does not expose tokens, private endpoints, or internal rules.

Corporate email

I integrated domain email accounts into the CRM so communication could be part of operational follow-up.

Users, roles, and privacy

  • Users, roles, and permissions.
  • Access control and privacy.
  • PIN-based access where the feature requires it.

Dynamic PDFs and records

The system generates PDFs and manages records within internal processes, keeping document information connected to the operational record.

ZIP export

Complete records can be exported as .zip files and shared or sent according to the authorized workflow.

Database and SQL

I also worked on the database, SQL queries, and the relationship between data and features. MySQL supports operational flows, documents, permissions, and reporting.

CRM operational reporting dashboard
Dashboards turn operational information into consultable metrics and reports.

Schedules

The CRM handles schedules as part of its operational logic. Internal rule details are not published.

Administrative work-session records in the CRM
Work-session records show tables, filters, and organization of operational information.

APIs, maintenance, and troubleshooting

The work included APIs, integrations, debugging, fixes, maintenance, and evolution. I reviewed the affected flow, isolated the cause, applied the change, and validated its effects inside the system.

Result and confidentiality

This case shows full responsibility for an operational platform. The original project is confidential; the public repository is sanitized and is not a complete copy of the original system.

Limits

  • I do not publish the company name, clients, internal rules, personal data, financial information, private endpoints, credentials, tokens, proprietary code, or sensitive security details.
  • The public repository is sanitized: it shows the technical structure without exposing data, credentials, private integrations, or confidential business logic from the original system.

Result

The result was a platform for centralizing follow-up, document management, communication, permissions, reporting, and administrative work. Internal results and metrics remain confidential.

What I learned

  • An enterprise platform is better understood through its workflows than through a list of screens.
  • Technical documentation should explain the work without exposing confidential information.
  • Maintaining a system in use requires business logic, data, integrations, support, and validation.

Technologies

  • Laravel
  • PHP
  • Livewire
  • Filament
  • MySQL

Links

  • View code on GitHub(opens in a new tab)