Skip to content

ezraulo/productcanvas-experiment

 
 

Repository files navigation

Product Canvas Experiment

A multiplayer collaborative canvas for product brainstorming

👉 Read the article

Building locally

  1. Create a Firebase project with Realtime Database and Auth enabled

  2. Make a .env file at the root, as a copy of .env.example, filling out the necessary field(s)

  3. Install dependencies and start the Vite server:

    $ npm install
    $ npm run dev

Technical components

  • Infinite canvas - powered by the excellent React Flow.
  • Realtime multiplayer - powered by Firebase Realtime Database and Auth.
  • Realtime video collaboration – powered by WebRTC and Firebase for handshake.
  • Assistive voice agent - powered by the Gemini Live API
    • There's also support for wake words (e.g. "Hey Gemini") to start new sessions, but as this is highly unstable and needs to be trained for each user's voice, it's hidden by default.
  • Concept sketch generation - powered by 🍌 Nano Banana
  • On-the-fly prototype generation - simplified coding agent powered by Gemini, along with an in-browser runtime powered by esbuild-wasm and inspired by JSNotebook.
  • Wiki-style project knowledge editor - powered by Tiptap
  • Video calls unobtrusive, flingable participant video bubbles

About

A multiplayer collaborative canvas for product brainstorming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 89.7%
  • SCSS 9.3%
  • Other 1.0%