Anélja
St. Clair-Whicker

I find what is broken, build the fix, and then run it.

Day 1from first line to production
40releases in the 36 days after
4connected systems, built solo
54boxes through Box Clever so far
Anélja St. Clair-Whicker

How I actually work

I see the whole shape of a problem before I see the parts. That is a real advantage when nobody has worked out what the problem is yet, and a real liability when the job is repetitive admin — so I built my working method around it rather than pretending otherwise.

I hold the concept, the architecture and the standard. AI takes the structured grind: specification, documentation, the first pass of code. I read it, correct it and decide. That is how a delivery system goes from nothing to production in a single day, and to forty screens in five weeks, built by one person.

I had it measured properly. My NBI profile puts R1 — the imaginative, big-picture quadrant — at 89, a high preference. The other three sit in the average band, and the report’s own words are that I use them in support of the dominant one. That is precisely how the work goes.

66 L1 89 R1 72 L2 73 R2
  • R1 — 89, high preference. Holistic and conceptual, constantly looking for alternatives, challenges the status quo, gets excited about starting things. Imagineer 69%, Strategist 31%. This is where the systems nobody asked for come from.
  • R2 — 73, average. Informal, story-led communication. Training people, client conversations, getting a team onto something new. Empathiser and Socialiser evenly split.
  • L2 — 72, average. Organiser 62%, Preserver 38% — I will build the system, I will not defend the old one. Detail and procedure get attention as far as they serve the bigger thing.
  • L1 — 66, average. Analyst 56%, Realist 44% — enough to interrogate the data and make the call without waiting for certainty.

Neethling Brain Instruments, NBI Adult profile, February 2023. Total across the four quadrants is always 300. The instrument asks that profiles be read by category rather than exact score — mine is one high-preference quadrant and three average ones.

Four surfaces, one core

Everything below was built for one PPE and workwear supplier, on one accounting and inventory core, mostly unprompted. Together they cover the whole chain: a customer asking for a price, the order being packed, the delivery being signed for, and a specific worker collecting a specific pair of boots on a mine site.

The same idea sits under all four. The data already exists — it is just in the wrong shape for the person who needs it. Products are flat invoice lines; a customer needs grouped products with sizes. Orders are line items; a packer needs boxes. Deliveries are invoices; a driver needs a signed record with a photo. Stock is a ledger; a worker needs to know what they are allowed to take.

They were built in that order, over about seven months. The catalogue came first, in April 2026, and building it meant learning how the business structures its products and how its accounting system actually behaves. By the time I turned to the internal operations at the end of September, I already knew the core — which is why delivery, packing and issuing took five weeks rather than five months.

From April 2026 · the customer-facing surface

Catalogue & Quote Platform

The public catalogue, a custom workwear builder and a quote flow that lands as a real draft estimate in the supplier’s accounting system. Around 10,800 lines across 50 modules, reading from two Zoho APIs and writing back through one.

What was broken

  • Products live in the accounting system as flat, ungrouped invoice lines — “boot, grey, 06” and “boot, grey, 07” are separate records. Nothing a customer could browse.
  • Quote requests arrived as emails and had to be retyped into the accounting system by hand.
  • Custom workwear enquiries had no way to express fabric, colour, reflective tape and logo placement, so every one started as a conversation from scratch.

How I thought about it

  • Group on the way out, not by hand. The plugin reads a product-name field where one exists, and otherwise parses each item name into product, colour and size. It handles two-tone colour codes, hyphenated sizes, colour words before or after the size, and sorts sizes properly so S comes before L and numerics ascend.
  • Never silently drop a duplicate. Where the same product, colour and size appear twice, one is kept — in stock first, then the most complete record, then the oldest — and every hidden item is listed in an admin report rather than disappearing.
  • Swap only on success. The daily sync reads every active item in pages, writes to a staging table, and only replaces the live catalogue when the whole run completes. A failed sync leaves yesterday’s catalogue standing.
  • The website never prices anything. A quote request becomes a draft estimate at zero value for a human to price, with the customer’s details attached as an internal comment that never reaches the customer’s PDF.
  • Never blocking. In the workwear builder, a line that fails a stock or minimum-order rule still reaches the rep, carrying the reason. The rule informs; it does not refuse.
  • Degrade, do not fail. Requests are saved on the site first and pushed with retries. If the accounting system rejects a salesperson name the quote is created without it and the fix is logged; if sign-in breaks the team is emailed and requests queue until it works again.
10.8k
Lines of code
50
Modules
2
Zoho APIs
200
Items per sync call
300
Max quote lines

Live and public. The link is held back for now because it names the client, and the three systems below are written up anonymously.

30 September 2026 · for a PPE and workwear supplier

ShipShape

A delivery and proof-of-delivery system. Drivers capture signed PODs on their phones, the office schedules and tracks every delivery, managers get a live dashboard and a report every night.

What was broken

  • Delivery status lived in spreadsheets and personal chat messages, so nobody had one view of what was packed, scheduled, out or delivered.
  • A copy of the invoice doubled as the proof of delivery, so there was no signed record with a time, photos or exceptions.

