A modern browser is required for security, reliability, and performance. Contact us.

Elixir/Phoenix Development
at MojoTech

The pairing of the Elixir language and the Phoenix framework represents an important evolution in web application development combining:

  • Architectural best practices
  • A robust fault tolerant runtime platform in the Erlang Beam Virtual Machine
  • Modern functional programming techniques

With multiple clients, our engineering team has taken advantage of Elixir to deliver software products in the most efficient manner while providing a robust base to build a growing business.

Advantages of Elixir

As a compiled, dynamically typed language with a functional paradigm, Elixir allows engineers to rapidly build and prototype ideas, reduce unnecessarily shared state (a common source of bugs). The compiling of Elixir to Erlang byte code allows an Elixir application to be extremely performant while also being highly fault tolerant. The language’s focus on simplicity of syntax simplifies the task of client engineers ramping up and maintaining projects.


Advantages of Phoenix

The Phoenix framework, as its name suggests, rose from the experience of earlier rapid web development frameworks such as Ruby on Rails, took their lessons and applied them using the strengths of the Elixir language and ecosystem. Phoenix serves several versatile needs which frequently come up on server-side development:

Classical server-side applications

Phoenix is an excellent choice for classical web application development. It has all the bells and whistles one would expect for a project in this class and our engineers have used it to great effect with our clients.

Rapid development of GraphQL and Rest API servers

In today’s world, applications often package and present information to a variety of clients in a variety of formats from a variety of sources. Phoenix has robust libraries for building those API whether they be traditional REST or GraphQL (or both). Our team has extensive experience building and consuming APIs and Phoenix provides a great model to build robust API servers.

Phoenix Liveview

A pioneering approach to web development, LiveView allows information about your application clients to be kept server side, but thanks to Elixir’s facility with concurrency, allows for rich interactions on the client side for the cases where a product requires a robust interaction pattern, but does not meet the bar for a full fledged client side single page application.

Learn more about Torch, a open-source Phoenix admin builder we maintain.

Trusted by:

Engineering at MojoTech

There is a high rate of failure for projects in the software development field. One of the core reasons is a false notion that all software engineers are the same. They are not. But, unless you are also a software engineer, it is difficult to sort the wheat from the chaff.

MojoTech was founded by, and is run by, software engineers. Through collaboration with peers, conference attendance, in-house workshops, dedicated time to experiment, mentoring, and contributing to open source software, our engineers develop mastery of the technologies, tools, and engineering practices required to build serious software.

We are proud to attract, train, and retain exceptional software engineers, and every one of them is a full-time employee dedicated to perfecting his or her craft.

Pragmatism meets innovation

Our engineers are practical; we instill the value of building the simplest thing that works. At the same time, when faced with difficult problems, we empower our engineers to take innovative approaches. Our shared goal is to make a product vision real, and that means we scale our practicality and innovation to the needs of the task at hand and the value it brings to our client’s product. We pride ourselves on being able to articulate the pros and cons of available solutions and make smart recommendations in the best interests of our clients’ values.

Correct, Complete, Concise, Clear

Peer code review is an integral part of our process. As professional software engineers, we believe that a strong review process helps us ensure that the code we are writing is of the highest quality. The agile principles sum it up best, “Continuous attention to technical excellence and good design enhances agility.” Code review promotes the ability for engineers (both ours and clients) to discuss, refine, and perfect the architecture and code required to meet product goals and requirements.

Correct, Complete, Concise, Clear

Comprehensive Testing

We utilize automated testing tools to identify defects and regressions, static analysis tools to ensure we’re adhering to our standards, and our in-house human testing team to fully test our software. We also take advantage of the latest continuous integration and automated delivery tools to optimize delivery and deployment.

Adept Team Players

As software evolves we continue to optimize the size and makeup of our teams to suit emerging technical, speed, and usability requirements. Our engineers are experienced working on teams with engineers, designers, product managers, and stakeholders both at MojoTech and with clients. Successful products require teams that know and fulfill their roles and can collaborate with others on the team.

Agile, as it was meant to be

Agile has become an almost meaningless buzzword in our industry, associated with posture at meetings, specific tools and process, no planning, and a touch of organized chaos—which is unfortunate because at its root, the agile movement was not about process, but about values. While process is an important enabler of our goals, it’s never the goal in itself. We aim to focus on the solution, not the process, and all of our practices are in service of delivering optimal value.