About the service
I develop and verify programs in Agda — a dependently typed functional language that is simultaneously a proof assistant. If you need a program whose correctness the compiler checks rather than hoping tests will catch it, I can help. I take on everything from small verified data structures to full formal developments where every invariant is proven at the type level. I encode the specification as a type, then let the type checker force the implementation to match, so entire classes of bugs simply do not compile. Typical outputs: verified algorithms with proofs of termination and correctness, formalizations of mathematical structures, dependently typed parsers and interpreters, machine-checked models of protocols and business rules. I work fluently with indexed data types, sigma and pi types, propositional equality, well-founded recursion, and the standard library. I translate informal reasoning on paper into fully checked Agda modules. Beyond writing code I teach type theory: one-on-one sessions on the Curry-Howard correspondence, inductive families, dependent pattern matching, and thinking in proofs instead of tests. Each project comes with clean commented source that passes type checking from scratch, a brief note on key lemmas, and a call-through for your team. I honestly explain trade-offs, including when a lighter approach in another tool suits you better.