←Back to Works / Projects
Mobile//AI & ML
LIVE SYSTEM
MobileAI & ML

Nimma-Guru

Community Mentorship Directory Powered by Google Gemini 2.0 Flash

Stack:KotlinJetpack ComposeGoogle Gemini 2.0Firebase
YOUR ROLE & SCOPEAndroid Lead Intern (MindMatrix)
TIMELINE3 Months
CORE CONSTRAINTSBuilding responsive Android Material 3 Compose UI with multi-dialect voice query support
DEPLOYMENTAndroid Jetpack Compose + Firebase + Gemini 2.0 Flash
error_outline

// 01. THE PROBLEM

Students in non-metropolitan towns struggle to find verified local mentors for career guidance, technical skills, and academic prep due to rigid directory filters.

account_tree

// 02. SYSTEM ARCHITECTURE & PIPELINE FLOW

STAGE 01QUERY

Voice & Natural Text Query Ingestion

Accepts student query in multi-dialect natural language via voice or text.

STAGE 02PARSING

Gemini 2.0 Flash Intent Extraction

Passes natural input through Gemini 2.0 Flash to extract JSON intent schema (domain, language, urgency).

STAGE 03MATCHING

Firebase Repository Intent Query

Queries mentor database using structured intent parameters.

STAGE 04RENDER

Material 3 Compose UI Cards

Renders verified mentor profiles with one-tap connect options.

balance

// 03. TECHNICAL APPROACH & DECISION MATRIX

01Google Gemini 2.0 Flash Integration

✓ DECISION CHOSEN

Gemini 2.0 Flash Structured Output Parsing

Conversational query extraction allowed students to search naturally ("someone who can teach me coding in Kannada") rather than selecting rigid UI dropdowns.

✕ REJECTED ALTERNATIVE

Static SQL Tag Filters

Required students to know precise keywords and missed conversational intent.

terminal

// 04. CORE ARCHITECTURAL LOGIC

Gemini 2.0 Flash natural language query extraction for Android mentor search.

ai/MentorMatcher.kt
12345678910
suspend fun findMentorMatches(studentQuery: String): List<MentorProfile> { val generativeModel = Firebase.ai.generativeModel("gemini-2.0-flash") val prompt = """ Extract domain skills, language preference, and intent from query: "$studentQuery". Respond in JSON schema: {"skills": [], "language": "", "urgency": ""} """.trimIndent() val response = generativeModel.generateContent(prompt) val parsedIntent = jsonDecoder.decodeFromString<SearchIntent>(response.text!!) return mentorRepository.queryMentorsByIntent(parsedIntent) }
task_alt

// 05. TRADE-OFFS & HONEST REFLECTION

Cloud AI inference requires active network access, but unlocked rich conversational multi-dialect search capability.

query_stats

// 06. CONCRETE OUTCOMES & VERIFIED METRICS

10+
Material 3 Screens
Built with Jetpack Compose
Gemini 2.0
AI Match Engine
Structured JSON intent parsing
MindMatrix
Production Internship
3-month deployment lifecycle