
Every Aquanow client and transaction has to pass compliance screening: checks that compare people, companies, and crypto wallets against sanctions lists and risk databases. When a screening flags a risk, a compliance analyst reviews the case and decides whether the money can move.
As volume grew, keeping up meant hiring more and more analysts. To stay compliant without operating costs climbing with it, the company made automating compliance a top priority.

Analysts screened clients and transactions with several external services, stored information in Google Drive, and made decisions in yet another platform. Every switch added time and room for error, and slower reviews forced the company to keep hiring analysts.

The dev team was eager to start building, but compliance was new to all of us. I pushed to map how compliance works end to end before committing to any feature, so the team could see the full scope and every feature would land where it belongs.




Mapping the IA helped the team picture the “end game” for this product and agree on the MVP skeleton: client > transaction > screenings.
Since then, the site map has been our blueprint whenever a new feature comes up. 12 features later, the platform still hasn’t needed a major restructure.

Each external tool presented results and actions differently, so analysts had learned a separate way to use each one. Bringing those checks into one platform meant giving analysts a familiar way to understand the findings and act on them, while preserving the details specific to each check.

I first placed screening results directly in the wallet details so analysts could see what was wrong at a glance. In review, the PM spotted two gaps: once more checks arrived, results and actions would be hard to tell apart, and hiding results after a decision would make past reviews hard to revisit.
To get ahead of both, I stress-tested the layout against the screenings on our roadmap. The answer was to give each check its own section within the wallet, so multiple screenings can sit side by side and every result stays on record for audits.

For accurate reviews, clear results alone weren’t enough: analysts also needed to know whether a check was still running, needed their judgment, or had failed to complete.
That’s why I worked with backend engineers to map the screening lifecycle and define the information and actions available at each state. For example, analysts can tell a system error from a risky result at a glance, and they always have a way to recover.

Six months after v1, more screenings had shipped, and their details had drifted apart: some showed who reviewed them and when, others didn’t. I proposed a standard pattern with a shared core for status, review details, and actions, plus room for each check’s own findings. We rolled it out across every compliance check, from transactions to onboarding to client monitoring.
