Dispatch

Dispatch Used AI

26 devlogs
44h 31m
•  Ship certified
Created by Brian

Tip: If you want to skip account creation, you may simply use the following details: [email protected], password is summer123. However, I recommend you make your own account to try it out (also I don't control this account so I'm not sure what will be on there). Also, this project is HEAVILY work-in-progress, but I still figured I'm in a good position to ship the MVP and demo!

A professional real-time live chat platform that lets businesses communicate instantly with website visitors - all through a simple embeddable widget.

Note: the homepage (dispatch.brian.icu) was a MODIFIED fork of my existing project, echoMail (hence why I've marked this project as used AI). You can find it here.

Believe it or not, this has been a project I've been wanting to work on for a few years. I'm tired by all the AI garbage in existing workflow tools, and the expensive seat pricing, so I figured why not make my own!

Features:
- (💬) Chat with website visitors in real-time. Each team can handle multiple sessions simultaneously.
- (👥) Invite multiple members to your team so everyone can respond to chats and keep conversations organized.
- (⚡) Add Dispatch to your website with a single JavaScript snippet - set up live chat instantly.
- (🖥️) Optimized web interface for desktop devices.
- (👤) Open-source under Apache 2.0 license - contribute or view it anytime.

Timeline

Ship 1

1 payout of shell 655.0 shells

Brian

about 2 months ago

Brian Covers 21 devlogs and 44h 31m
Earned sticker

Finally ready to ship! Website is up and works :)

Update attachment

Finally done with implementing read receipts. Getting ready to self-host this!!

Update attachment

I've finally finished with creating the demo chat, and the websocket connections are stable now!

I've been working on this for a while and have noticed that I won't be able to finish in time before the end of the month :(

I'm currently making a few finishing touches and shipping what I have now, even though it's technically incomplete. At least it'll give you guys an idea of what I'm aiming for!

So far I've implemented account + workspace creation, viewing and deleting team members (NOT adding new ones as of now, but that's the next step), and of course the message handling which is the core of my website.

This is the longest I think I've ever spend coding in one day, it's been almost 7 hours! I'm making a demo page to test out message functionality.

Update attachment
Earned sticker

Lots of changes today! I've finished with the inbox dashboard page, adding web socket handling, and included a cool online status feature.

Update attachment
Earned sticker

I've added a few more options, including permanent conversation deletion (rather than moving it to closed).

Update attachment
Earned sticker

I'm adding API endpoints that can handle both agents and visitors (ie. creating a new message).

Update attachment

I've been making amazing progress with the backend APIs and the UI! Super excited :D

Update attachment
Earned sticker

Hello! I apologize for the delay in updates, school has been eating up my time. I've been working more on implementing the chat system for agents.

Update attachment
Earned sticker

I'm currently working on the inbox system and finishing up Websockets.

Update attachment
Earned sticker

I'm currently working on Websocket implementation for the inbox page!

Update attachment

Wow, nearly 6 hours with no devlog! We're making great progress on the dashboard and the page system behind it! I'm trying to take my time on this part since it's the core of the app and I want to make it as intuitive as possible :)

Update attachment

I've added an account create flow page, implemented adding new workspaces in the API, and I'm now working on the user dashboard! Since I'm still learning Tailwind, I'm really just using this time to experiment with the classes so I can perfect this dashboard :)

I've done a few updates while at school! I've finally migrated to stored tokens for authentication (with an expiration option). Authentication tokens expire in 7 days, while password reset tokens expire within 15 minutes of non-use (otherwise they can only be used once and are permanently deleted after the request is processed).

Update attachment

All done with password reset implementation on the client-side as well! The next step will be migrating away from JWT and saving sessions in memory OR the database (probably a better idea).

Update attachment

I just finished adding implementation on the backend for password resets! However during this I noticed that JWT may not be the best method for sessions since that means we won't be able to revoke sessions (in the event of a password change, hijack, etc). Gonna work on alternative authentication.

Update attachment

I have finally finished with the sign in page, sign up page, and the password reset page! I'll need to add implementation for the password reset but I'll probably handle this later.

Update attachment

I'm currently working on the website itself! Adding the login page, reset password page, and signup pages.

Update attachment

I've been working on structuring all the components, and this is what I came up with:

/client -> The React app for the agent dashboard
/static -> Home page for Dispatch (what we were working on)
/ -> The Express.js server for API + WS handling (also serves the /client build)

Update attachment

All done with the README.md and the homepage! That took way long than I wanted it to :(

I decided to copy an existing one of my React apps and modify the CSS + Tailwind classes to get the promo page done faster. I'd like to focus my time on developing the back end systems!

I've been working on installing all the dependencies, structuring the project, and creating the Prisma database models. I'm currently debating if I should create the frontend or backend first...

Update attachment