Kirnu's logo

From MERN to... FlaMPyRe? On our tech stack (and best practices for acronyms)

Aleksi on May 14th, 2021

Example of Kirnu's Churn table

In this blog post I will present our tech stack on a high level and briefly discuss the motivation behind our choices. The goal is to show you how factors, which in the end benefit our users, guide our decisions all the way down to tech choices. For those who are interested in the tech specifically, this post will also offer a glance at what powers Kirnu under the hood.

TL;DR (truncated list; do read on): Python, Flask, React, MongoDB.

These four components of our tech stack (simply "stack" from now on) are what our web application runs on. In addition, we use various modern software libraries and certain cloud platforms to power and deploy Kirnu. Importantly, for example, we use TensorFlow (and its Keras API, or Application Programming Interface) for state-of-the-art deep learning.

Our stack deviates from the popular four-letter acronym MERN by substituting the backend JavaScript with Python, that is N(ode.js) and E(xpress.js) with Python (the programming language) and Flask (web framework). Our motivation for this is to leverage the industry-leading machine learning and data science ecosystems and communities built around Python and numerous supporting software libraries, such as TensorFlow.

As you may have noticed, two of the letters remain. The first letter, M, belongs to MongoDB, a so-called NoSQL database that is fast, flexible and scalable. Finally, R stands for React, a modern frontend framework (controlling what goes on in your web browser, including what you see), adored by many a developer.

Our earlier experience working with each of the components of our stack supported our decision making and so the choices came quite naturally, after a quick exploration of potential alternatives. Forgoing off-the-shelf stacks with often-heard acronyms was not a problem. In fact, feeling confident in our picks, I felt odd about not having come across an acronym for it.

After coming up with and promptly rejecting PRFM (to evoke an image of performance; rolls of the tongue, leaving it sore, eh?) and FlaMPyRe (smoother, but still a mouthful), I asked Google. As it turns out, FReMP has been proposed. I'll let them have this one...

As a reminder, we are preparing for the beta launch and would still welcome a few more early adopters. So, if you are interested in reducing the churn of your SaaS and gaining invaluable insights on your users to help you serve them better, get in touch by contacting me at aleksi@kirnu.io!

Sign up for early access

Enter your email below to hear from us (maximum once a week) and to secure your place among early users! 🚀

Thank you for your interest and welcome! You can also follow us on Twitter @kirnuio
Oops! Something went wrong while submitting the form.

P.S. we expect to be beta test ready during Spring 2021 and are looking for test users. Drop us a line at hello@kirnu.io if you are interested in reducing churn in your SaaS application and getting exclusive access to Kirnu.