Skip to content

About

**Questionify** is an offline-first, local-AI workspace that transforms documents into study notes and interactive quizzes. Powered privately by Ollama, ChromaDB, and a LangGraph agent pipeline, it features real-time generation telemetry and a subjective AI grading engine within a minimalist, human-designed SaaS interface.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Questionify — Local AI-Powered Study Companion

An offline-first SaaS workspace that parses study documents, extracts structured notes, generates customized practice quizzes (MCQ, True/False, Short & Long Answer), and grades your answers dynamically using a local Llama agent pipeline.


🛠️ Key Features

  • 📑 Multi-Format Parsing: Upload PDFs, .docx files, and plain text files.
  • 🦙 Local AI Processing: Powered entirely offline by Ollama (llama3.2 text generation and nomic-embed-text embeddings).
  • 🗂️ Vector Indexing: Document chunks embedded and indexed in ChromaDB for search and retrieval.
  • 📝 Interactive Quizzes: Immediate scoring and evaluation critiques. Short/long answers are reviewed qualitatively (0-100 score, missing points, and advice on how to improve).
  • ⚡ Real-Time Status Tracker: Watch the agent execute in real-time with step-by-step descriptions (AI Node 1/4 -> AI Node 2/4 -> AI Node 3/4 -> AI Node 4/4).
  • 🎨 Human-Crafted Minimalist UI: Sleek Stripe/Linear style interface with curated monochrome accents, high-quality outline SVG icons, and a responsive layout.

🏗️ Architecture Workflow

graph TD
    A[File Uploaded] --> B[Text Extraction]
    B --> C[Vector Embedding with nomic-embed-text]
    C --> D[(ChromaDB)]
    
    E[AI Agent Launch] --> F[AI Node 1: Analyze Topics]
    F --> G[AI Node 2: Generate Study Notes]
    G --> H[AI Node 3: Write Practice Questions]
    H --> I[AI Node 4: Quality Review]
    I --> J[(SQLite DB Storage)]
    
    K[Practice Quiz] --> L[Submit Answer]
    L --> M{Is Short/Long?}
    M -- Yes --> N[Ollama Grading Engine]
    M -- No --> O[Exact String Match]
    N --> P[Render feedback, score & suggestions]
    O --> P
Loading

⚙️ Local Setup Guide

1. Prerequisites

2. Pull local models

Make sure Ollama is running and pull the required text generation and embedding models:

ollama pull llama3.2
ollama pull nomic-embed-text

3. Backend Setup

  1. Navigate into the backend directory:
    cd backend
  2. Create and activate a Python virtual environment:
    python3 -m venv venv
    source venv/bin/activate  # On Windows use: venv\Scripts\activate
  3. Install dependencies:
    pip install -r requirements.txt
  4. Copy the environment template:
    cp .env.example .env
  5. Start the FastAPI development server:
    uvicorn app.main:app --reload

The backend API documentation will be available at http://localhost:8000/docs.

4. Frontend Setup

  1. Navigate into the frontend directory:
    cd frontend
  2. Install dependencies:
    npm install
  3. Start the Next.js development server:
    npm run dev

Open http://localhost:3000 in your browser to start studying!


🧬 Technology Stack

  • Frontend: Next.js (App Router), React, Vanilla CSS, custom SVG icons.
  • Backend: FastAPI, SQLAlchemy (SQLite), LangChain / LangGraph, PyPDF, python-docx.
  • Vector Database: ChromaDB (integrated locally).
  • Inference: Ollama (running locally on localhost).

Questionify

About

**Questionify** is an offline-first, local-AI workspace that transforms documents into study notes and interactive quizzes. Powered privately by Ollama, ChromaDB, and a LangGraph agent pipeline, it features real-time generation telemetry and a subjective AI grading engine within a minimalist, human-designed SaaS interface.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors