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.