Loading
← All work

Enterprise workflow · Systems Limited, 2026 – PresentQualification Certificate Workflow

Built the Qualification Certificate workflow end to end: an investor applies, an admin reviews, an approver decides, and an approved QC is reported to an external system and announced.

Company

Systems Limited

Role

Product Engineer

Period

2026 – Present

Stack

.NET 9, ABP.io

3 rolesinvestor, admin reviewer, approver
End to endapplication to issued certificate
how it workshow it works

Investor, reviewer, approver, and every way back

Pick a step to replay it

Investorapplies in stepsAdminreviewsApproverdecidesExternal systeminformedRejectedNotificationsQC issued1submit2corrections3reviewed4rejectreturn5approve

The problem

A QC application passes through three roles and can be sent back more than once, but has to end the same way every time: a decision on record, and an issued certificate the external system knows about.

What I built

  1. Multi-step investor application, covering eligibility for the QC and selection of company representatives
  2. Company representatives can later add card details on the company's behalf through HyperPay, and view the company dashboard
  3. Admin review: the admin can send the application back for corrections, and the investor corrects and resubmits it
  4. Approval: the approver can reject, return the application to the reviewer, or approve it with a comment
  5. On approval, the external system is informed and notifications go out that the QC has been issued
  6. Role-based access control for investors, representatives, admins, and approvers

Stack.NET 9, ABP.io, Angular, DDD and HyperPay

written upwritten up

Read the engineering note

next case studynext case study

Investor and Admin Dashboards: One API per Dashboard

Platform & analyticsSystems Limited, 2026 – Present

Investor and Admin Dashboards: One API per Dashboard

Nine dashboards, 4 for investors and 5 for admins, draw their data from another system's APIs. I centralised those calls in our ABP.io backend, so each dashboard makes one call, with a short-TTL cache in front.

9dashboards: 4 investor, 5 admin

Built with.NET 9, ABP.io, Caching and Angular

Read case study

Building something that has to work on the first attempt?

Open to product, full stack & backend roles.

Let's talk