Inspiration

The inspiration for FinClose came directly from my daily reality as a Senior System Analyst at Thunes, where I work on critical financial services like "Operational Day Closing" and payroll processing. In traditional fintech systems, reconciliation is performed at the End-of-Day. If there are discrepancies between the expected payroll volume and the successfully disbursed volume, operations teams must manually investigate thousands of transactions at the end of the cycle. This manual resolution creates a massive bottleneck, blocking payouts and violating SLAs. I wanted to shift this paradigm from batch reconciliation to real-time exception resolution, eliminating the end-of-day bottleneck entirely.

What it does

As the System Analyst of the team, my primary goal was to prevent the common hackathon trap: "code first, think later." I structured the project around a robust event-driven architecture before a single line of backend code was written.

How we built it

Architecture & Contracts: I designed the C4 Context and Container diagrams and drafted the OpenAPI (Swagger) specifications for the REST API, alongside JSON Schemas for our Kafka topics. This ensured the frontend and backend teams were perfectly aligned from hour one. Event-Driven Core: We utilized Apache Kafka to stream payroll transaction events in real-time. Matching Engine: The core reconciliation logic continuously compares incoming source transactions against the destination ledger. It instantly identifies unmatched transactions and exceptions without waiting for the end of the day. Exception Resolver: When an anomaly is detected, the system instantly generates an Exception Payload via REST API and routes it to an operational dashboard, suggesting a resolution based on historical error patterns. Process Modeling: I mapped the AS-IS (manual batch reconciliation) and TO-BE (automated real-time resolution) workflows using BPMN notation to clearly demonstrate the business value to the judges.

Challenges we ran into

Zero Data Loss Under Load: Processing financial payloads requires absolute precision. During our end-to-end testing, we needed to validate high-throughput message streams without dropping a single payload. By optimizing Kafka consumer configurations and implementing idempotent database writes, we successfully validated over 150,000 payroll messages with zero data loss. API Contract Drift: In fast-paced hackathons, backend and frontend often diverge on API payloads. By enforcing strict OpenAPI contracts and using them to auto-generate mock servers, we drastically reduced integration friction. Minimizing Manual Intervention: Our goal was to drastically reduce human error. In my previous projects, automating payroll sheet generation reduced manual data entry errors by 64%. We applied this same logic to FinClose, automating the exception routing to significantly reduce the Mean Time to Resolution (MTTR) for operations teams.

Accomplishments that we're proud of

Zero Data Loss at Scale: We successfully processed and reconciled over 150,000 payroll messages via Apache Kafka during our end-to-end testing without dropping or duplicating a single financial payload. Flawless API Integration: By strictly enforcing OpenAPI (Swagger) specifications and JSON schemas from day one, we achieved 100% contract alignment between the frontend and backend. This eliminated the usual "integration friction" and allowed us to deliver a fully working UI-to-Backend flow in record time. High Reconciliation Accuracy: We reached a 98% automated reconciliation accuracy rate during our testing phase. By shifting from batch processing to real-time event streaming, we drastically reduced the volume of end-of-day discrepancies. Clear Business Value Mapping: As a team, we didn't just write code; we mapped the complex technical event-driven architecture into clear BPMN (AS-IS vs TO-BE) diagrams. This allowed us to clearly demonstrate the operational cost savings and SLA improvements to non-technical judges.

What we learned

The Multiplier Effect of a System Analyst: Hackathons are heavily skewed towards developers. Bringing a dedicated SA to the team who handles architecture (C4), API contracts (OpenAPI), and process modeling (BPMN) acts as a force multiplier. It allowed our developers to focus purely on business logic rather than guessing integration details. Event-Driven Reconciliation Patterns: I deepened my technical understanding of how to handle state in distributed systems. Moving from synchronous checks to asynchronous Kafka event sourcing fundamentally changed how I think about financial data consistency. Business Value over Tech Hype: The most successful hackathon projects aren't just technically complex; they solve a painful, expensive business problem. By grounding FinClose in real-world payroll discrepancies, we built a solution capable of achieving 98% reconciliation accuracy, which judges could immediately understand and value.

What's next for FinClose API: Real-Time Payroll Reconciliation

AI-Powered Exception Routing: We plan to integrate Machine Learning models to analyze historical error patterns. Instead of just flagging an exception, the system will automatically suggest the most probable root cause and the optimal resolution path for the operations team. Automated Remediation (Self-Healing): For known, low-risk exceptions (such as minor rounding differences or standard timezone delays), the system will automatically generate and execute corrective journal entries without requiring manual human approval. Multi-Currency & Cross-Border Support: We aim to expand the reconciliation engine to handle complex Foreign Exchange (FX) rate fluctuations and cross-border payroll discrepancies in real-time, ensuring accurate matching even when currency conversions are involved. Enhanced Observability & Proactive Alerting: Integrating with monitoring tools (like Prometheus or Datadog) to provide real-time SLA tracking. The system will proactively alert management if the reconciliation latency exceeds the 2-second threshold, preventing bottlenecks before they impact payouts.

Built With

  • agile
  • api
  • architecture
  • bpmn
  • business
  • c4
  • draw.io
  • event-driven
  • fintech
  • json
  • kafka
  • microservices
  • openapi
  • payroll
  • plantuml
  • postgresql
  • postman
  • reconciliation
  • sql
Share this project:

Updates

Submission history