How do I use Elixir's Pigeon library for push notifications in my Android app with Python Flask for backend

I’ve been tasked by my boss to do the following things:

  1. Integrate Elixir/Phoenix for push notifications where the Python API backend sends signals.
  2. Use the Redis PUB/SUB for the notification backend to receive the request for push notification.
  3. Integrate the new push notifications to the Android app

We have an Android app with a Flask API backend. Is it wise to build a separate Phoenix server for the sole purpose of sending push notifications? How exactly should I structure such Phoenix server? If I’m not mistaken, this is typically done using Firebase’s FCM. What would be the arguments for using Elixir/Phoenix? Also, are there any in-depth examples or resources on implementing push notifications using Pigeon?

There’s a LOT of questions here, ranging from whether this is a good idea to how to do it. Maybe it would be best to wait on the implementation questions while you sort out if this is a good architecture and how Elixir fits into it.

If I understand you correctly you’ve already got a Python API yes? Presumably Python already has an integration with Firebase, so what problems are you running into such that you want to involve another basically two other pieces of infrastructure (Redis, Elixir) in order to do that integration?

1 Like