A Meatier Future
Why we switched tech stacks, again


When Parabol began in August 2015, most of our technical staff came from the recently-defunct Quirky. Quirky was a Ruby on Rails shop and our first prototype—a “Github for Product Strategy” SaaS application called Big Picture — was built on Rails and React. As we got more deeply into the product implementation, we felt Rails was further and further constraining us from building the realtime, multi-platform applications of our dreams.
When we pivoted from developing Big Picture and began developing Action – our software to operate agile business teams, we decided to develop completely in Javascript.
The Javascript landscape is frightening. Nothing is stable. Generation upon generation of new technologies are introduced faster than fruit flies breed in a lab. Our Rails experience biased us toward an integrated framework, but our desire for cutting-edge features eventually forced us to adopt a stack that is fully à la carte.
Here’s a brief recap of our evolution:
- December 21st, 2015: Parabol Action repository created; we commit to a full Javascript stack to keep up with the edge of tech development. React and Redux are elected for use on the front-end, RethinkDB on the back-end.
- January 2nd, 2016: we rule out the increasingly aging Meteor framework and begin prototyping Action on Sails.js, largely for its structural similarity to Rails. We begin prototyping realtime, multi-user experiences into our app — and find we are spending more and more time customizing Sails.js than writing end-user code.
- January 10th, 2016: Our interest shifts to rolling our own stack on top of a boilerplate. We switch to Erik Rasmussen’s react-redux-universal-hot-example.
- By February 9th, 2016: we’ve implemented our own last-write-wins realtime pattern on top of RethinkDB, Falcor, Redux and React. While looking for inspiration, we found matt krick’s modern & clean realtime application framework Meatier. We slap our foreheads.
Now, we’ve switched to Meatier
The satirically named Meatier is more 3REE boilerplate than the full-blown application development framework that inspired it. Meatier presents several advantages over its less meaty counterpart:
- Uses the full strength of webpack and provides a path to generate a minimal client payload
- Is fully customizable — for example if you wish to replace authentication with your own implementation (such as auth0, as we have), you can. The same goes for the database, data transport layer, and more
- Scalable reactivity via SocketCluster
Plus, just look at how fun the Meatier demo gif is:

Meatier has also begun to inspire other projects such as r3stack. This validation is comforting to us.
One thing Meatier isn’t, is for beginners. Documentation is provided by the individual modules that constitute Meatier. Luckily, we’re not beginners. Plus, we had a bit of help…
Make it a combo
In early March, Terry Acker and I connected with matt krick at home in Querétaro, Mexico. We let him know that we loved Meatier so much that we were considering switching to the stack.
We discussed why he created Meatier and what he hoped to do next. We discussed our mission to make work meaningful. Matt wanted to help push us down our path and offered to assist us with the switch. Today, I’ve merged Matt’s massive pull request into Action’s master branch.
The adoption of Meatier also marks our switch away from Netflix Falcor to Facebook’s GraphQL. GraphQL offers many of the same benefits as Falcor, but is more mature, has a broader community, and provides superior debugging tools. An unexpected benefit of switching to GraphQL is the elimination of the need for any sort of ORM: we’re wielding GraphQL’s to much the same effect.
Enjoy
If you’ve been evaluating the Javascript development landscape to build a commercial-quality application and haven’t quite been sure where to jump in, we wholeheartedly endorse the stack and approach Meatier provides. Don’t sit on the sidelines; give it a try.
Or, if you’ve been looking for a place to practice your Meatier chops before branching out on your own, have a look at our Equity for Effort experiment. We’ll be releasing a new set of missions soon, so you can jump in wherever you’d like to contribute to our production application.
Join our developer community Slack and let’s talk!