← Back to selected work

professional system · Case study

DebtBox: Building a Fintech Backend from Feasibility to Production Readiness

I shaped DebtBox's backend from technical feasibility through soft launch and production readiness using pragmatic architecture and explicit provider boundaries.

Classification
professional system
Project
DebtBox
Role
Founding Backend Engineer
Timeline
August 2025–present

Key evidence

Results at a glance

  • Designed the modular backend foundation and correctness-sensitive debt and payment workflows.
  • Integrated Nafath and shaped technical workflows involving Nafith and other providers.
  • Deployed the KSA-hosted MVP infrastructure and delivery foundation.

Technology

  • Node.js
  • NestJS
  • TypeScript
  • PostgreSQL
  • Redis
  • Docker

Simplified conceptual view

Conceptual fintech backend and provider boundaries

  1. Merchant and customer workflows

    Product actions enter through explicit backend contracts

  2. DebtBox backend

    A modular monolith containing debt, pricing, payment, settlement, and trust workflows

  3. PostgreSQL and Redis

    Application state and supporting runtime concerns

  4. Background work and provider adapters

    External contracts remain separate from the core domain model

  5. Identity, note, payment, and messaging providers

    Includes integrated Nafath identity verification and technical workflows involving Nafith

This intentionally high-level view communicates the relevant boundaries without representing the complete production architecture.

Summary

I joined DebtBox as Founding Backend Engineer and designed the backend foundation from technical feasibility through soft launch and production readiness. My work covered product discovery, architecture, core financial workflows, provider boundaries, infrastructure, and delivery planning.

DebtBox is a team-built product. This case study describes my backend ownership without implying company-wide ownership, regulatory approval, market adoption, or production scale.

Project context

DebtBox began with product questions that had direct technical consequences: how debt and payment states should progress, which external providers could support the intended workflows, what needed to be built for an MVP, and how to preserve room for provider change.

The backend had to support correctness-sensitive workflows while the product and integration landscape were still developing. That made feasibility work, explicit boundaries, and delivery sequencing as important as implementation.

My role

As Founding Backend Engineer, I:

  • worked directly with the CEO on feasibility, provider selection, MVP definition, and delivery planning;
  • designed the modular-monolith backend and its provider-adapter boundaries;
  • built and shaped pricing, debt-lifecycle, payment-processing, settlement, and trust-related workflows;
  • applied idempotency, transactions, and data-consistency principles;
  • integrated Nafath for digital identity verification and collaborated on technical workflows involving Nafith electronic promissory notes; and
  • designed and deployed the KSA-hosted MVP environment.

Product direction and delivery were collaborative. My ownership was the backend foundation and the technical decisions within that scope.

Problem

The product needed a backend that could express financial workflow state clearly, protect important transitions, integrate with several categories of external provider, and reach MVP readiness without prematurely splitting the system into independently deployed services.

At the same time, provider choices were not equally mature. Some functionality was implemented, some required technical collaboration or evaluation, and commercial or regulatory dependencies could change outside the codebase.

Scale and constraints

The approved scope covers technical feasibility, implementation through soft launch, and production readiness. No user count, transaction volume, revenue, adoption, reliability percentage, certification, or regulatory approval is claimed.

Private provider contracts, APIs, credentials, infrastructure identifiers, and unfinished commercial arrangements remain outside this case study.

Technical challenges

Correctness-sensitive state changes

Debt, pricing, payment, settlement, and trust workflows involve transitions that should not be applied twice or left partially complete. The backend needed explicit transaction and consistency boundaries.

Provider variability

Payments, identity, messaging, and government-service integrations expose different contracts and change for reasons outside the product. Coupling them directly to core workflows would make product logic harder to test and providers harder to replace.

Early-stage delivery pressure

The architecture needed enough structure to protect important invariants without imposing the operational cost of a distributed system before the product required it.

Infrastructure readiness

The MVP needed a repeatable KSA-hosted environment for the application and its data services while keeping topology and operational identifiers private.

Decisions and trade-offs

Start with a modular monolith

I chose a modular monolith to keep deployment and transactions manageable while maintaining clear domain boundaries inside the application. Separate services could be introduced later around proven operational boundaries. The trade-off was the need to enforce module discipline within one deployable system.

Put providers behind adapters

Payment, identity, messaging, and government-service concerns were represented behind replaceable adapters. This added interface and mapping work, but prevented one provider’s contract from becoming the product’s domain model.

Make correctness controls part of workflow design

Idempotency, transactions, and data-consistency rules were treated as part of each important workflow rather than added as generic infrastructure. The exact implementation remains private, but the goal was clear: repeated requests and partial failure should not silently produce duplicate or contradictory state.

Implementation approach

The backend was organized as a modular monolith with domain-oriented boundaries and adapter layers for external providers. I worked on the pricing, debt-lifecycle, payment, settlement, and trust flows, using transactional and idempotent approaches where state changes required them.

Nafath identity verification was integrated. I also collaborated on the technical workflows around Nafith electronic promissory notes; this wording does not claim that every related commercial or product dependency was complete.

For production readiness, I designed and deployed KSA-hosted MVP infrastructure using Docker, PostgreSQL, Redis, Nginx, and automated TLS. Provider, cloud-vendor, network, and deployment details are intentionally omitted.

Outcomes

  • A backend foundation carried from feasibility through soft launch and production readiness.
  • A modular architecture that kept the MVP operationally simple while preserving domain and provider boundaries.
  • Core financial workflows shaped around explicit correctness and consistency concerns.
  • An implemented Nafath identity-verification integration and technical collaboration on Nafith promissory-note workflows.
  • A deployed KSA-hosted MVP environment for the team-built product.

These are delivery outcomes, not claims about adoption, transaction scale, certification, or regulatory status.

Reliability, security, and operational considerations

Financial workflow reliability depends on explicit state transitions, safe retries, transaction boundaries, and careful handling of provider responses. Infrastructure and integration secrets must remain outside source and public documentation. This case study therefore explains decisions and responsibilities without publishing private payloads, contracts, credentials, topology, or code.

Lessons and trade-offs

  • Feasibility work is part of backend engineering when product behavior depends on external providers.
  • A modular monolith can preserve important boundaries without adopting distributed operational complexity too early.
  • Provider adapters protect the domain only when implemented and planned states are described honestly.
  • Correctness mechanisms are most useful when tied to a specific workflow and failure mode.

Technologies in context

PostgreSQL and Redis supported application state, while Docker, Nginx, and automated TLS supported the MVP environment. Their value came from the workflow boundaries, consistency decisions, and delivery constraints they served.