How we work
Code first
Integration you can compile, test, and own — because we write it as code.
Most integration tools hide the work behind a canvas. That is fine until a rule is awkward, a source lies, or someone has to change the job six months later. We bring ETLBox so week one is your sources and your rules — not building a toolkit from scratch. The library has AI support. Because the work is code, AI can help us write it, and we can put AI into the flow where it actually pays off.
Code-first
You own the code
- ETLBox
- C# / .NET
- TDD — tests before the flow
- AI can read, write, and review it
- Custom solutions, no canvas ceiling
- Diff it, build it, keep it
Low-code
You rent the tool
- SSIS · ADF · Talend · Alteryx
- Drag & drop until the rule is ugly
- Hard to test, harder to review
- A canvas AI cannot see into
- Vendor limits and license lock-in
- The job lives in someone else’s product
Why testable ETL is a better result
If the flow is code, it can have tests. We do not wait for a nightly run to learn that a null in column 14 broke the load. We use TDD: write the test for the rule, watch it fail, then write the transform.
Catch it in CI
A renamed API field, a late invoice, a currency rule — they show up as a red test before they show up in finance. Production should not be the first place the rule runs.
Change without a war room
That is how we keep incremental loads idempotent and prove a merge does not double-count. Your team can open the repo in six months and change the flow without a war room.
A typical example: “net amount is gross minus discount, unless the currency is not EUR, in which case convert first.” That is a unit test, not a workshop. The destination table is an integration test.
Why AI likes code-first
A canvas is a picture. Code is text an AI can read, write, and we can still test. That is why we work unusually fast — and why we are good at pipelines that need AI, not just pipelines built with it.
We ship faster
We use AI ourselves on the repo: drafts, reviews, the boring glue. It only works because the toolbox is code — ETLBox, C#, tests. A drag-and-drop job gives AI nothing to hold on to.
AI in your flow
ETLBox has AI support. We put it in the pipeline where a mapping table runs out — extract, classify, decide — and keep the rest as tests you can run in CI. Next level, not a science project.
We built the tools we use
ETLBox exists because we needed a .NET library that could pull from databases and APIs, transform in memory, and load hard — without becoming a product you have to rent. It now has AI support. Customer projects are where the library stays honest. When we take a job, we bring the connectors — and the AI — not a certification slide.
A simple map of the work
Sources
ERPs, CRMs, files, SaaS APIs, the database nobody wants to touch.
Integration
Extract, clean, join, keep history, reject what is wrong.
Store
Warehouse, lake, or vault — only if you actually need a home.
Consumers
Reports, other APIs, an ops UI, the next service in the chain.
Not every integration deserves a warehouse. Not every warehouse needs a lake.
What “good” looks like
A pipeline nobody has to babysit. Four checks we use on every project — not a methodology, just what we refuse to skip.
Incremental
Load what changed. A full reload is a last resort — when the source is tiny and the night is long.
Idempotent
Run the job twice. The table does not grow. Yesterday’s load and today’s load agree.
Observable
You can see what ran, what failed, and which row caused it — without opening a debugger on the server.
Yours
The repo is yours when we leave. We are not a runtime you cannot walk away from.
Who you work with
A small team of three in Berlin — ETLBoxperts GmbH, not a freelance slide. We take the work ourselves. Code-first plus AI is how three people ship what used to take a floor of consultants. If the project needs more hands, we bring in developers we already know.
Tell us what should move