Problem Solving
How I investigate and decide
Written in the format technical interviewers use: problem, root cause, decision, implementation, result.
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.
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.
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.