Tuto is a modern web application to chat with your knowledge base, built with the HONC stack. I specifically created this project to help me learn quickly in exam season.
https://www.youtube.com/watch?v=rdfsIKXmznU
- Auth
- Migrate from better-auth (better-auth exceeds the timeout limit of cloudflare workers free plan)
- Socials
- Knowledge Base
- Document Upload
- Document Processing
- Chat
- Edit past chat
- AI
- Embeddings
- Vector Search
- Multiple AI models
- Add voice input voice output. (Maybe using Gemini 2 or OpenAI Real Time API)
- Improve PDF viewer
- Ability to create a quiz from the knowledge base (kinda like this https://github.com/anis-marrouchi/vercel-ai-sdk-quiz/)
- Ability to create a flashcard from the knowledge base
- Ability to save chat history
- Ability to have multiple chats in one knowledge base
- A separate document manager so users can resuse uploaded documents
- Node.js 18+ and pnpm
- Neon Database account. Enable pg_vector extension in your database. You can follow this guide: https://neon.tech/docs/extensions/pgvector#enable-the-pgvector-extension
- Azure OpenAI account (for AI features)
- Cloudflare account (for deployment)
.
├── apps
│ ├── api # HONC app
│ └── web # React app with Vite
├── package.json
├── packages
│ └── shared
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── README.md
├── tsconfig.json
└── turbo.json
- Create a
.dev.vars
file in theapps/api
directory. Dont forget to replace the placeholders with your own values.
cp apps/api/.dev.vars.example apps/api/.dev.vars
- Create a
.env
file in theapps/web
directory. You dont need change anything.
cp apps/web/.env.example apps/web/.env
- Install dependencies
pnpm install
- Migrate the database
cd apps/api
pnpm db:migrate
- Run the development server
# make sure to run from the root directory
pnpm dev