All About Luna’s Tech Stack

Brian
Luna
3 min readApr 30, 2018

--

Hey everyone, Brian here. It’s been just over a month since I moved to New York to join the rest of the Luna team at our headquarters. We’ve been cranking away at the technology that will drive our blockchain-powered dating app: Amnon and Yonatan have been hard at work on our front end, and Gal on our backend. In this post I want to give a brief overview of the current technology setup we are using for the demo app. We’ve developed the app in a scalable way which will allow us to keep building on it for the main launch, as well as use it as the backend for the Android and iOS mobile apps.

Backend

The webapp is built on the Django web framework for Python. We chose Django and Python since they will allow us to easily integrate with the Machine Learning algorithms we plan to use for matching, and for their proven scalability — Django is used by Pinterest, Instagram and many other large apps. We are hosting the app on the IBM Cloud, which allows us to easily add more servers as the traffic grows. We are currently running on just two servers, but this will grow dramatically as we near our main launch. Overall, our Django webapp has received the most work from our developers, with a combined effort of one developer-year so far and growing every day.

For interfacing with the Qtum virtual machine, we are running the qtumd client together with a Python wrapper Gal wrote to allow calling the client from our Django app.

Our production database is running on Postgres, which is serving us well. We are looking at NoSQL solutions like Amazon’s DynamoDB to be ready for the high traffic we expect after our main launch later this year.

Frontend

For the frontend, we are using a React and Redux setup. React is a Javascript library developed by Facebook, and is used by Instagram, Dropbox and many others to create single-page applications that allow the user to take actions without needing to reload the page each time (think swiping in a dating app). Redux is a library often used together with React that simplifies managing data on the frontend — similar to a database, but on the app or browser instead of on the servers.

In the coming days we’ll be implementing geolocation to enable filtering by nearby users, and improving the user flows of the demo app.

Other Updates

Jay and I have been conducting interviews to grow our Berlin dev team. After five years in my previous role managing and hiring at Amazon, I feel confident that we’re assembling an incredible team.

We’ve also hosted some amazing networking events to connect with New York’s most influential PR and media firms to ensure Luna is on everyone’s radar. Stay tuned for more information about that!

--

--