I think the issue you’re seeing is a common one among Elixir developers: people tend to conflate the supervision structure with the design of the code. In reality, the two are distinct: supervision is about starting and stopping things, and the code is about doing things.
So the interface to your server; the API; does not include the code that knits it into the application when it starts.
I’d just put the server module in the supervisor parameters.
Dave






















