Custom ETL services
The pipeline somebody wrote in 2019 and then left
No DAG, no lineage graph, no vendor. A service that consumes a queue, batches, parses, maps and bulk-inserts — with the interesting behaviour spread across code, config files and a scheduler.
Shapes Decim understands
Queue consumers
A listener that batches on size or elapsed time. The batch id is your run, and its counts are the reconciliation.
Spool and handoff files
Memory-mapped files, staging directories, and other inter-process buffers that no diagram ever includes.
Config as routing
When a JSON or XML file decides which table a row lands in, that file is the pipeline — and it drifts from the database copy.
Bulk insert paths
The batch that fails, rolls back, retries row-by-row, and logs each failure somewhere nobody reads.
Retry and dead letters
Retry workers, error tables, and the cycle back into the parser. Rarely drawn, frequently the cause.
Multiple workloads, one service
Loading, events, aggregation and sync running on separate clocks in one process — and blocking each other.
Get started
Bring us a pipeline that broke last week
The fastest way to evaluate this is a real incident you already know the answer to. If Decim gets it wrong, that is a far more useful demo than one where it doesn't.