1. Первое, что Вы должны уяснить - это то, что современный клиент (для чего бы он не писался), должен быть SPA. Т.е. обмен должен идти только данными в формате JSON. Это значительно увеличит скорость отклика интерфейса на действия пользователя, какой бы сложный и "тяжёлый" он не был.
2. Второе - Вы можете использовать готовую CMS с фреймворком, чтобы дописать только сам функционал, а админка, регистрацию, антиспам и прочее - чтобы уже было готово.
Я бы взял "Joomla!" и написал бы отдельное приложение на фреймворке "Joomla!" и подключил бы его к CMS "Joomla!". Вы можете написать на любом фреймворке или фреймворке под конкретную CMS, исходя из Вашего опыта и знаний.
Основное, на что стоит обратить внимание:
1. удобство использования и продуманный интерфейс (минимум действий до цели)
2. непохожесть на другие подобные сервисы
3. многоуровневая модерация (алгоритмы, человек)
4. нормальный SSL сертификат
5. RESTfull (который будет и для веб и для мобил и т.д.)
6. оповещения: реалтайм, по e-mail, XMPP и SMS
7. хороший и быстрый хостинг