MARIANGLEN LOUIS
IengineerAutonomousAIAgentsandMLinfrastructure,focusingoncreatingrobust,audit-readysystemsforthenextgenerationofintelligentautomation.

Who I Am
I build agentic AI systems and the ML infrastructure underneath them. The thread across my work is orchestration, fine-tuning, and refusing to ship a model I haven't measured. I care about systems that survive production, not ones that only work in a demo.
MS Data Science, University at Buffalo (Jan 2026). Open to ML, AI, and MLOps roles. Available to relocate anywhere in the US. Authorized to work in the US now through Feb 2029 (STEM OPT); will need visa sponsorship after that.
Technical Work
A curated selection of my latest projects in AI Engineering, Data Science, and MLOps.
Agentic AI & RAG

REMEDI: Agentic AWS Security & Remediation Platform
A full-stack agentic security platform orchestrated by a 5-stage LangGraph pipeline with 8 parallel specialist sub-agents. Scans an AWS account across 8 services, auto-remediates vulnerabilities after human approval, and verifies fixes, backed by 21 MCP-compliant boto3 tools and a Next.js 15 dashboard.
Key Impact
“Audits 8 AWS services in parallel in under 5 minutes with zero unauthorized changes via a LangGraph human-in-the-loop safety gate and deterministic MCP tool dispatch.”

AuditAI: Agentic RAG Compliance Engine
Architected an Agentic RAG system using LangGraph and CRAG to audit organizational policies against 4 major cybersecurity frameworks (NIST CSF 2.0, SP 800-53, ISO 27001, SOC 2). Optimized with parallelized retrieval, semantic routing, and real-time FastAPI SSE streaming. Validated with a second, cross-family Claude Sonnet 5 judge to rule out self-preference bias in the RAGAS scores.
Key Impact
“Audits policies against 4 frameworks (NIST CSF 2.0, SP 800-53, ISO 27001, SOC 2) simultaneously, achieving 97.8% RAGAS Faithfulness and 100% Context Recall via Corrective RAG with LLM-as-judge grading, cross-validated by an independent Claude Sonnet 5 judge within ~0.25 points on every dimension.”

FinBuddy: AI-Powered Personal Finance Tracker
Developed a full-stack AI platform for personal finance tracking using GPT-4o Vision and OCR. Engineered a vector search architecture with pgvector and Supabase, and implemented an asynchronous insights engine for automated financial intelligence.
Key Impact
“Transformed raw financial visual data into semantically searchable assets with automated spending pattern analysis.”
MLOps & Infrastructure

VoltCast: 24-Hour US Electricity Demand Forecasting
End-to-end serverless MLOps system that forecasts 24-hour electricity demand for 4 US grid regions with a from-scratch PyTorch Transformer. Full production loop (ingest, validate, train, register, serve, drift-monitor, retrain) runs on scheduled GitHub Actions with a DagsHub MLflow registry, S3 storage, and a live Next.js dashboard.
Key Impact
“From-scratch PyTorch Transformer that beats a naive baseline by 32.8% (1,050 MW MAE) and serves as champion in all 4 regions, retrained automatically through a drift-gated, serverless GitHub Actions pipeline.”

Citi Bike Demand Forecaster: Live 24-Hour Prediction Pipeline
Live NYC Citi Bike demand forecaster serving a 28-hour recursive-multistep LightGBM forecast (MAE 2.94 trips/hour) for the 3 busiest stations. A two-phase Recursive Bridge closes the ~20-day public data lag, with a Hopsworks feature store and model registry, MLflow lineage, 3 scheduled GitHub Actions workflows, and a Next.js frontend reading S3 Parquet at zero backend cost.
Key Impact
“Turns a dataset published ~20 days late into a live 28-hour forecast at MAE 2.94 trips/hour, fully automated through 3 scheduled GitHub Actions workflows and served at $0 backend cost.”
Computer Vision & Deep Learning

