A client’s team was entering thousands of event records by hand — well over a hundred hours per cycle, with errors creeping in at every step. The fix wasn’t a bigger team. It was a small, boring, purpose-built import system.
Why generic importers weren’t enough
Off-the-shelf CSV importers assume clean data and simple fields. Real business data has neither: inconsistent columns, duplicate rows, relationships between records, and rules only the team knows. A generic tool imports the mess faithfully.
What the custom plugin did differently
- Validated every row against the business rules before anything was saved
- Batched processing so large files never hit a timeout
- De-duplicated against existing records instead of creating copies
- Showed progress and a review screen so a human approved the result
The measured outcome: the same cycle now takes about two hours, most of which is review. The lesson generalises — when a workflow burns real hours every month, purpose-built admin tooling usually pays for itself on the first run.
Related implementation
See how the ideas map to working code.
The public repository connects the article’s architecture, security, REST, blocks, CLI, privacy, testing and CI concepts to working code.