Selected work

02 / Case study

Arcline

A full-stack financial platform designed around structured workflows, reliable data handling and clear system boundaries.

  • Full-stack Engineering
  • Financial Systems
  • Backend Architecture
  • Data Integrity
Arcline financial operations interface with invoice and payment workflow views

Overview

The project in context.

Arcline is an independent full-stack financial platform built around the parts of transactional software that demand careful system design: state, isolation, retries and recovery.

It connects product workflows to tenant-aware financial records, background processing and explicit transaction states so the interface and backend describe the same operational truth.

The problem

Financial workflows depend on system correctness.

Products dealing with invoices, payments and transaction history need more than a polished interface. The system underneath has to maintain consistent state, protect data boundaries and behave predictably when an operation is attempted more than once.

Arcline was built around those engineering concerns, treating correctness and recovery as part of the product experience.

System model

Built as one connected system.

  • Tenant-aware records: Organisation context is validated before leases, invoices or payments are processed.
  • Invoice workflows: Recurring billing is scheduled and processed through background jobs with explicit invoice states.
  • Payment handling: Signed webhook events update payments, allocations and invoice state inside a database transaction.
  • Ledger integrity: Append-only entries preserve the financial events created by invoices and payments.
  • Recovery paths: Reconciliation scans and unallocated-payment handling provide routes back to a known state.

Engineering decisions

Correctness belongs in the system model.

Financial side effects cannot depend on a request arriving exactly once or two processes never touching the same record. Arcline makes those guarantees explicit in jobs, constraints, transactions and validation boundaries.

  • Idempotency: Deterministic keys prevent repeated invoice jobs or webhook deliveries from creating duplicate financial effects.
  • Transactional updates: Payment recording, allocation, invoice state and ledger creation succeed or fail together.
  • Concurrency control: Row-level locking protects invoice generation and payment processing that should not run simultaneously.
  • Tenant and currency boundaries: Organisation ownership and matching currency are validated before financial state changes.

Trade-offs

Designing for predictable behaviour.

  • Immediate requests vs background work: Recurring invoice generation moves outside the request path so retries and recovery can be handled deliberately.
  • Flexible models vs financial invariants: Database constraints narrow what the system can accept in exchange for more dependable state.
  • Convenience vs tenant isolation: Every financial operation carries organisation context rather than relying on broad access to shared records.
  • Instant certainty vs reconciliation: Delayed or conflicting external events are made reviewable instead of being hidden behind a premature success state.

Reflection

What Arcline represents.

Arcline represents the systems side of my engineering work: designing software where correctness, data boundaries and predictable behaviour matter as much as the interface people interact with.

Technology

Built for transactional reliability.

  • Next.js
  • TypeScript
  • NestJS
  • PostgreSQL
  • Redis
  • BullMQ

Next project · 03

Verdea AI

Image-based freshness insight that helps make waterleaf quality and storage conditions easier to understand.

View case study