A search engine aggregating content from multiple sources including Discord servers, Matrix chat, web pages, GitHub repositories, and technical documentation.
- Production: https://search.fluffylabs.dev
- Beta: https://jam-search2.netlify.app
- React 19 + TypeScript
- Vite
- TailwindCSS 4
- React Query
- React Router 7
- Node.js 22
- Hono
- Drizzle ORM + PostgreSQL
- OpenAI (embeddings & vector search)
- Discord.js, Matrix SDK, Firecrawl
├── client/ Frontend application
└── backend/ API server and data indexing
cd backend
npm install
npm run devRequired environment variables:
DATABASE_URL- PostgreSQL connection stringOPENAI_API_KEY- OpenAI API keyDISCORD_TOKEN- Discord bot tokenMATRIX_ACCESS_TOKEN- Matrix access token- Additional configuration in
backend/src/env.ts
cd client
npm install
npm run devConfigure API endpoint in client/src/consts.ts
The backend includes scripts for indexing content:
npm run fetch-discord # Index Discord messages
npm run fetch-github # Index GitHub pages
npm run fetch-pages # Index web pages
npm run generate-embeddings # Generate vector embeddingsAutomated jobs run daily to keep content updated.
- Backend: Deployed to https://search-api.fluffylabs.dev
- Frontend: Deployed to Netlify (beta) and custom domain (production)
MPL-2.0