Announcing Constable, an open source Phoenix application

Blake Williams and Paul Smith

In the early days of Phoenix we started a project called Constable during our investment time. We created it to improve how we make announcements and have discussions within our company, but most of all we wanted an excuse to write an app in Elixir and Phoenix.

We used Constable as a test bed for different technologies and ways of working with Elixir. We started with a JSON API and a React front end and slowly migrated to server rendered HTML.

Check out the code on GitHub or try out the demo on Heroku. All you need is a gmail account and you’ll be able to sign in! We’ve disabled email in the demo, so there’s no need to worry about receiving unwanted emails.

What you can learn

This is a project we’re using every single day, and something we’re constantly improving and experimenting with. You can follow the project on GitHub, check out how the code has evolved, and even deploy it yourself if you want.

About the app

Typical messaging applications send you a flood of email. We wanted to make sure that Constable was customizable so that you only get emails you really care about.

The app has a concept called “interests” which are tags that you can subscribe to so you only get the emails that are relevant to you. By default the only interest you’re interested in is the #everyone interest, but you can even unsubscribe from that.

Most people want as few distractions as possible. We think Constable helps us immensely to achieve that goal.

What we love about Phoenix

We’ve talked about Phoenix a few times on past blog posts, and written a few libraries, but we haven’t talk a lot about what we love about it.

  • Fast-running tests make TDD a joy.
  • Lightning fast page rendering. Makes server rendered pages feel instantaneous.
  • Similar enough to Rails that newcomers can get started easily.

We hope you love Constable.