PLAY PODCASTS
Muze Is a Freeform iOS Chat Application

Muze Is a Freeform iOS Chat Application

with Nick Janetakis and Dash Winterson

Running in Production · Nick Janetakis

January 25, 20211h 2m

Show Notes

In this episode of Running in Production, Dash Winterson talks about building a new type of chat app for iOS using Django and Python on the back-end. It’s hosted on AWS using Elastic Beanstalk and has been up and running since mid 2020.

Dash covers creating async compatible code in Django, developing a monolithic back-end that a few developers develop against, investing in the AWS ecosystem, end to end message encryption and the Zen of Python.

Topics Include

  • 3:05 – Rewriting an existing Django app into a new Django app with 90%+ test coverage
  • 8:49 – Async features in Django and not using Celery
  • 12:07 – A breakdown of gRPG and Protobuff
  • 15:13 – The platform has about 300 daily active users, dead locks and monitoring
  • 17:47 – A monolithic Dockerized app with 4 developers working on the project
  • 20:05 – There’s only an API back-end in Django, the front-end is a native iOS app
  • 22:51 – The SimpleJWT and Redis / ARedis libraries were very helpful in Python
  • 27:04 – The phonenumbers library showed to be very useful too
  • 30:02 – Using Docker Compose in development with a multi-stage Dockerfile
  • 32:22 – Using Elastic Beanstalk in production and a number of other tech choices
  • 38:06 – There’s no configuration management tools being used, but that’s next
  • 42:09 – Most AWS instance types they are using are medium size
  • 44:00 – The process to deploy code from development to production
  • 49:20 – Dealing with backing up user generated data and encrypting messages
  • 54:06 – Getting alerted of errors through Slack and email
  • 58:01 – Best tips? When in doubt stick to the Zen of Python
  • 1:00:53 – You can find Dash on GitHub and Twitter
📄 References
⚙️ Tech Stack