Если вы задаете подобные вопросы, то в определении вашего проекта все еще есть много чего вы не знаете. На самом деле это не проблема, так как даже если бы вы это сделали, большинство из них, вероятно, изменилось бы, прежде чем вы все равно закончили.
Кроме того, любая технология, которую вы выберете сейчас, будет иметь существенный недостаток, к которому вы не были готовы, потому что никому не приходило в голову, что вы столкнетесь с какой-то проблемой.
Не выбирайте технологию сейчас. Начните с чего-то маленького и полезного, что вы хорошо понимаете, и постройте его. Поверх этого развивайтесь в маленьких, управляемых кусочках. Покажите то, что у вас есть, вашему клиенту и получите обратную связь.
Настоящий трюк заключается в том, чтобы сконструировать его так, чтобы вы могли легко менять направление по мере поступления новой информации. Именно здесь я рекомендую вам проводить большую часть своего времени - выяснить, как создать расширяемую архитектуру, и создать тесты, чтобы убедиться, что все продолжает работать по мере вашего продвижения вперед. По мере развития проекта технологии, которые вам понадобятся, станут намного понятнее.