a simple chat application written in typescript with bun
  • TypeScript 79.7%
  • CSS 15.1%
  • Nix 4%
  • HTML 1.2%
Find a file
2026-03-22 22:19:15 -05:00
components implemented nicknames and more verbose username errors 2026-03-22 22:19:15 -05:00
css implemented nicknames and more verbose username errors 2026-03-22 22:19:15 -05:00
.envrc first commit 2026-02-12 00:19:11 -06:00
.gitignore added message history 2026-03-13 22:53:17 -05:00
bun.lock ported to react (cleanup in progress) 2026-03-16 00:19:19 -05:00
client.tsx ported to react (cleanup in progress) 2026-03-16 00:19:19 -05:00
flake.lock first commit 2026-02-12 00:19:11 -06:00
flake.nix add sqlite to flake for db management 2026-03-22 22:18:01 -05:00
index.html partial css rewrite + messaging grouping rework 2026-03-21 10:14:35 -05:00
index.ts implemented nicknames and more verbose username errors 2026-03-22 22:19:15 -05:00
package.json ported to react (cleanup in progress) 2026-03-16 00:19:19 -05:00
README.md added chat history 2026-03-13 23:30:49 -05:00
tsconfig.json added zod for stricter type checking, fixed username change bug 2026-03-06 17:06:28 -06:00

bun-chat

This is a basic web chat application using Bun's WebSocket API. It's a learning project that will later be iterated upon for use in my forum as well as another planned app, expect subpar practices but please know that I am trying my best.

TODO

  • Refine auto-scrolling logic so that it scrolls consistently and at any width.
  • Add React to project because I am tired of handling DOM.
  • Implement mobile UI.
  • Make reconnection logic less opaque.
  • Implement button to change username.
  • Add more things to the todo list.

To install dependencies:

bun install

To run:

bun run index.ts

Alternatively, if you have Nix:

nix develop

nix-direnv should also work after running direnv allow, if you have that set up.

This project was created using bun init in bun v1.3.8. Bun is a fast all-in-one JavaScript runtime.