Group Lead: Knowledge & Insights · Speaker · Builder
Building data products
that work where it matters.
I'm Dan. I believe most data work fails because we don't truly understand the people we're building for or the problems they're actually facing. And even when we do, the solution still has to land in the real world, inside real operational processes, with real people who need to change how they work. I build AI-driven data products and commercial tools at Coca-Cola Beverages Africa. Then I go make sure they actually work. Based in South Africa, building across Africa.
Latest post: Thoughts: Domain knowledge isn't just the business domain.
Latest TIL: How to Inject Dates Into Fabric Pipelines (and Backfill Them)
Writing
All posts →AI Ethics: Addressing Racial Biases in AI and Machine Learning
As AI practitioners, we must identify and tackle problematic biases in our data and models to ensure equitable technology that makes lives better.
A paper, a post and a paragraph - 2nd August 2019
A paper, a post and a paragraph for 2nd August 2019
Today I Learned
All TILs →Short notes on things I discover — tools, tricks, ideas worth remembering.
How to Inject Dates Into Fabric Pipelines (and Backfill Them)
How to pass a shared run_date across Fabric pipeline stages and support historical backfilling with a two-pipeline pattern.
Never Call `spark.stop()` in Databricks Workflows
Never call `spark.stop()` in Databricks workflows. Explicitly call `sys.exit()`.
Building Personal AI Copilots
How treating your LLM Tools like humans can help you build personal AI copilots.
Mypy Narrowing of Union[T, None]
Mypy only narrows Union[T, None] when it sees an explicit check for None or an assertion. This behaviour leads to type errors that may seem unintuitive to solve.