Routine (https://routine.co) is looking for an OCaml developer.
Routine is a personal productivity assistant. The technological stack revolves heavily around OCaml which represents 90% of the codebase, the remaining 10% being the UI in Typescript and Vue.js. We target both the browser and desktop through electron, using Js_of_ocaml.
While the product is “just” a web app, our technological and academic background leads us to use designs that, I think, can pique the interest of seasoned Ocaml developer. Amongst other things :
- Type-driven programming based on ppx derivers that produces typescript declaration for frontend bindings, JSON schema to expose and consume external REST APIs (Google, Notion, …), automatic SQL bindings, etc.
- Angstrom based parsing for the interactive console with highlighting and completion.
- Incremental based state updates to refresh minimal subsets of the app.
- Highly concurrent implementation through Lwt, exception-free design.
We use state of the art CI/CD and development processes. We plan on distributing open sources packages of these utilities (type-driven system, Google API bindings, Notion API bindings, …). Future exciting subjects could be extending Angstrom with manual rollback to implement generic completions or binding Vue in OCaml directly using melange or rescript to achieve rock solid typing down to the very frontend code (highly prospective teases, don’t quote me on this yet :).
The company is very much a startup, having just completed YC batch W21 and closed its first round of investment. Salary is up to market standard depending on the profile, plus usual options package, to be discussed.
While we expect great OCaml and general computer science proficiency, we’re open to most levels of experience. Thoroughness and a love for well rounded, robust and beautiful software design is a must have - but that comes bundled with OCaml love, right ?
Do not hesitate to reach out for any question here, at firstname.lastname@example.org or refer this to someone who may be interested.
Thanks for your time and happy camel riding !