<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hitesh Verma</title>
    <description>The latest articles on DEV Community by Hitesh Verma (@hitesh_verma_adc5d7d9c533).</description>
    <link>https://dev.to/hitesh_verma_adc5d7d9c533</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4160336%2F9f95d772-fbac-4892-95bd-07b66eb16c39.png</url>
      <title>DEV Community: Hitesh Verma</title>
      <link>https://dev.to/hitesh_verma_adc5d7d9c533</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hitesh_verma_adc5d7d9c533"/>
    <language>en</language>
    <item>
      <title>CampusCue: An Offline AI That Turns Confusing College Notices Into Clear Next Steps</title>
      <dc:creator>Hitesh Verma</dc:creator>
      <pubDate>Mon, 05 Oct 2026 05:36:07 +0000</pubDate>
      <link>https://dev.to/hitesh_verma_adc5d7d9c533/campuscue-an-offline-ai-that-turns-confusing-college-notices-into-clear-next-steps-33oe</link>
      <guid>https://dev.to/hitesh_verma_adc5d7d9c533/campuscue-an-offline-ai-that-turns-confusing-college-notices-into-clear-next-steps-33oe</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  CampusCue — Turn Confusing College Notices Into Clear Next Steps
&lt;/h1&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Have you ever received a 5-page college notice and thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Okay... but what exactly am I supposed to do?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That was the problem I wanted to solve for a friend.&lt;/p&gt;

&lt;p&gt;College students regularly receive scholarship notices, exam circulars, registration announcements, internship opportunities, and administrative PDFs written in formal language. The information is there, but figuring out &lt;strong&gt;what actually matters&lt;/strong&gt; can take a surprising amount of time.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;CampusCue&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;CampusCue takes a college notice and turns it into a simple action plan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📌 What is this notice about?&lt;/li&gt;
&lt;li&gt;⏰ What is the deadline?&lt;/li&gt;
&lt;li&gt;👤 Who is eligible?&lt;/li&gt;
&lt;li&gt;📄 Which documents are required?&lt;/li&gt;
&lt;li&gt;✅ What do I need to do?&lt;/li&gt;
&lt;li&gt;⚠️ Are there any important warnings?&lt;/li&gt;
&lt;li&gt;🔎 Where in the original document did this information come from?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of simply asking AI to summarize a PDF, CampusCue focuses on the question a student actually cares about:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What do I need to do?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal was to build something useful for one real person first, rather than trying to build a generic AI product for everyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🚀 &lt;strong&gt;Live Demo:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://campus-cue.vercel.app/" rel="noopener noreferrer"&gt;https://campus-cue.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The main workflow is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Upload notice → Analyze locally → Get action plan → Ask questions → Verify the source&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application is designed around a simple principle:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Don't just summarize the notice. Make it actionable.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;💻 &lt;strong&gt;GitHub Repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/HITESHVERMA01/CampusCue" rel="noopener noreferrer"&gt;https://github.com/HITESHVERMA01/CampusCue&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the frontend, backend, AI integration, document processing, prompts, and setup instructions.&lt;/p&gt;

&lt;p&gt;The project is open source so that the workflow can be inspected, modified, extended, and reused.&lt;/p&gt;
&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;CampusCue is built around &lt;strong&gt;local open-weight AI&lt;/strong&gt;, rather than depending on a closed AI API.&lt;/p&gt;
&lt;h3&gt;
  
  
  Core stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React + Vite&lt;/strong&gt; — frontend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; — UI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FastAPI&lt;/strong&gt; — backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; — document processing and AI pipeline&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyMuPDF&lt;/strong&gt; — PDF text extraction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama&lt;/strong&gt; — local model runtime&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gemma&lt;/strong&gt; — open-weight AI model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fac0hudb3gt2ccdyr529t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fac0hudb3gt2ccdyr529t.png" alt=" " width="799" height="350"&gt;&lt;/a&gt;&lt;br&gt;
