tidi icon indicating copy to clipboard operation
tidi copied to clipboard

The 2Kb smallest Chat component.

tidi

Meet tidi, the 2kb bubble chat component for any website... made using preact, running with a 4MB compiled backend service.

FrontEnd

screen

Backend

screen2

Disclaimer

I made this project for a specific need, that was a lite 'live chat' on some platform like twitter from the "twitter space" feature, the final idea was then to come up with a web extension that could allow chatting all over the internet with a single roomkey and an username, that's why the project was first called ttspch (standing for twitter space chat)... well.., i decided to change it due to the impossible pronounciation thing....

demo

Requirements

  • node/npm (for dev)
  • go (for dev)
  • Docker (for the prod)

CLI Commands

The backend should be running first before the frontend ...

Back End

Prod

# start the docker container
cd backend && make docker-run

# or using pm2 :
# cd backend
# pm2 start --name tidi-backend make -- docker-run

Dev

# Start the backend app
cd backend && make run

The service should be running on port :1324

Front End

Prod

# This step is optional, because you can use the provided dist resource,
# ths command will install dependencies, build bundles to be consumed
# copy the appropriate html file in dist
make build-dist

# then serve the dist folder with an http server
cd dist && http-server

Dev

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

The app should be accessible on port :8080

Integration

Let say you want to integrate it inside you're application, you will just have to pass to the component, two parameters:

  • The Host of the running service
  • The Username of the current user

integration

Xtensions

I managed to make a small test chrome web extension for tidi and it's working pretty fine tho on a NFT twitter space...

Click on the image to whatch the video:

xtension

Author