diff --git a/packages/app/src/components/LiveChat/index.jsx b/packages/app/src/components/LiveChat/index.jsx
new file mode 100644
index 00000000..4e5d4c83
--- /dev/null
+++ b/packages/app/src/components/LiveChat/index.jsx
@@ -0,0 +1,80 @@
+import React from "react"
+import * as antd from "antd"
+
+import "./index.less"
+
+const Line = (props) => {
+ const { user, content, timestamp } = props
+
+ return
+ {content}
+
+}
+
+export default class LiveChat extends React.Component {
+ state = {
+ socket: null,
+ timeline: [],
+ }
+
+ joinSocketRoom = () => {
+ const { roomId } = this.props
+
+ const socketNamespace = `/textRoom/${roomId}`
+
+ console.log(`Joining socket room [${socketNamespace}]`)
+
+ const socket = app.api.namespaces.main.wsInterface.manager.socket(socketNamespace)
+
+ socket.connect()
+
+ console.log("Socket", socket)
+
+ socket.on("connect", () => {
+ console.log("Socket connected")
+
+ socket.on("message", (data) => {
+ console.log("Message received", data)
+ })
+ })
+
+ this.setState({ socket })
+ }
+
+ submitMessage = (message) => {
+ const { socket } = this.state
+
+ console.log("Sending message", message)
+
+ socket.emit("message", message)
+ }
+
+ componentDidMount = async () => {
+ await this.joinSocketRoom()
+ }
+
+ componentWillUnmount() {
+ this.state.socket.close()
+ }
+
+ render() {
+ return
+ {this.state.timeline.map((line, index) =>
)}
+
+
+
{
+ e.preventDefault()
+ e.stopPropagation()
+
+ console.log("Enter pressed", e.target.value)
+
+ this.submitMessage(e.target.value)
+ }}
+ />
+
+
+ }
+}
\ No newline at end of file
diff --git a/packages/app/src/components/LiveChat/index.less b/packages/app/src/components/LiveChat/index.less
new file mode 100644
index 00000000..1306152b
--- /dev/null
+++ b/packages/app/src/components/LiveChat/index.less
@@ -0,0 +1,18 @@
+.liveChat {
+ display: flex;
+ flex-direction: column;
+
+ width: 100%;
+ height: 100%;
+
+ position: relative;
+
+ .textInput {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+
+ width: 100%;
+ height: fit-content;
+ }
+}
\ No newline at end of file