Skip to content

Loading portfolio

0%

MEMohan E

Problem Solving

How I investigate and decide

Written in the format technical interviewers use: problem, root cause, decision, implementation, result.

Case 1

Ungrounded AI answers in tutoring flows

Problem

Early AI responses occasionally ignored course materials and produced generic or incorrect guidance.

Root cause

Generation was under-constrained: retrieval depth, prompt packing, and low-confidence handling were incomplete.

Investigation

  • Compared answers with and without retrieved context.
  • Inspected chunk quality and metadata filters in Qdrant.
  • Reviewed prompt templates for instruction hierarchy.

Architecture decision

Adopt retrieval-first prompting with explicit source context and a safe fallback when confidence is low.

Implementation

  • Increased relevance filtering before prompt assembly.
  • Added Redis-backed turn memory without letting it override retrieved facts.
  • Returned clear fallback messaging when retrieval was insufficient.

Result

[Result] — e.g. measurable reduction in unsupported answers during faculty review.

Business value

Increased trust in AI tutoring and reduced risk of learners acting on incorrect guidance.

Case 2

Slow assessment and reporting endpoints

Problem

Faculty and admin screens degraded during peak academic windows.

Root cause

Heavy joins, missing indexes, and repeated computation on read paths.

Investigation

  • Captured slow query logs and endpoint timings.
  • Mapped N+1 patterns in report builders.
  • Identified cacheable reference and aggregate data.

Architecture decision

Optimize the read path first: indexes, query reshape, and Redis caching for expensive aggregates.

Implementation

  • Added targeted indexes for filter/sort columns.
  • Precomputed selected aggregates for dashboards.
  • Cached hot responses with explicit invalidation hooks.

Result

[Result] — e.g. p95 latency reduced from [A] to [B].

Business value

Kept academic operations responsive during high-concurrency periods.

Case 3

Fragile material processing for mixed documents

Problem

Uploads failed or produced incomplete text, breaking downstream embeddings and search.

Root cause

A single extraction path was used for heterogeneous PDFs, scans, and media.

Investigation

  • Classified failure modes by document type.
  • Measured OCR vs native-text extraction success.
  • Reviewed retry and dead-letter behavior.

Architecture decision

Introduce type-aware processing workers with normalized output contracts.

Implementation

  • Detected document type before selecting an extractor.
  • Normalized text + metadata before embedding.
  • Added retries and operator-visible failure states.

Result

[Result] — higher ingestion success and fewer manual reprocesses.

Business value

Made AI search and tutoring dependable across real institutional content.