DEV Community

Pratyush Mishra
Pratyush Mishra

Posted on

Aakhri Tareekh: An Offline AI That Finds Deadlines in College Notices

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝

Aakhri Tareekh — आख़िरी तारीख

An offline-first college notice reader for the friend who keeps missing deadlines.

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend.

What I Built

College notices are often long, messy PDFs or scanned documents. Important dates can be buried inside several pages, and missing one deadline can mean missing a registration, payment, examination, or application.

I built Aakhri Tareekh (आख़िरी तारीख) for a friend who repeatedly discovers important college deadlines too late.

The app turns a college notice into a clear set of actions:

  • Finds deadlines from notice pages
  • Identifies the required action
  • Identifies who the deadline applies to
  • Extracts fees and required documents
  • Shows supporting evidence for each deadline
  • Marks ambiguous dates as unclear instead of guessing
  • Lets confirmed dates be exported as .ics calendar events

The core idea is simple:

Turn a messy college notice into one trustworthy next action.

Demo

The project currently runs locally with Ollama and does not require a cloud AI API.

Demo flow:

  1. Upload a college notice PDF or image.
  2. Select the page containing the relevant dates.
  3. Qwen3.5-4B reads the page locally.
  4. The application extracts deadlines, actions, audience, fees, and evidence.
  5. Confirmed dates can be exported as an .ics calendar event.

GitHub repository: https://github.com/pratyushmishra9920-ship-it/aakhri-tareekh

Code

The project is built with:

  • Python
  • FastAPI
  • HTML/CSS/JavaScript
  • Ollama
  • Qwen3.5-4B
  • PyMuPDF for PDF page rendering
  • ICS calendar export

The repository contains the complete application, setup instructions, requirements, and the dashboard screenshot.

How I Built It

The AI core uses the open-weight Qwen3.5-4B model locally through Ollama.

A selected notice page is rendered as an image and passed to the local model with a strict extraction prompt. The model returns structured JSON containing the title, deadlines, actions, audience, fees, documents, summary, and evidence.

I deliberately designed the extraction process to be conservative.

The system is instructed to:

  1. Extract a deadline only when an actual date is visibly written on the current page.
  2. Never infer a date from another page, annexure, website, or cross-reference.
  3. Never silently change a visible year.
  4. Preserve date ranges instead of converting them into a single date.
  5. Return null and unclear when a date is ambiguous or uncertain.
  6. Require evidence for every extracted deadline.
  7. Avoid turning ordinary dates into deadlines.

This matters because a wrong deadline can be worse than no deadline at all.

For example, if a notice contains a date range such as 15 July 2026 to 19 July 2026, the application does not arbitrarily choose one of those dates as the deadline. It preserves the range and marks it as unclear when a single calendar date cannot safely be determined.

Why Does Open Innovation Matter?

Using an open-weight model locally changes what this application can do.

Privacy: College notices can contain academic, registration, payment, or student information. The document can remain on the user's machine.

Offline-first: After downloading the model, notice analysis can run locally without sending documents to a cloud AI service.

No per-notice API bill: Local inference means there is no cloud API request for every notice.

Model freedom: Because the application communicates with Ollama, the underlying model can be replaced or upgraded later.

Custom behavior: The extraction process can be specifically designed around college notices and a strict no-guessing policy rather than relying on a generic document summarizer.

The open model is therefore not just a cheaper replacement for a closed API. It gives me control over where the data goes and how the model is used.

My Agent Session

I used AI coding assistance while developing the project.

I did not complete a DevRelay session that I can provide as a verified agent-session artifact for this submission, so I am not claiming a DevRelay-specific category.

Prize Categories

This submission is for the Overall Winner of the Hacktoberfest Weekend Challenge: Build for a Friend.

I am not claiming a partner-specific prize category that requires technology I did not actually use in this project.

The Friend Behind It

The project started from a very practical problem.

A friend kept missing important college deadlines because the information was buried inside notices that were difficult to scan quickly.

I could have built a generic AI document summarizer, but that would not solve the actual problem.

Instead, I focused the application on one specific outcome:

What do I need to do, and when do I need to do it?

That focus influenced the entire design — especially the evidence shown alongside each extracted deadline and the decision to say unclear instead of guessing.

What I Learned

The biggest lesson from building Aakhri Tareekh was that an AI application does not always need to be more confident.

For a deadline extractor, knowing when not to guess is a feature.

Working with a local open-weight vision model also made me think about the complete AI system rather than treating an API call as the whole application.

The project started as a simple idea for one friend, but it became a useful example of how local open AI can be combined with a focused workflow to solve a very specific real-world problem.


Built for the Hacktoberfest Weekend Challenge: Build for a Friend.

devchallenge #weekendchallenge #hf26challenge

Top comments (0)