Homotopic.Tech uses applied mathematics and typed functional programming to solve hard problems in software.
“I translate mathematics directly into working software.”
Homotopic.Tech is the consultancy of Dan 'locallycompact' Firth. For over fifteen years I have been shipping production Haskell — applying programming-language theory, formal methods and applied mathematics to build software that is correct by construction.
Production Haskell, built for correctness from architecture through to delivery — including safety-critical systems shipped in finance, media, automotive and machine learning.
Mathematical models turned into software that mirrors the problem domain, so research and engineering speak the same language and the computer does the bookkeeping.
Algebraic, type-driven domain models that make illegal states unrepresentable — whole classes of defects eliminated before a line of business logic is written.
Teams trained in Haskell, functional architecture and formal methods — from fundamentals to advanced — with onboarding material tailored to your codebase.
Denotational design: we write software the way we wish it could be written, then use the type system to make that representation real. The result is code you can reason about and guarantees you can keep.
We make illegal states unrepresentable, so entire categories of bug cannot occur at runtime.
Domain models read like the domain itself, so experts and engineers collaborate without translation loss.
Principled functional programming reduces maintenance and overheads over the long run.

A rolling package set and toolchain for building modern Haskell with Nix — always-current dependencies, reproducible builds, and a flake-first workflow. This very site is built on it.
We maintain over fifty projects in the Haskell ecosystem, published on Hackage and Stackage and developed in the open on our public GitLab under permissive licenses. From filesystem effects to type-level graphs, it is all freely available.
Browse the codeWorking on something hard? Let's talk. Reach out through any of the channels below.