Adaptive learning that fits how you think. Personalized tools to organize, study, and grow—because great ideas can come from anyone, anywhere.
Chiara is an open-source, AI-powered study companion and document assistant designed to make advanced learning tools accessible to everyone. From the very beginning, Chiara was built with direct input from students—including those with learning difficulties and disabilities—to ensure that its features are truly inclusive, flexible, and supportive of diverse learning needs. Whether you’re looking for personalized study aids, accessible document engagement, or just a smarter way to organize your materials, Chiara is here to help you learn your way.
👉 Try it now: chiara.help
- Interactive AI Tutor: Chat with an AI that answers questions about your uploaded materials, with source citations and tailored explanations.
- Document Q&A: Ask questions about your PDFs, notes, and audio files. The AI can reference specific pages and content.
- Automatic Lecture Transcription: Upload audio lectures and get instant, accurate transcripts.
- Flashcard, Mindmap, and Quiz Generation: Instantly create study aids from your documents.
- Text-to-Speech: Listen to your documents with on-demand audio generation and playback controls.
- Contextual Notes & Artifacts: Take notes and create highlights directly linked to your study materials.
- Course & File Organization: Group files by course, search, preview, and manage all your study resources in one place.
- Multi-language Support: English and Italian UI (with i18n support).
- Frontend: React (Vite, TailwindCSS, Lucide icons, i18n)
- Backend: Firebase Functions (Node.js, ES Modules), Firestore, Firebase Storage, Pub/Sub, App Check
- AI Integrations: OpenAI, Gemini, Mistral, DeepInfra, and more
- Hosting: Firebase Hosting
Chiara/
├── src/ # Frontend React app
├── functions/ # Firebase Cloud Functions (Node.js)
├── public/ # Static assets, legal, and translation files
├── firestore.rules # Firestore security rules
├── storage.rules # Storage security rules
├── firebase.json # Firebase project config
└── ...
git clone https://github.com/cver-me/chiara-free.git
cd chiara-free- Frontend:
npm install
- Backend (Cloud Functions):
cd functions npm install cd ..
- Frontend:
- Uses Vite-style
VITE_env vars. Seesrc/utils/firebase.jsfor required keys:VITE_FIREBASE_API_KEYVITE_FIREBASE_AUTH_DOMAINVITE_FIREBASE_PROJECT_IDVITE_FIREBASE_STORAGE_BUCKETVITE_FIREBASE_MESSAGING_SENDER_IDVITE_FIREBASE_APP_IDVITE_FIREBASE_MEASUREMENT_IDVITE_USE_FIREBASE_EMULATOR(optional, for local dev)
- Uses Vite-style
- Backend (Cloud Functions):
- Create a
.envfile infunctions/with the following keys (see code for full list):GEMINI_API_KEYMISTRAL_API_KEYDEEPINFRA_API_KEYMAILGUN_API_KEY,MAILGUN_DOMAIN,MAILGUN_SENDER_EMAILLANGFUSE_PUBLIC_KEY,LANGFUSE_SECRET_KEY(optional, for observability)ZEROENTROPY_API_KEY(if using ZeroEntropy features)
- Create a
- Frontend:
npm run dev
- Backend (Functions Emulator):
cd functions npm run serve - All Firebase Emulators:
firebase emulators:start
- Build Frontend:
npm run build
- Deploy to Firebase:
firebase deploy
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
- Please follow the existing code style (see ESLint/Prettier configs).
- Add tests or documentation for new features when possible.
- Respect user privacy and security in all contributions.
Apache License 2.0 — See LICENSE file for details.
- Inspired by students and educators worldwide.
- Built with Firebase, OpenAI, Google Gemini, Mistral, and the open-source community.
Chiara is open-source and always improving. Contributions, feedback, and ideas are welcome!
