Frameworks No Libraries Yes

Developing a product in OCaml from Scratch

Who am I?

  • My name is Malcolm

  • Go by orbitz on the forums.

  • Been using OCaml for 15+ years.

  • Co-founder and CTO of Terrateam

What is Terrateam?

  • Infrastructure management and orchestration.

  • Heavily focused on Terraform/Tofu + GitOps.

  • We specialize in complex workflows.

Just say NO to frameworks

framework octopus

Not Invented Here

Find the dependencies — and eliminate them.
— Microsoft Excel Team

Trauma

melting django

Cowboy culture

ocaml cowboy

Just say YES to libraries

just say yes

Monorepo

Yet Another Concurrency Framework

first commit

Canceling work

timeout

How hard can it be?

how hard can it be

Fast forward to today

  • Comprehensive test suite.

  • Concurrency framework

  • HTTP(S) Client/Server

  • PostgreSQL client

  • Backend/frontend web frameworks

  • OpenAPI/GitHub/GitLab clients

  • HCL parser/Terraform code indexer

  • And more…​

How is it going?

judgement day

Velocity

Thanks for the quick fix.
— Customer
Incredible speed!
— Partner
awesome thanks for the quick fix
— Another customer

Quality

camel diamond

Hiring

employees

The moral of this story

  • OCaml is not a secret weapon

  • Building your own frameworks will not make you successful

The moral of this story

  • Design around your goals

  • Mitigate risks

  • Make decisions that make you excited to keep at it (it’s a slog).

Thank you & Questions

questions