Knowledge Sweeper is an application for syncing, organizing, searching, and analyzing messages from Discord and Slack. It provides a beautiful dashboard, onboarding wizard, OAuth integration, and advanced search powered by a robust backend. Built with Next.js, React, TypeScript, Zustand, and Tailwind CSS.
- Discord and Slack OAuth authentication
- Guided onboarding and profile management
- Real-time dashboard with stats and activity
- Message search, filtering, and semantic highlights
- Collection management and message organization
- Responsive, accessible UI with modern design
- Robust error handling and notifications
- Next.js (App Router)
- React
- TypeScript
- Zustand (state management)
- Axios (API requests)
- Tailwind CSS (UI)
- Lucide (icons)
- Node.js >= 16
- Backend API (see backend setup)
- Discord and Slack developer credentials
git clone https://github.com/onoja123/knowledge-sweeper.git
cd knowledge-sweeper
npm installCreate a .env.local file in the root directory and set:
NEXT_PUBLIC_API_URL=http://localhost:4000/api/v1npm run devsrc/app— Next.js app directory (pages, layouts, routes)src/components— Shared UI components (Toast, Nav, NotFound)src/services— API and backend service logicsrc/types— TypeScript types and interfacessrc/store— Zustand state managementsrc/utils— Utility functions
The frontend communicates with the backend via RESTful API endpoints for:
- Discord and Slack OAuth flows
- Message sync and search
- Collection management
- User onboarding and profile
- ESLint, Prettier, and EditorConfig for consistent code style
- All TypeScript types are centralized in
src/types - Run
npm run lintbefore submitting a PR
- Fork the repo
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -am 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - Create a new Pull Request
MIT
- Ensure your backend is running and API URL is set correctly in
.env.local - For OAuth, use valid Discord/Slack credentials and redirect URIs
For support, open an issue or contact the maintainers.