FinReason: Financial QA LLM (SFT + DPO)
Two-stage QLoRA post-training on Qwen2.5-7B-Instruct over FinQA SEC filings: SFT then DPO alignment, AWQ 4-bit compression, and vLLM serving on an A40. Accuracy 52.2% → 59.2% on the official 1,147-example test split, perplexity 6.60 → 2.87, load-tested at 18.9 req/s with p99 1.5s and zero failures, with Prometheus/Grafana observability and a 30-test CI gate.
Key Impact
“52.2% → 59.2% accuracy on the official 1,147-example FinQA test split and perplexity 6.60 → 2.87 via QLoRA SFT + DPO, training only 0.67% of Qwen2.5-7B parameters, served as AWQ 4-bit on vLLM at ~3,000 tok/s with zero failures under load.”

SQLora: Llama-3.2-3B Text-to-SQL Fine-Tune
QLoRA fine-tune of Llama-3.2-3B on 78K+ Text-to-SQL samples with end-to-end training, execution accuracy evaluation via Modal/SQLite, vLLM inference server, and automated HuggingFace Hub deployment pipeline.
Key Impact
“95.9% Execution Accuracy and 94.6% perplexity drop (35.07→1.88) on Text-to-SQL generation by fine-tuning only 0.67% of Llama-3.2-3B parameters via QLoRA.”
Professional Timeline
The Josh James Team, Keller Williams
AI Engineer
Part-timeBuffalo, NYAutomated real estate contract data extraction by building a Gemini multimodal OCR pipeline (FastAPI on Render) parsing property PDFs into Google Sheets, eliminating manual data entry for the KW transaction coordinator team.
University at Buffalo, Visual Computing Lab
Volunteer Research Assistant
Part-timeBuffalo, NYBuilt the node-level analysis layer for NYPA's Virtual Power Plant siting study: collapsed 85 Long Island generators into 32 transmission nodes by coordinate and resampled 5-minute RTM data to hourly, producing the DAM + RTM node-hourly panel every downstream analysis on the team reads.
Engineered a correlation pipeline over 2.1M price rows and 26k hourly weather records, identifying transmission congestion as the dominant LBMP driver (r ≈ −0.83 at top nodes), far outweighing temperature and humidity; a seasonal split surfaced a geography flip (far-east Suffolk nodes priciest in summer, western Nassau in winter) that pooled analysis had masked. Finding validated by the project lead.
Implemented percentile-based outlier detection (P99, P95, IQR-based) on hourly node averages with thresholds fixed across the full period so year-over-year trends reflect real change rather than a moving bar; peak $1,323/MWh at Huntington.
Reconstructed Long Island geography from price data alone: built a node-to-node price co-movement distance matrix and ran MDS, recovering longitude at r² = 0.76 and latitude at r² = 0.50 with no coordinates as model features, replicating the *genes-mirror-geography* result on electricity markets.
Scaled the same method statewide: 563 NYS generators to 232 nodes and 7.4M node-hourly rows, with de-meaned co-movement MDS recovering r² = 0.43 longitude / 0.48 latitude across all of New York; work under review for possible publication.

Nissha Medical Technologies
Data Scientist Intern (Capstone)
Part-timeBuffalo, NYBuilt (4-person capstone team) a real-time Computer Vision QC system using YOLOv8 Nano and OpenCV for a casino-ticket printing line running 30M+ tickets/day, achieving 88.1% mAP against a 132-ticket ground-truth set and a sub-100ms inference budget met offline, not yet deployed to the live line.
Developed a defect analysis pipeline evaluating pixel color intensity and dimensional drift, capturing 86.67% recall and 88.45% precision on faded and misaligned defects in the same offline validation; predictive maintenance thresholds proposed as future work pending live deployment.

