Chartered Accountant · New York

Wai Yin Choi

Finance systems, controls, and a workbench of things I’m making.

02 / Experience

Experience.

The work so far.

2015 — Present New York Current UNICEF Finance Specialist → Budget Specialist Finance systems, budgets, and controls across UNICEF’s global operations. HACTIPSASSAP FioriPower BI

2021 — Present

Budget Specialist

  • Lead cross-functional budget and position work across accounting, grants management, IT, and HR.
  • Build Power BI dashboards and maintain the Python standard-cost model; develop the policy and SOPs around both.
  • Development-team member for UNICEF’s SAP Fiori budget formulation tool, replacing a long-standing legacy planning database.
  • Guide field offices on annual, ad-hoc, and multi-year budgeting; review submissions before ERP implementation.

2015 — 2021

Finance Specialist

  • Managed HACT transaction support and the eZHACT tool; worked with IT on automated controls that reduced manual checks and support requests.
  • Drafted and reviewed accounting policies and procedures across Finance and IT, aligning them with IPSAS and internal control requirements.
  • Led monthly SAP closures and year-end reconciliation with country offices; trained country and regional teams.
  • Helped shape UNICEF’s Global Shared Services Centre, defining SOPs, core deliverables, and cost-recovery inputs.

Secondment · 2020

Grants Specialist, Donor Management Unit

  • Recorded donor conditionality, cleared donor receivables, and managed US-funded reimbursement claims.
  • Built Power BI dashboards for fund-flow monitoring and supported the team’s shift from transactional work to oversight.
2006 — 2015 Pretoria Auditor General of South Africa Auditor → Audit Manager Public-sector audit from trainee to manager, including a secondment to the United Nations Board of Auditors in New York. UN Board of AuditorsIFRSPublic sector

2010 — 2015

Audit Manager

  • Managed a portfolio of government audit engagements and led audit teams.
  • Assessed financial reporting and controls against IFRS and GAAP; presented findings to executives, accounting officers, and audit committees.
  • Authored management and final audit reports; mentored and coached team members.

Secondment · New York · 2009 — 2010

Assistant Audit Manager, UN Board of Auditors

  • Represented South Africa on the United Nations Board of Auditors, auditing UN entities including peacekeeping operations, UNDP, UNFPA, and UNJSPF.
  • Applied UNSAS and IPSAS; worked with international audit teams and assessed management judgment against UN Financial Regulations and Rules.
  • Conducted field audits in high-risk environments while maintaining audit quality and professional skepticism.

2006 — 2010

Assistant Audit Manager / Auditor

  • Led small and medium engagement teams on government entities and agreed-upon procedures.
  • Built risk-based audit programmes, reviewed working papers, and mentored junior auditors against IRBA quality requirements.

Toolkit

The things behind the record.

Programming & data

  • Python
  • SQL
  • Power Query / ETL
  • Power BI
  • Excel / VBA

Financial systems

  • SAP / ERP
  • SAP Fiori
  • HACT
  • Budget formulation

Accounting & compliance

  • IPSAS
  • IFRS
  • GAAP
  • UN Financial Regulations & Rules

AI & automation

  • Local LLMs
  • Agentic workflows
  • Claude Code
  • DeepSeek Harness
  • Hermes Agent

03 / Hello

Hello.

Audit, international finance, and a growing workbench.

Welcome to my space! For years I've had more ideas than time to build them. Agentic AI closed the gap. But just as quickly as I realized how capable they are, I found the limit: focus. Trained on everything, they go off track easily.

The advantage isn't access to AI any more. It's having a bird's eye view, anticipating the pitfalls, spotting the gaps while it's still working, and straightening it out when it drifts. Most of all, it's review by interview: questioning the agent on what it understood, what it assumed, how it got there, and what it left out — and then challenging the answers.

I'm a chartered accountant by trade: twenty-plus years of audit and financial systems. That's where review by interview comes from — and it's the part of the job that transfers best.

04 / Contact

Get in touch.

Email is best. No form, no newsletter, no list.

Workbench / cardigan_money

cardigan_money.

A local-first, encrypted credit-card ledger for macOS.

Status

Personal project; early

Stack

Tauri 2, React, TypeScript, Rust, SQLCipher

Data

Encrypted at rest; no account, cloud, or telemetry

Recovery

No passphrase recovery, by design

Personal project · Local-first. One of the things on the bench.

What it is

A macOS app for one person’s credit-card balances and calendar-month spending. The ledger is encrypted with SQLCipher; the passphrase and provider tokens stay in Rust and the macOS Keychain; there is no account and no cloud sync.

Why local-first

Most personal finance apps begin with an account and a sync service. A credit-card ledger is exactly the kind of data that should not need either. Local-first was the design constraint, not a feature added at the end.

What I learned

Privacy is architecture. Key management, recovery, backups, and the boundary between the UI and the encrypted store are the product.

The app is early, not distribution-ready, and has no passphrase recovery. It is a personal project about learning local-first engineering and agentic development.

What it shows

The best data protection is not collecting the data. The second best is keeping it where the user can hold it.

View the repository

Early and personal. Interfaces, storage formats, and behavior can change.

Privacy & colophon

The short version

Privacy, by default.

This site is a static document. There is no account, no analytics, no advertising, no newsletter, and no contact form. Nothing here is trying to follow you.

No consent banner, because there is nothing to consent to.

The data ledger

WhatWhereWhyHow long
Theme choice Your browser’s localStorage Remembers light or dark mode Until you clear it
Request metadata Cloudflare, the host Delivers the site and protects it Cloudflare’s retention
Email Gmail / Google Lets me reply to you Only while we correspond
External click LinkedIn or GitHub Opens their site Their policies apply

Not collected

  • No analytics, cookies, pixels, or advertising.
  • No third-party scripts, fonts, or embeds at runtime.
  • No account, comments, newsletter, or contact form.
  • No GitHub request from your browser. Repositories are synced at build time.
  • No phone number, references, or private project links on this site.

Cloudflare and email

Cloudflare hosts the site and processes standard request information — such as IP address, user agent, and the page requested — to deliver and protect it. I do not have a visitor-level analytics view.

If you email me, the message is processed by Gmail. I keep it to reply and do not add you to a list.

Colophon

Built with Astro as static HTML. Hosted on Cloudflare Pages. Type set in Fraunces, IBM Plex Sans, and IBM Plex Mono, all served from this domain. No third-party runtime requests. No tracking.

Views are my own. Last reviewed October 2026.