Я создал GitHub Audio более 6 лет назад. Это был веселый проект выходного дня, который занял у меня 2 дня, чтобы запустить его. К моему удивлению, он стал упоминаться в Hacker News, Product Hunt и т. д. Он сломал мой крошечный компьютер с Nginx и node. На сегодняшний день он достиг более 150 тысяч пользователей. У репозитория 1,7 тысячи звезд на GitHub и несколько участников.

Хватит хвалить! Поговорим о том, что это на самом деле

Это довольно простое приложение, которое каждые несколько секунд опрашивает API событий GitHub и отправляет их активным пользователям. Эти события затем преобразуются в утешительные музыкальные ноты и отображаются на холсте, чтобы выглядеть эстетично. Со временем я обнаружил, что люди на самом деле используют его в качестве фоновой музыки, пока пишут код в одиночестве по ночам (простите за драму!). На самом деле, я лично использую его, чтобы узнать, над чем работают другие на GitHub.

Путешествие до сих пор…

Поскольку я никогда не собирался монетизировать его, я не хотел оплачивать стоимость сервера. Я очень любезно попросил людей из DigitalOcean спонсировать его, и они это сделали! Это подпитывало его примерно на 2 года, прежде чем закончились кредиты и приложение сломалось. Примерно в марте 2019 года с помощью других участников мы перенесли его на Heroku во благо, которое длилось до недавнего времени, когда Heroku решила отказаться от своих индийских клиентов. В очередной раз приложение отключилось на несколько месяцев.

Недавние улучшения

Последние несколько месяцев я изучаю Rust и люблю его. Как вы могли догадаться — еще один веселый проект выходного дня!

Я воспринял это как возможность применить свои знания на практике. Я отказался от старого бэкэнда nodejs и использовал axum, чтобы переписать его на Rust. Еще один сюрприз — он может обрабатывать более 5000 подключенных клиентов в памяти менее 100 МБ с минимальной загрузкой ЦП! (Это приблизительная оценка, рассчитанная во время нагрузочного теста с использованием artillery.io) При таком малом объеме памяти это отличный кандидат для бесплатного развертывания на Fly.io! Я также внес некоторые улучшения в клиентскую часть приложения. Фронтенд-приложение развернуто на Cloudflare Pages.

Будем надеяться, что это будет продолжаться без какого-либо необходимого вмешательства, по крайней мере, в течение следующих пяти лет. 🤞

Путь вперед

Идя дальше, я намерен реализовать некоторые интересные функции, предложенные в GitHub Issues, когда найду время поработать над этим. Приветствуется пиар.

Спасибо за участие в путешествии. Приятного прослушивания!