DEV Community

Julio Díaz
Julio Díaz

Posted on

StudyFlow AI

StudyFlow AI

The multi-agent platform that transforms your notes into real study results.

StudyFlow AI
Heroku
Multi-Agent


🎯 Problem

Students accumulate notes, PDFs, articles, slides and web pages, but they struggle to convert that information into concrete learning results: clear summaries, flashcards, practice exams or presentations. Tools like Notion AI or ChatGPT help partially, but they are not designed for the complete academic experience.


💡 Solution

StudyFlow AI is a platform powered by collaborative AI agents that, from a student's materials, automatically generates useful products for study and research:

  • ✅ Structured summaries adapted to the student's level
  • ✅ Quizzes and flashcards for self-assessment
  • ✅ Study guides with personalized routes
  • ✅ Drafts of slides and academic documents
  • ✅ Progress tracking and review suggestions

🤖 Multi-Agent Architecture

Specialized Agents

  1. 🗃️ Ingestor Agent: processes PDFs, notes, articles and generates embeddings (using pgvector in Heroku Postgres).
  2. 📋 Summarizer Agent: synthesizes information and structures content.
  3. 👨‍🏫 Tutor Agent: explains concepts step by step adapted to the student's level.
  4. ✅ Evaluator Agent: generates quizzes, flashcards and analyzes responses.
  5. 📊 Generator Agent: produces drafts of documents and presentations.
  6. 💭 Conversational Agent (bonus): simulates debates between "virtual experts" to explore different angles of a topic.

Coordination

The agents coordinate using Heroku Managed Inference and Agents + MCP, sharing dynamic context according to the task.


🛠️ Technical Stack

  • Frontend: Next.js 15 / React 19, Tailwind CSS, shadcn/ui
  • Backend: Node.js on Heroku
  • Database: Heroku Postgres with pgvector extension for embeddings
  • AI: Heroku AI Agents + integration with LLMs via MCP
  • Storage: Heroku Add-ons (for PDF files, etc.)

🚀 Installation and Development

Requirements

  • Node.js 20.x
  • npm or yarn
  • Heroku account

Local Setup

git clone <repo-url>
cd studyflow-ai
npm install
cp .env.example .env.local
# Configure environment variables
npm run dev
Enter fullscreen mode Exit fullscreen mode

Deploy to Heroku

# Connect with Heroku CLI
heroku create studyflow-ai-demo
heroku addons:create heroku-postgresql:essential-0
heroku config:set NODE_ENV=production
git push heroku main
Enter fullscreen mode Exit fullscreen mode

🧩 User Flow

  1. The student uploads a PDF or their notes.
  2. The Ingestor Agent organizes the information and creates embeddings.
  3. The Summarizer Agent delivers a clear outline.
  4. The student requests a study plan → the Tutor Agent creates a personalized route.
  5. The Evaluator Agent generates flashcards and quizzes.
  6. If desired, the Generator Agent produces a draft of slides or essay.
  7. The Conversational Agent simulates debates between virtual experts.

✨ Differentiators

  • True Multi-Agent: it's not just a chat, but specialized agents that collaborate.
  • 🎯 Tangible Results: not just "answers", but ready-to-use study materials (quizzes, slides, guides).
  • 📈 Measurable Progress: tracking and personalized recommendations.
  • 🎭 Creativity: debates between agents in "podcast" style to explore a topic from multiple perspectives.

🚀 Impact

StudyFlow AI helps students save time, organize their study better and understand more deeply. It is an academic assistant that converts chaotic information into structured learning, maximizing the power of Heroku AI.


🏆 Heroku Challenge 2025

This project is part of the Heroku Back-to-School AI Challenge, demonstrating the power of multi-agent architecture in modern education.

#HerokuChallenge #StudyFlowAI #MultiAgent #EducationTech

Study Sidekick is a streaming study-coach built with Next.js, the shadcn component system, and Google’s Gemini 2.5 Flash model. It is designed to showcase how far a single Heroku Eco dyno and the student AI credit allotment can go without incurring additional cost.

✨ Highlights

  • Gemini 2.5 Flash via Vercel AI SDK – streaming UI with safety tuned defaults and quick-stop controls.
  • Competitive UX – responsive shadcn + Tailwind UI with Inter font tracking tweaks, quick prompts, and progress context cards.
  • Zero-cost operations – runs on an Eco dyno, leans on free Gemini quota, and documents the deployment story for judges.

🧱 Tech stack

Getting started locally

  1. Copy environment variables:

    cp .env.example .env.local
    
  2. Populate GOOGLE_GENERATIVE_AI_API_KEY with a Gemini API key.

  3. Install dependencies and run the development server:

    npm install
    npm run dev
    
  4. Open http://localhost:3000 to explore the Study Sidekick console.

Environment variables

Name Description
GOOGLE_GENERATIVE_AI_API_KEY Google Generative AI key with access to Gemini 2.5 Flash (free-tier compatible).

Create the variable in .env.local for local work, and configure it in Heroku with heroku config:set GOOGLE_GENERATIVE_AI_API_KEY=... before deployment.

Deployment to Heroku (Eco dyno)

  1. Log in and create the app:

    heroku login
    heroku create study-sidekick
    
  2. Set environment variables:

    heroku config:set GOOGLE_GENERATIVE_AI_API_KEY=your_key_here
    
  3. Push to Heroku:

    git push heroku main
    

    Heroku will run npm install, execute the heroku-postbuild script (next build), and boot the web dyno with Procfile (npm run start).

  4. Optional polish:

    • Use the free Heroku Scheduler add-on to ping the app hourly and keep the Eco dyno warm.
    • Add logs or metrics for latency snapshots; judges love operational receipts.

Cost & credit notes

  • Dyno: Eco tier (1,000 shared hours) – covered by student credits.
  • AI usage: Gemini 2.5 Flash free quota (or Google AI Studio credits).
  • Add-ons: None required. MCP / pgvector can be layered in later without breaking the budget.

Project scripts

  • npm run dev – start the Next.js dev server.
  • npm run build – create a production build.
  • npm run start – run the production server (used by Heroku).
  • npm run lint – execute ESLint.

Pitch checklist

Use the in-app “Launch checklist” card as a reminder to capture screenshots, latency metrics, and credit usage proof when preparing the final submission package.

Top comments (0)