Create a bracket on challonge. Make it "public" (which means that it appears on our user page and you can google it)
As matches are streamed (or pre-released), publish matches/rounds to that challonge bracket.
Perhaps the best way to do this is thru a signal, that notes when a TournamentRound switches its visibility. TODO how can you do this only on changes from not visible to visible? If you fire an API call on any save, even when retaining visibility, then this is a useless API call and will seriously start burning thru the API limits