Command analysis, local browser Q&A, Kafka ingestion, retrieval, and offline messaging. Explore the architecture, interfaces, and tradeoffs behind each implementation.
A TypeScript extension that extracts DOM text and tables, runs Tesseract.js OCR, caches page context in IndexedDB, and answers with extractive sentence scoring.
A FastAPI and Next.js prototype combining layered PDF extraction, OCR fallback, local MiniLM embeddings, NumPy cosine retrieval, and source-aware document chat.
A Next.js prompt workspace with FastAPI task endpoints, Celery generation/evaluation workers, Redis result handling, and PostgreSQL-backed prompt history and libraries.
Downloads public incident PDFs, reconstructs wrapped records with PyPDF2 and regular expressions, inserts normalized SQLite rows, and reports grouped incident counts.
A Flask interface that reads incident records with pandas, geocodes addresses, clusters coordinates with KMeans, and renders Matplotlib/Seaborn chart artifacts.
A Flask NLP workflow combining resume extraction, SentenceTransformer embeddings, TF-IDF similarity, and structured skills to rank resumes against job descriptions.
An NLP experiment using redaction length, neighboring words, POS tags, and n-grams with CountVectorizer and class-balanced logistic regression to reconstruct names.
React and Dexie/IndexedDB track pending messages; authenticated FastAPI WebSockets deliver room events, while a sync API reconciles offline records and server IDs.
The original FastAPI service for this portfolio’s projects, journal entries, and contact workflows. The website now uses repository-managed JSON content.
Clusters location history with DBSCAN, identifies frequently visited places, perturbs sensitive coordinates, and integrates with a browser geolocation override.