Вам понадобятся WebSocket-ы ну и какой-нибудь js-framework (Angular, Vue, React)
По поводу бекенда.
- Можно реалзиовать работу с WebSocket на php (тем более если это пробный чат):
https://habr.com/company/Voximplant/blog/303780/#c...
- Можно реализовать, как уже советовали, на node.js. (все или только часть, отвечающая за WebSocket)
- Можно взять готовый WebSocket-сервер, например,
https://github.com/centrifugal/centrifugo и работать с ним на языке, который больше нравится.
Как вам связка SockJS/Redis на Node.JS для личных сообщений на HighLoad проекте? - вот тут в комментариях к вопросу можно почитать отзывы
UPD:
Запилил простенький чат с использованием php и centrifugo. Как не сложно заметить, без node.js (@kowap ,
Владимир Дружаев)