How I thought about it

  • Off-the-shelf first, for months. From April I installed and trialled ready-made delivery apps instead of building anything. None of them fitted how the business actually worked. In the same months I was building the catalogue, which meant learning their product data and their accounting system from the inside — so by the end of September I knew both the problem and the core it had to sit on. That is why the first version went live the day I started writing it.
  • One record, end to end. The same delivery moves from packed to scheduled to out to delivered, so every screen and every report agrees.
  • Build for the floor, not the demo. Username and PIN sign-in, because warehouse staff have no company email. Offline capture, because signal on the road is not a given.
  • Nobody asked for it. I saw it, scoped it and built it.
ShipShape architecture at product level
The server pulls orders from the accounting system, hands transfers to the PPE store app, and serves the office and the drivers. Product level only — no addresses, keys or identifiers.
40
Screens
18
Permissions
22
Roles
30
Active accounts
10
Teams
8
Systems connected
70
Training lessons
The day at a glance: live counts, urgent deliveries, on-time in-full performance.
The day at a glance: live counts, urgent deliveries, on-time in-full performance.
Every delivery traced from sales order to signed POD.
Every delivery traced from sales order to signed POD.
Planning the week — drivers and vehicles assigned, unscheduled work on the left.
Planning the week — drivers and vehicles assigned, unscheduled work on the left.
A delivery in progress shows its stage and the next step.
A delivery in progress shows its stage and the next step.
A completed delivery: ordered, shipped, received, with chain of custody.
A completed delivery: ordered, shipped, received, with chain of custody.
Proof of delivery — receiver, signature, photo, every step time-stamped.
Proof of delivery — receiver, signature, photo, every step time-stamped.
Exceptions raise themselves when a delivery is short, damaged, refused or failed.
Exceptions raise themselves when a delivery is short, damaged, refused or failed.
Driver and vehicle incidents, with severity and investigation status.
Driver and vehicle incidents, with severity and investigation status.
A delivery stays open until the warehouse confirms what came back.
A delivery stays open until the warehouse confirms what came back.
Sales returns from invoice through to credit note.
Sales returns from invoice through to credit note.
Drivers and vehicles: roadworthiness, defects, daily checks.
Drivers and vehicles: roadworthiness, defects, daily checks.
Username and PIN sign-in, so warehouse staff need no company email.
Username and PIN sign-in, so warehouse staff need no company email.
Eighteen permissions combined into roles, one per team.
Eighteen permissions combined into roles, one per team.
On a driver’s phone: only their own deliveries, vehicle check, after-trip report.
On a driver’s phone: only their own deliveries, vehicle check, after-trip report.

Every screen shows invented test data loaded into the browser for these shots. No real customers, staff, orders or company names appear, and nothing was saved to the live system.

Live 2 November 2026 · warehouse floor, same supplier

Box Clever

The packing end of the same delivery record. Packers split each order into boxes on screen, a weigh-and-label station weighs every box and prints its label, and a dashboard shows the day’s packing at a glance. It feeds ShipShape, so every box can be traced from packing to a signed delivery.

What was broken

  • Packers wrote every product’s SKU, name and quantity out by hand on a pre-printed, colour-coded label and taped it to the box with clear tape.
  • Nothing recorded what was actually in a box, so a disputed delivery came down to whose memory you believed.
  • No box weights, and no way for a manager to see how packing was going until the day was over.

How I thought about it

  • The app does the saving. Packers get a permission profile that opens only the packing screens, and every change goes through the app’s own functions, so records cannot be edited by hand.
  • One scan to the right box. The station finds a box from the barcode on its contents sheet, so nobody types box numbers under pressure.
  • Reprints are accountable. A label printed again needs a reason, and every print records who labelled the box.
  • A recorded way round the station. If the weigh step gets skipped, the app asks who and why, then lets the packer weigh and print instead. People will always find a way round; better it leaves a trace.
  • Write before the door closes. The accounting system locks a package the moment it ships, so the order of operations is the whole game: the final packing values are written first, and only then is the shipment created. Two things can start that check — the invoice being sent, or the last label being printed — so a package finished after invoicing still ships by itself. A package still being labelled is never shipped; dispatch is told instead. Other teams’ packages are left to the existing manual process, and the whole thing is safe to run twice.
  • A known gap beats a silent one. Packages shipped before that fix existed can never be updated — the accounting system has locked them for good. Rather than let those disappear the moment the retries stopped, a report lists each one with its reason, so the gap is recorded rather than forgotten.
  • Retry, but know when to stop. A nightly job retries any write-back the accounting system rejected. Some rejections can never succeed, so the system recognises those, records that it has stopped trying, and goes quiet rather than failing into the log every night forever. Recoverable errors keep retrying, and no audit row is ever deleted.
  • Write only when something changed. Each write compares against what was last sent, so labelling twenty-three boxes of a twenty-four-box order costs no API calls at all, and a reprint only writes if the weight or the labeller actually differs.
