An app to help teams have quick and simple sync meetings.
This app is mostly a playground for me to play around with different frameworks and technologies. For this reason, there are multiple duplicates of the app, with different implementations and behaviors.
This is the best version. It uses tanstack-query and the supabase JS client to provide a better UX including SSR, optimistic updates, and practically instant reaction to database changes.
It also has some nice bonuses like customizable colors and animations.
This app shares a Supabase database with the Qwik version, so they can be used together.
It is built using:
- Solid - UI framework with excellent runtime performance and impressive simplicity
- SolidStart - The Solid metaframework that handles SSR, routing, and other stuff
- Tanstack Solid Query - Helps smoothly handle async requests with standard loading state, optimistic updates, and SSR with hydration
- Kobalte - A headless component library for Solid
- Supabase - An open-source realtime database built on PostgreSQL
You can see view the latest deployed version at https://open-standup-solid.vercel.app/
The code is located in ./apps/open-standup-solid
Like the Solid app, this version of the app uses Supabase as a database for the state. In order to avoid loading extra JS in the browser, this version polls the server to check for updates from Supabase. This means the app doesn't update as immediately as the Solid version.
This app shares a Supabase database with the Solid version, so they can be used together.
It is built using:
- Qwik - UI framework with an extreme focus on loading the minimum amount of JS possible
- Supabase - An open-source realtime database built on PostgreSQL
You can see view the latest deployed version at https://open-standup.vercel.app/
The code is located in ./apps/open-standup-qwik
This was the first version I made, and is the least stable. It attempts to keep track of standup state entirely on users' devices - there is no centralized server. The catch is that it doesn't seem to allow syncing between users who are on different networks.
It is built using:
- Qwik - UI framework with an extreme focus on loading the minimum amount of JS possible
- yjs - handles snycronising state that's being modified in multiple places.
- y-webrtc - webrtc is the way to do peer-to-peer stuff. This makes that integrate with yjs.
- SyncedStore - Wrapper around yjs to make things easier to work with.
You can see view the latest deployed version at https://open-standup.vercel.app/p2p/
The code is located in ./apps/open-standup-qwik/src/routes/2p2
This one cannot edit standup series, but it can join a standup and next/skip the current updater.
It is built using:
- Angular - A classic framework with a great ecosytem of strongly-opinionated standards
- Supabase - An open-source realtime database built on PostgreSQL
This version is not deployed anywhere.
The code is located in ./apps/open-standup-angular
Pull the code and run pnpm install
, then a command for the app you want, such as pnpm --filter ./apps/open-standup-solid run dev
.
If you're using one of the Supabase apps, you'll also need to run pnpx supabase start
to develop with a local supabase instance, or change the development environment variables (see .env files in the app you're working on)
I may continue to add more frameworks (Modern Angular, Next, Svelte, etc.), or just keep building out the Solid app since I like how that one's going (error handling, time limits, history, etc.).