The basic architecture is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;College Notice
      │
      ▼
 PDF / Image Upload
      │
      ▼
 Document Extraction
      │
      ▼
 Page-aware Text
      │
      ▼
 Local Gemma via Ollama
      │
      ▼
 Structured Analysis
      │
      ├── Deadline
      ├── Eligibility
      ├── Documents
      ├── Action Items
      └── Warnings
      │
      ▼
 CampusCue UI
      │
      ├── Action Checklist
      ├── Questions
      └── Source Verification
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8sl3fqxhv8eq2nie7xa9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8sl3fqxhv8eq2nie7xa9.png" alt=" " width="800" height="359"&gt;&lt;/a&gt;&lt;br&gt;
One of the most important design decisions was keeping &lt;strong&gt;page references&lt;/strong&gt; with extracted information.&lt;/p&gt;

&lt;p&gt;If CampusCue says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The deadline is October 12."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;the user can see where that information came from in the original notice.&lt;/p&gt;

&lt;p&gt;This makes the system more useful than a black-box summary and helps reduce the risk of blindly trusting an AI-generated answer.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;This is the part of the project that matters most to me.&lt;/p&gt;

&lt;p&gt;College notices can contain information that students may not want to send to an external AI service.&lt;/p&gt;

&lt;p&gt;A traditional cloud-based approach could look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Private Document
      ↓
Internet
      ↓
Third-party AI API
      ↓
AI Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CampusCue can instead run the core AI workflow locally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Private Document
      ↓
Student's Computer
      ↓
Ollama
      ↓
Gemma
      ↓
Answer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn6h0x4bszk8ojd8h3d7h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fn6h0x4bszk8ojd8h3d7h.png" alt=" " width="799" height="355"&gt;&lt;/a&gt;&lt;br&gt;
That changes what is possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔒 Privacy
&lt;/h3&gt;

&lt;p&gt;When using the local model, the document can be processed on the user's own computer instead of requiring it to be sent to a third-party AI API.&lt;/p&gt;

&lt;h3&gt;
  
  
  💰 No per-request AI API cost
&lt;/h3&gt;

&lt;p&gt;Once the model is available locally, the core inference doesn't require paying for every question or document analyzed through a cloud API.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔧 Model freedom
&lt;/h3&gt;

&lt;p&gt;The application isn't permanently tied to one proprietary model or provider.&lt;/p&gt;

&lt;p&gt;The local model can be replaced and the AI pipeline can be experimented with or extended.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 Offline potential
&lt;/h3&gt;

&lt;p&gt;Because the model runs locally, the core AI functionality can work without an internet connection once the required software and model are installed.&lt;/p&gt;

&lt;p&gt;For me, this is the real value of open innovation:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI isn't just something I'm calling. It's something I can actually run, inspect, change, and build around.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;Coming soon / [add DevRelay session here]&lt;/p&gt;

&lt;p&gt;I also used the build process to explore how an AI-assisted development workflow could help move from an idea to a working product quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🏆 Best Use of Gemma
&lt;/h3&gt;

&lt;p&gt;CampusCue uses an open-weight Gemma model through Ollama as the core reasoning engine for understanding college notices and turning them into actionable information.&lt;/p&gt;

&lt;p&gt;The model isn't simply generating a chatbot response — it is part of the core document-analysis workflow.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb9julbewhp3quz6mqky8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fb9julbewhp3quz6mqky8.png" alt=" " width="799" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;CampusCue is intentionally small right now.&lt;/p&gt;

&lt;p&gt;The next things I'd like to explore are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better OCR for scanned notices&lt;/li&gt;
&lt;li&gt;More robust document retrieval for long PDFs&lt;/li&gt;
&lt;li&gt;Calendar integration for extracted deadlines&lt;/li&gt;
&lt;li&gt;Personalized explanations based on a student's situation&lt;/li&gt;
&lt;li&gt;Support for Hindi/Hinglish explanations&lt;/li&gt;
&lt;li&gt;More reliable citation and evidence extraction&lt;/li&gt;
&lt;li&gt;Fully offline packaging for students&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft21lzr150m560ptcy9hv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft21lzr150m560ptcy9hv.png" alt=" " width="800" height="356"&gt;&lt;/a&gt;&lt;br&gt;
But the most important next step isn't another feature.&lt;/p&gt;

&lt;p&gt;It's giving CampusCue to the friend I built it for and seeing whether it actually makes their life easier.&lt;/p&gt;

&lt;p&gt;Because that was the point of the challenge in the first place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build for one person. Solve one real problem. Then see where it goes.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
