Topic Tangle is an application for easily organizing and inspiring group discussions. Organizers create a room of topics where users choose which ones they're interested in. Afterwards, the app will create breakout groups based on users' overlapping topics and provide LLM-generated icebreaker questions.
The project is organized into the following major components:
app/
directory.backend/
directory.Ensure the relevant .env
files are populated with the necessary environment variables before running the application. Refer to the .env.example
files for guidance on required variables.
The frontend is built with SvelteKit and uses Vite for development and builds.
app/
directory:cd app
npm i -D
npm run dev
To create a production build:
npm run build
The backend provides APIs for managing rooms, user selections, and breakout groups. It supports two implementations:
For development, you can run either the mock backend or the cloud function backend locally. Running the cloud function backend locally requires the gcloud
CLI tool and a datastore instance (which can be emulated with gcloud
).
backend/mock/
directory:cd backend/mock
npm i -D
npm run build
npm run dev
backend/gcloud/function/
directory:cd backend/gcloud/function
npm i -D
mock
be built beforehand):npm run build
mock
):npm run dev
./deploy.sh