https://github.com/mayankmittal29/ask-rezzy
π€ Rezzy β A Full-Stack, LLM-Integrated AI Study Assistant for Medical Students Featuring Flashcard & Question Retrieval via Semantic Vector Search, Embedding-Based Similarity, Retrieval-Augmented Generation (RAG), and Real-Time Response Streaming with WebSockets & Server-Sent Events π§ πβ‘
https://github.com/mayankmittal29/ask-rezzy
expo-router express-js llm-chatbot openai pinecone-db rag-pipeline react-native socket-io typescript
Last synced: 2 months ago
JSON representation
π€ Rezzy β A Full-Stack, LLM-Integrated AI Study Assistant for Medical Students Featuring Flashcard & Question Retrieval via Semantic Vector Search, Embedding-Based Similarity, Retrieval-Augmented Generation (RAG), and Real-Time Response Streaming with WebSockets & Server-Sent Events π§ πβ‘
- Host: GitHub
- URL: https://github.com/mayankmittal29/ask-rezzy
- Owner: mayankmittal29
- Created: 2025-07-12T15:29:38.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-12T16:16:48.000Z (11 months ago)
- Last Synced: 2025-07-12T17:49:25.441Z (11 months ago)
- Topics: expo-router, express-js, llm-chatbot, openai, pinecone-db, rag-pipeline, react-native, socket-io, typescript
- Language: Jupyter Notebook
- Homepage:
- Size: 134 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π€π Ask Rezzy β Your AI-Powered Study Sidekick π
Welcome to **Ask Rezzy**, the β¨ intelligent GenAI assistant built to make your med-school grind easier, faster, and a lot more fun π§ π¬.
> Think of Rezzy as your **resident genius friend** whoβs always ready to:
> - Pull out flashcards from memory π
> - Recall tricky past-year questions π§Ύ
> - Chat with you in real-time π§ββοΈ
> - Answer doubts like a walking textbook ππ‘
---
## π§ Why Ask Rezzy?
When you're buried in anatomy books π, flipping between chapters, and stressing over βwhat to revise,β **Rezzy** becomes your:
- π **Search wizard** for semantically similar questions
- π§ **LLM assistant** trained to fetch, retrieve, and reason
- π¬ **Live chatbot** that streams answers word-by-word
- πͺ **Flashcard flipper** with perfect timing
> βGive me 5 questions on the skeletal systemβ β Rezzy dives into its brain π§ and streams back smartly chosen questions π§Ύβ‘
---
## π Demo & Design
π [**Live Demo** on Loom](https://loom.com)
π¨ [**Figma UI Design**](https://www.figma.com/design/Wk4ao9A1X6HMnivSQwJNVz/Oncourse-Assignments?node-id=3001-917&t=OzeIDYcd8be9TO2e-1)
π [**Drive Link with Dataset**](https://drive.google.com/drive/folders/1Gw8NTQPHoVOy8oEnctd1vpszDDxPQKZ8?usp=drive_link)
---
## π‘ Core Features
| πΌ Feature | π¬ Description |
|--------------------------|----------------|
| π **Semantic Vector Search** | Fetches smart matches based on *meaning*, not just keywords |
| π§ **RAG (Retrieval + Generation)** | Finds useful content and builds contextual responses |
| π¬ **LLM Chat Interface** | Streams responses token-by-token like magic πͺ |
| π§Ύ **Flashcards & PYQs** | Answerable flashcards and previous-year questions |
| π§ββοΈ **Study Mode UX** | Typing indicators, smooth animations, real-time feel |
---
## π§± Tech Stack β Built Different π§
| βοΈ Layer | π οΈ Tech Used |
|-------------|--------------|
| π± Mobile | React Native + Expo (SDK 50+) |
| β¨ Language | TypeScript (strict mode π§ ) |
| π§ Navigation | `expo-router` |
| π Backend | Express.js (REST + SSE + WebSockets) |
| π Vector DB | Pinecone / Weaviate / Chroma (you choose!) |
| π§ LLM | OpenAI (Embeddings + Function Calling) |
| β‘ Real-time | WebSockets (Socket.io) + SSE |
| π State | React Query (TanStack) |
| π§ͺ Testing | Jest (for core pipeline) |
---
## 𧬠Dataset Format
```ts
interface Question {
id: string;
topic: string;
subtopic: string;
question: string;
type: "multiple_choice" | "true_false" | "short_answer";
options?: string[];
correct_answer: string;
difficulty: "easy" | "medium" | "hard";
tags: string[];
}
interface Flashcard {
id: string;
topic: string;
subtopic: string;
front: string;
back: string;
difficulty: "easy" | "medium" | "hard";
tags: string[];
}