Box Clever architecture at product level
The screens never write records directly. Everything goes through the server’s functions, which read orders from the accounting system, write updates back, and hand ShipShape the box list for each delivery.
47
Server functions
13
Custom APIs
10
Data forms
25
Versions in 36 days
2
Printed outputs
11
Training lessons
Packed, labelled, waiting to label and weight shipped — hour by hour and per packer, for any date.
Packed, labelled, waiting to label and weight shipped — hour by hour and per packer, for any date.
Packing in progress: each order line split across boxes, with what is still left to pack.
Packing in progress: each order line split across boxes, with what is still left to pack.
Allocation complete — every line packed, next step is printing the contents sheets.
Allocation complete — every line packed, next step is printing the contents sheets.
Weigh and label station: scan the sheet, enter the weight, print the label.
Weigh and label station: scan the sheet, enter the weight, print the label.
The whole package at once — weights for every box and what is already labelled.
The whole package at once — weights for every box and what is already labelled.
Box labels: box X of Y, units, weight, barcode and QR code, with an expiry warning where needed.
Box labels: box X of Y, units, weight, barcode and QR code, with an expiry warning where needed.
The A4 contents sheet that goes inside the box, so the customer can check it on arrival.
The A4 contents sheet that goes inside the box, so the customer can check it on arrival.

Live since 2 November 2026 with one packing team. Fifty-four boxes recorded to date, twenty-one of them since go-live, eighteen weighed and labelled at 157.9 kg. Count published with the client’s approval. Screens rendered from the real app code with invented test data on a test machine; the company name and logo on the printed label and insert are replaced with a demo name.

Rolling out from November 2026 · mine sites, same supplier

Kitroom

The PPE store, run properly. Who may collect what, issuing at the counter, signing, returns, stock counts, top-ups and deliveries — with every signed issue invoiced in the accounting system automatically.

What was broken

  • An Excel application with macros on each store PC, posting to a desktop accounting package on that same machine. Every site was its own island.
  • An older low-code app elsewhere that had reached its limits for speed and volume.
  • The rules for who may have what lived in spreadsheets and were checked by hand, with extras approved by note, letter and email.
  • Head office could not see stock, issues or counts until someone sent a file, so top-ups were guesses.

How I thought about it

  • The matrix decides, people approve. Nothing beyond an allowance is issued without an approval or a written reason, and every exception is labelled in the basket and in that person’s history.
  • Everything happens once. Stock moves, invoices and accepted deliveries each carry a unique key, so a double tap, a retry, or a sign-off arriving from two apps can never count twice.
  • The accounting system stays master. Kitroom prepares and checks; it never places, voids or deletes.
  • Money stays at head office. Store and mine users never see prices — not on screen, on slips, in exports, or in error messages.
Kitroom architecture at product level
People only ever use Kitroom in a browser. It posts invoices and credit notes to the accounting system, reads stock and transfer orders back, and swaps deliveries with ShipShape over a signed link.
150+
Automated tests
11
Functional areas
every 5 h
Fit-for-duty check-in
permanent
Demo environment
At the counter: scan a card or type a company number.
At the counter: scan a card or type a company number.
What the person may still collect, against what the store actually holds.
What the person may still collect, against what the store actually holds.
The basket after checking — every line labelled by where the entitlement came from.
The basket after checking — every line labelled by where the entitlement came from.
Signed for on screen, issue number given immediately.
Signed for on screen, issue number given immediately.
Fit for duty — confirmed at shift start and every five hours.
Fit for duty — confirmed at shift start and every five hours.
The same counter on a phone.
The same counter on a phone.
Returns, each item tied to the issue it came from.
Returns, each item tied to the issue it came from.
Stock on the shelf against what the store should hold.
Stock on the shelf against what the store should hold.
Stock counts planned per store — full, cycle or spot.
Stock counts planned per store — full, cycle or spot.
Deliveries on their way from head office, ready to accept.
Deliveries on their way from head office, ready to accept.
A send-back, with a reason recorded per item.
A send-back, with a reason recorded per item.
The matrix: how much of each item every role may have, and how often.
The matrix: how much of each item every role may have, and how often.
Top-ups: the rules per store and the weekly calculation.
Top-ups: the rules per store and the weekly calculation.
Every delivery and send-back across stores.
Every delivery and send-back across stores.
The fit-for-duty record, searchable by date.
The fit-for-duty record, searchable by date.
A read-only overview for area managers.
A read-only overview for area managers.

Screens come from a private demo copy filled with invented data: a made-up mine, two stores, forty fictional people, two months of pretend history, wired to a simulated accounting system. Names, prices and codes were replaced before each shot, and every image was re-saved so no metadata travelled with it.

Also built

Concept-to-Launch OS

Live — sold commercially

A six-phase product methodology packaged as a Notion and ClickUp system. Built AI-assisted, then I ran its own launch through its own method before selling it.

Grocli

In build

An AI grocery-planning service for South African shoppers. Accounts, AI-drafted weekly plans with a human approval step before anything publishes, subscription billing.

The Wagging Line

Live — selling internationally

A print-on-demand business I run end to end: range, pricing, listings and fulfilment across three platforms, catalogue managed through the production API.