SNSAI NIHAL KONDUTILet’s talk ↗

Agentic AI / Academic advising

CourSelect

A better path
to your next course.

FOCUSFull-stack AI advising
STACKPython · Flask · CockroachDB · Gemini · AWS S3
PROJECTPublic GitHub repository
8,983courses in the catalog
242academic departments
4response fallback tiers

An academic advisor that connects a student’s goals, course history, and enrollment rules to a searchable university catalog.

01 / THE CHALLENGE

Recommendations need context.

Course discovery is only half the problem. A useful recommendation also needs to respect prerequisites, a student’s major, and their completed academic history.

02 / THE SOLUTION

A deliberate path through the problem.

A Flask application brings course browsing, advising, and enrollment together. Semantic retrieval finds relevant courses; the advisor uses student context and eligibility checks to explain the recommendations.

PythonFlaskCockroachDBGeminiAWS S3
03 / BUILD DETAILS

The choices that shape the work.

01

Memory with a purpose

Five memory types keep conversations, student context, task state, vectors, and enrollment data together.

02

A response when models fail

The engine falls back from Gemini to Ollama, Mistral Cloud, and finally direct vector results.

03

Keep the slow work off the path

Parallel pre-fetching, two-level caching, and background S3 uploads reduce work on the response path.

04 / OUTCOME

What the project delivers.

The repository documents a complete advising workflow: catalog exploration, contextual recommendations, enrollment, and protected historical records. Its search cache persists across application restarts.

05 / DESIGN & ENGINEERING TAKEAWAY

Resilience is part of the product.

The central engineering choice is graceful degradation: the catalog and retrieval layer remain useful even when a model provider is unavailable.