Wipro Technologies
Data Quality Engineer
Full-timeBengaluru, IndiaEngineered Python automation suite replacing manual auditing with programmatic validation of row counts, schema parity, and type consistency across SQL Server → Snowflake migrations feeding downstream ML pipelines.
Implemented source-to-target integrity checks across ETL transformations, detecting data loss, type drift, and logic deviations before corrupted records reached downstream ML and analytics consumers.
Validated transformation outputs in SQL and Python against data modeler specifications, catching schema and logic errors at the migration layer rather than in production.
Supervised 2 on SQL development and validation methodology; conducted technical reviews of test scenarios and automated validation scripts.
Open Source Contributions
Export get_platform from the package surface
Fixed a documented-but-broken public API in the cross-platform Python-to-native runtime library. get_platform() was unit-tested in pythonnative.platform but never re-exported from __init__.py, so pn.get_platform() raised AttributeError.
Re-exported the symbol and added it to `__all__`; added a test asserting `pn.get_platform() == pn.Platform.OS` through the package surface.
Additive only, no behavior change to existing symbols. Merged after `./scripts/check.sh` and E2E coverage checks passed.
Add concise __repr__ to Response
Response is a @dataclass with a content: bytes field, so the auto-generated repr dumped entire HTTP response bodies to the console on every logged fetch. Added a custom Response.__repr__ that summarizes the body as a byte count.
Repr now reads `Response(status=..., url=..., ok=..., content=<n> bytes)`; uses `type(self).__name__` so subclasses repr with their own name.
First merged contribution to the repo. Conventional Commits, CI-gated across 3.10-3.12 plus Docs and Android/iOS E2E, squash-merged.
Cover desktop platform detection
The IS_ANDROID / IS_IOS / IS_DESKTOP mutual-exclusion precedence logic and _detect_desktop() had no test coverage, so a regression there would have gone unnoticed. Added unit tests following the existing _detect_ios monkeypatch pattern.
Parametrized sweep over all eight signal combinations asserts at most one platform flag is ever True; `test_utils.py` grew from 9 to 27 cases.
Tests only, no source changes. Merged into the cross-platform Python-to-native runtime library.
Add help text for CLI positional platform arguments
The required positional platform argument on pn run, pn logs, pn build, and pn app-id had no help description, so --help listed {android,ios} with nothing explaining it while every flag on the same subcommand was described.
Added `help="Target platform"` to the positional `platform` argument across all four subcommands; extended the existing `--help` output tests to assert the new text.
Closed issue #55. Merged into the cross-platform Python-to-native runtime library.
Preserve structuredContent on isError tool results
Diagnosed and filed issue #619: structuredContent on an MCP tool result is kept on success but silently dropped when isError=True, so structured error payloads (error code, retry_after, validation detail) never reach the model.
Root-caused the real constraint in `langchain-core`: `BaseTool.arun`'s error branch hard-codes `artifact=None` and a callback-returned `ToolMessage` loses its `tool_call_id`, so the artifact has to be threaded through a `ContextVar` and an `arun` override on a custom `StructuredTool` subclass.
Opened PR #626 with success/error parity tests, concurrency isolation via ContextVar, and a guard confirming a plain error still returns `artifact=None`. Closed when maintainers wound down MCP support in this repo in favor of `langchain.mcp`, not a rejection of the fix.
structuredContent is dropped from isError=True tool results (but preserved on success)
Follow-up to PR #626: when langchain-mcp-adapters wound down in favor of the new langchain.mcp module, maintainers closed the PR and invited a fresh issue in the main repo instead.
Carries the bug report into `langchain-ai/langchain` with full repro, root cause, and a suggested fix, labeled `external` and `mcp`.
Technical Arsenal
Skills & Stack
40 tools and frameworks used in production AI systems.
// 40 skills · 5 categories
Education
Master of Science
University at Buffalo, SUNY
Data Science
Bachelor of Technology
Visvesvaraya Technological University
Electronics & Communication
Certifications
Introduction to Model Context Protocol
Anthropic
Claude 101
Anthropic
Claude Code 101
Anthropic
AI Engineering Core Track
Udemy
AI Engineer Agentic Track: The Complete Agent & MCP Course
Udemy
Machine Learning A-Z: Hands-On Python & R
Udemy
LET'S TALK
Looking to hire or have a project in mind? Send me a message.