Skip to content

Projects

AI Outreach Assistant

FastAPIReactLangGraphOllamaPostgreSQL / pgvectorDockerAWSGitHub Actions
  • Built a React/TypeScript and FastAPI outreach assistant integrating Tsenta MCP, Serper, and Ollama to research contacts and draft grounded LinkedIn notes across 797 tracked applications, with durable LangGraph checkpoints and validation gates for restart recovery.
  • Implemented SQLAlchemy and PostgreSQL/pgvector retrieval with embedding caches and lexical fallback, enforcing 200-character notes and session/CSRF protections, with draft editing and provider-failure recovery covered by 130 pytest and 11 Playwright tests.
  • Deployed the app as a non-root Docker container on AWS EC2 via CloudFormation with Secrets Manager, encrypted storage, and zero inbound ports, gated by GitHub Actions CI running backend, browser, and container smoke tests on every push.

Project details

AI Outreach Assistant

Problem
Turn job-application history into relevant, personalized professional outreach while keeping the user in control of each message.
Workflow
A React dashboard and FastAPI backend sync application history through Tsenta MCP, research potential contacts through Serper, and prepare LinkedIn outreach with local Ollama models. Persistent LangGraph workflows support checkpointing, bounded retries, and review pauses. Users review and send messages manually.
Grounded personalization
Versioned approved experience and job-description evidence support PostgreSQL/pgvector retrieval. Model-selected facts and source spans are validated before a deterministic renderer assembles the draft; suggestions remain separate from user-edited messages.
Deployment & validation
Containerized the application and verified a temporary private AWS EC2 deployment using CloudFormation, encrypted EBS, Secrets Manager, and IAM-controlled Systems Manager access. Validation covered backend and browser tests, real PostgreSQL/pgvector integration, backup/restore, and a small synthetic Ollama smoke test.

Efficient Test-Time Scaling through Execution-Supervised Refinement

Gemini APILLMsExecution-Supervised Refinement
  • Achieved 88.3% MBPP, 98.3% GSM8K, and 76.7% BoolQ accuracy across 150 sampled problems with Gemini 2.0 Flash at 1.35 model calls per MBPP problem, beating the MiPS best-of-32 baseline of 57.8% on MBPP with over 95% fewer calls.
  • Architected Self-Refine-Loop, a Gemini 2.0 Flash pipeline that generates code, runs unit tests in an isolated Python subprocess with a 10-second timeout, and feeds error traces such as NameError back for up to 3 refinement iterations.
  • Doubled MBPP accuracy from 40.0% to 88.3% by Context Injection of missing helper classes such as Pair and Node into the prompt and execution scope, after an ablation traced most failures to undefined data structures rather than wrong logic.

Research details

Efficient Test-Time Scaling through Execution-Supervised Refinement

Question
Can execution feedback help an LLM repair a solution with fewer model calls than generating many candidates?
Method
Generate code with Gemini 2.0 Flash, run its unit tests in an isolated Python subprocess with a 10-second timeout, and feed error traces back for up to three refinement iterations. Context injection supplies missing helper definitions, while temperature adapts to the error type.
Reported MBPP accuracy: Self-Refine 88.3%, MiPS reference 57.8%. GSM8K: Self-Refine 98.3%, MiPS reference 80%.

Evaluation: 60 MBPP, 60 GSM8K, and 30 BoolQ problems. MiPS values are literature references using different model and evaluation setups.

Mid-Day Meal Analysis using Machine Learning

Scikit-learnKNNLogistic RegressionLightGBMDjango
  • Developed scikit-learn KNN and Logistic Regression models on funds-disbursed and food-ingredient data across 24 Indian states, reaching 94.2% and 91.6% accuracy at 0.93 precision for child meal-program outcome prediction.
  • Built LightGBM classifiers for rice, wheat, and dry-bean quality inspection reaching 99.88%, 92.52%, and 93.22% accuracy, serialized with Pickle and served through a Django web app for interactive food-quality predictions.

Research details

Mid-Day Meal Analysis using Machine Learning

Question
How can nutrition requirements, meal outcomes, and ingredient quality inform India’s Mid-Day Meal program?
Method
Use K-Nearest Neighbors to predict protein requirements and Logistic Regression to evaluate meal outcomes. Separate LightGBM classifiers inspect rice, wheat, and dry-bean quality.
Findings
The study reports 94.2% accuracy for KNN and 91.6% for Logistic Regression. Food-quality classifiers achieved 99.88% for rice, 92.52% for wheat, and 93.22% for dry beans.
Application
Models were serialized with Pickle and served through a Django web app for interactive food-quality predictions.
Nutrition composition chart

Alzheimer’s Disease Detection & Categorization

Logistic RegressionDecision TreesDjango
  • Trained Logistic Regression and Decision Tree classifiers on a 374-row, 15-attribute OASIS dataset to flag dementia, reaching 95% and 91% accuracy, with tuning lifting the decision tree from a 0.906 baseline.
  • Built a Django web form in Python, HTML, and CSS where patients submit clinical attributes and receive a demented or non-demented prediction from the trained model, preparing data with Pandas and NumPy.

Research details

Alzheimer’s Disease Detection & Categorization

Question
How can clinical assessment features support the classification of dementia-related patient data?
Method
Compare Logistic Regression with a Decision Tree tuned using Grid Search CV. Inspect feature importance and PCA projections, then integrate the prediction model into a Django form.
Findings
The paper reports 95% accuracy for Logistic Regression and 91% for the tuned Decision Tree. CDR and MMSE were among the important assessment features.
Application
The Alzem-cure research prototype combines model predictions with pages containing games and activities. These are study results, not clinical validation.
Classifier confusion matrix

Brain Tumor Classification Pipeline

KNNPCAPlotly Dash
  • Tuned a K-Nearest Neighbors classifier on a 699-row, 11-column tumor dataset, evaluating K values from 1–50 with cross-validation and achieving 97% classification accuracy.
  • Applied PCA to reduce features into two- and three-dimensional spaces; used Plotly Dash to compare actual and predicted class separation and investigate misclassifications.

Research details

Brain Tumor Classification Pipeline

Question
How well can a KNN classifier distinguish tumor classes, and what can visualization reveal about its errors?
Method
Evaluate neighborhood sizes from 1–50 with cross-validation, then use PCA to project features into two and three dimensions for comparison of actual and predicted classes.
Findings
The paper reports 97% accuracy after tuning, with four false positives and one false negative in its test confusion matrix.
Visualization
Interactive Plotly Dash views expose class separation and misclassified samples in the research dataset.
Classifier confusion matrix

Automatic Rain-Shade Simulation (Arduino + Proteus)

EmbeddedSimulationAutomation
  • Simulated an UNO + rain sensor controlling dual servos for a retractable roof.
  • Modeled the roof mechanism in AutoCAD 2020 and simulated rain-triggered 90-degree servo movement in Proteus.
  • Documented circuit, algorithm, and test cases for home-automation use.

Research details

Automatic Rain-Shade Simulation (Arduino + Proteus)

Question
Can an automatic roof protect clothes on a clothesline when rain begins while the user is away?
Method
Simulate an Arduino UNO, a rain sensor, and two servo motors in Proteus. Model the mechanical arrangement in AutoCAD 2020.
Operation
A rain signal triggers a 90-degree rotation of the servo motors to move the shade. When the sensor returns to its dry state, the servos return to their original position.
Outcome
The paper documents the circuit simulation and mechanical design for a home-automation concept; it does not report a field-tested hardware deployment.
Annotated circuit connections