Buzz is a two-part project:
buzz-backend: A fully typed Hono + OpenAPI JSON API with Drizzle ORM + supabase.buzz-frontend: A SvelteKit frontend (landing page) plus the browser-extension UI/assets.
This top-level README explains how to run each part independently or together.
Buzz is a browser extension and API that generate short quizzes from the content of your current tab.
Core features:
- Generate quiz questions from a page URL or page text
- Optional AI provider key support
- Local dev-friendly setup with a simple API
Tech stack:
- Backend: Hono, OpenAPI, Drizzle ORM, SQLite
- Frontend: SvelteKit, Chrome extension
Architecture:
- The extension gathers page context and calls the API (
POST /question). - The backend returns generated questions for the extension UI.
- Landing page: https://tunny-buzz.netlify.app/
git clone https://github.com/tunjiadeyemi/buzz-backend.git
git clone https://github.com/tunjiadeyemi/buzz-frontend.gitbuzz-backend/API servicebuzz-frontend/landing page and extension
- Node.js (LTS recommended)
- pnpm (recommended; both repos include
pnpm-lock.yaml)
cd buzz-backend
cp .env.example .env
pnpm install
pnpm drizzle-kit push
pnpm devThe API will start on the port defined in .env (default is 9999).
cd buzz-frontend
pnpm install
pnpm devThis starts the SvelteKit dev server.
- Open a terminal and run
npm run build. - Open Chrome and go to "Manage extensions".
- Click "Load unpacked".
- Select the
buzz-frontend/clientfolder.
Edits in the client folder require a manual extension refresh in Chrome. There is no live reload. Also apply the same changes to the original source files before committing.
- Start the backend as above (default
http://localhost:9999). - Point the frontend extension API URL to your local backend:
- Update
API_URLin:/client/api.js
- Example:
const API_URL = 'http://localhost:9999';
- Update
- Refresh the extension in Chrome.
- Test on a webpage.
- revisit the manifest.json and edit whatever you feel you need to change
- here's a step-by-step guide for the chrome store developer dashboard: https://developer.chrome.com/docs/webstore/publish