Custom Elixir development for the parts no library covers.
Some problems do not fit a standard Phoenix app: rules your team should write in its own small language, a slow step that belongs in Rust, or state that has to stay in sync across several servers. We write that code in Elixir, call Rust through NIFs (native code that Elixir runs directly) where speed matters, and leave you the tests and docs to maintain it.
What you get
- Internal DSLs built with Spark and checked at compile time, for rules, workflows or admin screens.
- Rust NIFs for CPU-heavy work such as parsing, shipped precompiled so your team needs no Rust toolchain.
- Multi-node Elixir services with supervised processes and state replicated across the cluster.
- Ash framework extensions that add shared behavior to your resources.
- Igniter installers that set your library up in a user's project with one command.
Built with our own tools
We have built each of these in the open. Mishka Gervaz and Guarded Struct are Spark DSLs that check your definitions when the code compiles. Mishka Installer keeps its plugin registry in sync across a cluster. Igniter JS and Igniter CSS, which we co-maintain in the Ash project, change JavaScript and CSS files through Rust parsers called from Elixir.
Mishka Gervaz
A Spark DSL that turns an Ash resource into a LiveView admin, with compile-time checks.
Guarded Struct
Validated Elixir structs whose sanitize and validate rules are parsed at compile time.
Mishka Installer
A plugin registry kept in sync across a cluster with Mnesia.
Igniter JS
Edits JavaScript files from Elixir through a Rust parser called as a NIF. Co-maintained by our team in the Ash project.
Have a problem that needs custom Elixir?
Tell us about your project. We reply within 48 hours, and after a free discovery call you get a fixed-price proposal.
Mishka is registered with the Dutch Chamber of Commerce · KvK 95426736 · Amsterdam