Search

Home > Running in Production > Passiv Is a Portfolio Management and Automation Platform
Podcast: Running in Production
Episode:

Passiv Is a Portfolio Management and Automation Platform

Category: Technology
Duration: 01:24:23
Publish Date: 2020-06-22 04:00:00
Description:

In this episode of Running in Production, Brendan Wood talks about building a portfolio management platform with Django and Python. It’s been running in production since mid 2017 and is hosted on DigitalOcean.

There’s about 3,000+ active users and overall they are responsible for managing hundreds of millions of dollars in funds for their users.

Topics Include

  • 3:13 – It started as a 50 line Python script that replaced an Excel sheet
  • 10:49 – Motivation for using Django, Python, NumPy and creating a monolithic app
  • 15:38 – Eventually decommissioning a legacy version of the back-end over time
  • 19:00 – There’s about 33,000+ lines of back-end code, including tests
  • 22:24 – There’s a clean split between the back-end API and the TypeScript React front-end
  • 30:52 – The entire front-end is open source on GitHub
  • 32:13 – It’s hosted on DigitalOcean w/ Ubuntu 18.04, PostgreSQL, Redis, Celery and nginx
  • 39:08 – There’s ~5 seconds of down time per deploy which is done outside of trading hours
  • 46:00 – Everything runs on a single server + a managed PostgreSQL DB (with replicas)
  • 48:20 – Ansible is being used to configure the server
  • 55:22 – Getting code from dev to production in a few minutes with git and a deploy script
  • 1:01:07 – Brendan’s philosophy on starting a business is to do things when you need to do it
  • 1:02:58 – Logging, email alerts and using Stripe to handle payments
  • 1:08:35 – Handling disasters and other unexpected events with backups and alerts
  • 1:16:19 – Best tips? Use the tools that you know unless you have a compelling reason not to
  • 1:19-27 – Setting up a customer support system only after they had a need for it
  • 1:21:39 – Check out https://getpassiv.com/

Links

Total Play: 0