Overview
Technical skills
Projects
Timeline
Roles

Overview

A computational scientist and ML practitioner producing reproducible scientific ML and pragmatic serverless ETL workflows at a senior-engineer level. The strongest proven skill is engineering reliable, idempotent data ingestion and lightweight reporting, demonstrated by the EIA pipeline's dialect-aware upsert logic, lambda entrypoint, unit tests and analysis/reporting script. There is less evidence of formal statistical inference, extensive model validation (CV or ablation), production CI/CD, or data-versioning tooling in the public artifacts.

Technical skills

Languages
2
Python
SQL
AI/ML
4
Scikit-learn
PyTorch
NumPy
Pandas
Other
15
Requests
SQLAlchemy
MySQL
Matplotlib
AWS
SQLite
AWS Lambda
Instructor
Machine Learning
Power BI
Deep Learning
GitHub
Git
ETL/ELT
Tableau

Projects

MQCT Molecular Collision Simulation (open-source)
Co-develops an open-source molecular collision simulation program (MQCT). Runs large-scale simulations on high-performance computing clusters to support research. Contributes computational workflows and dataset preparation needed to execute simulation studies at scale.
Predictive Modeling & Model Validation
Develops and compares four PyTorch models for a large-scale prediction task. Evaluates models against full calculations and creates diagnostic workflows to identify unreliable predictions. Supports a manuscript by validating results and documenting modeling quality concerns.
Creates a SQL-backed dataset of county-level health and healthcare-access indicators and combines standardized measures into a single priority score. Flags counties based on the computed priority score and documents how methodological details affect ranking outcomes. Publishes an interactive Tableau dashboard with county map visualizations.
Builds a Python and MySQL pipeline to retrieve monthly EIA electricity rates for Wisconsin, Illinois, and Michigan across multiple sectors with idempotent reruns. Produces month-over-month comparison tables and trend charts, supported by automated checks for data correctness. Prepares the pipeline for scheduled AWS Lambda deployment and writes an executive memo on diesel price scenarios and freight fuel-surcharge exposure.

Timeline

University Instructor (Physical Chemistry I) · Head+
Marquette Law Scholarly Commons · Full-Time
Aug 2026 to Present 2 Months Milwaukee In office
Delivers instruction for physical chemistry coursework with an emphasis on quantitative reasoning. Translates complex analytical concepts into structured explanations and guided problem-solving. Supports student understanding of analytical methods used in physical chemistry contexts.
Postdoctoral Research Associate · Head+
Marquette Law Scholarly Commons · Full-Time
Aug 2025 to Present 1 Year 2 Months Milwaukee In office
Develops automated Python workflows to clean, integrate, validate, and analyze large scientific datasets across multiple concurrent research projects. Builds and tests predictive models using scikit-learn and PyTorch, comparing models against full calculations to document discrepancies. Runs and monitors large batch jobs on national high-performance computing systems, tracking outputs and resource usage. Prepares curated datasets and summaries for a public international database and shares findings with collaborators.
Python
Scikit-learn
PyTorch
Graduate Research Assistant · Middle
Marquette Law Scholarly Commons · Full-Time
Aug 2020 to Aug 2025 5 Years Milwaukee In office
Reduces total CPU-hours by building machine learning models that replace part of full simulations while maintaining close agreement with full calculations. Organizes and maintains a centralized dataset of 500,000+ records to support filtering, analysis, and reporting across research projects. Co-develops an open-source simulation program (MQCT) and runs large-scale simulations on high-performance computing clusters.
University Instructor (Chemistry) · Head+
Marquette Law Scholarly Commons · Full-Time
Jan 2021 to May 2025 4 Years 4 Months Milwaukee In office
Teaches quantitative chemistry courses and labs to undergraduate and graduate students, supporting structured problem-solving and lab learning. Translates complex mathematical and analytical concepts into clear explanations and guided coursework. Manages large lab cohorts and helps students apply quantitative methods to chemistry problems.
Mahatma Gandhi University (M G University)
Bachelor's Degree · Chemistry (Minor: Mathematics & Physics)
2020 Kottayam, Kerala
Research Assistant · Middle
CMS College · Full-Time
Apr 2018 to Jul 2020 2 Years 3 Months Kottayam In office
Uses Python and Excel to analyze experimental reaction mechanism datasets and extract quantitative insights. Creates data visualizations to support publication-ready results. Applies statistical/analytical processing steps to prepare findings for scholarly use.
Python
Senior Data Scientist Confidence: High ML Practitioner
A computational scientist and ML practitioner producing reproducible scientific ML and pragmatic serverless ETL workflows at a senior-engineer level. The strongest proven skill is engineering reliable, idempotent data ingestion and lightweight reporting, demonstrated by the EIA pipeline's dialect-aware upsert logic, lambda entrypoint, unit tests and analysis/reporting script. There is less evidence of formal statistical inference, extensive model validation (CV or ablation), production CI/CD, or data-versioning tooling in the public artifacts.
Statistical Rigor
5/10
Correct use of statistics
Good domain-aware modeling practices are present (log transforms, Huber loss, custom evaluation metric and per-group error reporting) but there is limited formal statistical inference, uncertainty quantification, or rigorous hypothesis testing.
Evidence
Molecular-Collision-ML/train.py: use of log transforms and HuberLoss with evaluation via RRMSE
Molecular-Collision-ML/combine_results.py: per-U RRMSE aggregation and overall RRMSE calculation
Data Wrangling & Cleaning
7/10
Preparing and cleaning data
Strong, pragmatic data wrangling and contamination-avoidance: clear cleaning/filtering, group-aware sampling to separate train/test, and defensive handling of missing values in ingestion and upsert logic.
Evidence
EIA-Electricity-Price-Pipeline/src/db.py: upsert_records filters missing prices and implements dialect-specific upsert for idempotency
Molecular-Collision-ML/train.py: load_data applies domain filters, log transforms and symmetry-based selection; sample_by_initial_state enforces group-based train/test split
Exploratory Analysis & Visualization
5/10
Exploring and visualizing data
Exploratory outputs and visualizations are functional and communicative (automated trend chart and markdown summary), but the analysis is light on deeper narrative interpretation or multi-figure exploratory storytelling.
Evidence
EIA-Electricity-Price-Pipeline/src/analyze.py: plot_trends generates a multi-series time plot and build_summary writes a markdown summary
Predictive Modeling
6/10
Building models that predict
Predictive modeling shows solid engineering: custom MLP architecture, careful feature engineering, scaler usage, early stopping, LR scheduler, and domain-specific evaluation; however there is no extensive CV, ablation studies, or baseline comparisons documented.
Evidence
Molecular-Collision-ML/train.py: build_model, train_and_eval with scheduler, early stopping, scaler, and custom loss/metric
Molecular-Collision-ML/train.py: creation of reversed-feature inputs and joint evaluation logic
Business Insight & Impact
2/10
Turning analysis into business value
Some operational reporting exists for the energy pipeline (automated reports/summary), but there is little evidence of business-impact framing, cost-of-error analysis, or prioritized recommendations tied to business metrics.
Evidence
EIA-Electricity-Price-Pipeline/src/analyze.py: writes reports/summary.md and a trends PNG
Reproducibility & Notebook Hygiene
5/10
Clean, repeatable analysis
Reproducibility practices are present: requirements files, unit tests for the pipeline, CLI arg parsing, and explicit seeds in training, but there is no evidence of environment pinning, data versioning (DVC), or CI integration.
Evidence
EIA-Electricity-Price-Pipeline/tests/test_pipeline.py: unit tests validating idempotent upsert and parse_response
Molecular-Collision-ML/requirements.txt and Molecular-Collision-ML/train.py: argparse usage and torch.manual_seed for deterministic splits
Expertise
Data Science· Middle
Industries
Energy & Utilities· Middle
Science & Engineering· Middle
Technologies
Deep Learning
MySQL
Scikit-learn· since 2025
Matplotlib
Pandas
NumPy
SQLite
ETL/ELT
Machine Learning· since 2026
PyTorch· mentioned only
Recommendations
  • Develop serverless ETL and reporting pipelines that require idempotent ingestion, dialect portability and automated monthly reporting.
  • Implement domain-specific predictive models where custom training loops and physics-informed feature engineering are needed.
  • Package scientific ML experiments into reproducible CI workflows with environment pinning, data versioning and baseline/ablation testing.
  • Build analytics dashboards or scheduled reporting jobs that operationalize model outputs and time-series summaries for stakeholders.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle AI/ML Engineer Confidence: High Data-centric
Computational scientist and data engineer at a mid-level specializing in reproducible ETL and data pipelines for public datasets and operational reporting. The strongest proven skill is building idempotent serverless ingestion and storage workflows with dialect-aware upserts and unit tests, demonstrated by the db.py upsert logic, lambda_function.py handler, and tests/test_pipeline.py. There is little to no evidence of model training, custom ML architectures, GPU/quantization work or large-scale distributed systems in the public code.
Model Architecture & Training
How well models are designed and trained
Not evidenced in public code
Data Pipeline & Feature Engineering
5/10
How data is prepared for models
Solid end-to-end data engineering and ETL practices including JSON/CSV transforms, validation, and idempotent DB writes.
Experimentation & Evaluation
3/10
How results are measured and tested
Basic reproducibility and evaluation via unit tests and generated reports; test coverage focuses on parsing and DB idempotency rather than experiments.
Evidence
EIA-Electricity-Price-Pipeline/tests/test_pipeline.py: unit tests for parse_response, upsert idempotency and update-on-conflict
EIA-Electricity-Price-Pipeline/src/analyze.py: build_summary and report generation (reports/summary.md, price_trends.png)
MLOps & Deployment
4/10
How models are shipped to production
Practical deployment and operational awareness: serverless Lambda entrypoint, environment-driven config, safe table creation and idempotent ingestion for scheduled runs.
Evidence
EIA-Electricity-Price-Pipeline/src/lambda_function.py: Lambda handler reading env vars, calling fetch_latest_month and upsert_records
EIA-Electricity-Price-Pipeline/src/db.py: create_tables and upsert_records enabling safe re-run semantics
Computational Efficiency
2/10
How efficiently computing resources are used
Some efficiency-minded choices (bulk row construction, in-memory SQLite for fast tests, headless plotting backend) but no GPU/parallelization or advanced performance engineering.
Evidence
EIA-Electricity-Price-Pipeline/src/db.py: pre-filtering records and single bulk insert statement
EIA-Electricity-Price-Pipeline/tests/test_pipeline.py: use of sqlite:///:memory: for fast isolated tests
Research Depth & Innovation
1/10
Depth of research and new ideas
Minimal research depth - implements straightforward statistical scoring (z-scores) and domain scripts but no custom ML architectures or paper-level reproductions.
Industries
Energy & Utilities· Middle
Data & Analytics· Middle
Health Care· Middle
Technologies
SQL
Instructor
Git
PyTorch· since 2025
AWS
AWS Lambda
GitHub
GitHub· mentioned only
SQL· mentioned only
Recommendations
  • Develop production-grade serverless ETL and data ingestion systems that require idempotent writes, clear error handling and test coverage.
  • Build operational reporting dashboards and scheduled reports that read from the long-term store and include automated tests for data quality.
  • Extend data pipelines with data-quality checks and lineage (e.g., integrate Great Expectations or custom validators) and add monitoring/alerting for ingest failures.
  • Package similar pipelines as reusable modules or libraries (parameterized ingestion + upsert utilities) to accelerate future domain-specific pipelines.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle Backend Developer Confidence: High Data Platform
A pragmatic Python data platform engineer at a middle level focusing on reliable, idempotent ETL and small serverless ingestion workflows. The strongest proven skill is designing idempotent persistence for an ingestion pipeline, demonstrated by the dialect-aware upsert_records and accompanying idempotency tests in EIA-Electricity-Price-Pipeline/src/db.py and tests/test_pipeline.py. The public code does not show advanced observability, retry/backoff strategies, secret rotation, or multi-service distributed systems design.
API Design
3/10
How well APIs are designed
Basic API client and lightweight endpoint wiring are present with timeout and simple parsing, but there is no evidence of API versioning, formal error contract design, pagination handling, or idempotency keys at the HTTP boundary.
Evidence
EIA-Electricity-Price-Pipeline/src/eia_client.py: fetch_retail_prices and parse_response implement the HTTP client and payload parsing
EIA-Electricity-Price-Pipeline/src/lambda_function.py: handler reads STATE_IDS/SECTOR_IDS and calls fetch_latest_month to drive the ingestion
Data Layer & Database
5/10
Working with databases
Strong practical data-layer decisions for a small production pipeline: explicit schema with a compound primary key, dialect-aware upserts for MySQL and SQLite, and transactional writes; no migration history or explicit schema evolution tooling is present.
Evidence
EIA-Electricity-Price-Pipeline/src/db.py: energy_prices Table schema and upsert_records with mysql/sqlite-specific upsert logic and engine.begin() transaction
EIA-Electricity-Price-Pipeline/tests/test_pipeline.py: tests test_upsert_is_idempotent_on_rerun and test_upsert_updates_price_on_conflict
cdc-disease-project/load_scores_sqlite.py: creates SQLite table and uses executemany to load CSV rows with PRIMARY KEY (year, locationid)
Scalability & Performance
3/10
Handling load and speed
Some scalability-aware choices such as batch upserts and using SQLAlchemy Core for portable engines, plus a serverless scheduled ingestion model; lacks caching strategies, queuing, connection-tuning, load testing artifacts, or measured optimizations.
Evidence
EIA-Electricity-Price-Pipeline/src/db.py: upsert_records performs batch values(rows) and uses dialect-specific upserts
EIA-Electricity-Price-Pipeline/src/lambda_function.py: scheduled monthly ingestion design described and implemented
System Architecture
4/10
Overall system structure
Clear module separation between API client, persistence, ingestion entry point, and analysis/reporting, with environment-driven configuration; architecture is modest and well structured for a small ETL pipeline rather than a multi-service distributed system.
Evidence
EIA-Electricity-Price-Pipeline/src/eia_client.py and src/db.py: separation of API client and persistence responsibilities
EIA-Electricity-Price-Pipeline/src/analyze.py and src/lambda_function.py: distinct analysis and ingestion modules and runtime separation
Security & Auth
3/10
Protecting data and access
Basic security hygiene is present: secrets are read from environment variables, HTTP calls use timeouts and raise on non-2xx, and SQLAlchemy avoids manual query string assembly; there is no evidence of secret lifecycle management, rotation, or fine-grained auth/authorization controls.
Evidence
EIA-Electricity-Price-Pipeline/src/eia_client.py: requests.get(..., timeout=timeout) and resp.raise_for_status()
EIA-Electricity-Price-Pipeline/src/lambda_function.py: reads EIA_API_KEY and DATABASE_URL from environment
EIA-Electricity-Price-Pipeline/src/db.py: uses SQLAlchemy Core for parameterized statements
Reliability & Observability
4/10
Stability and monitoring
Reliability is explicitly considered via idempotent upserts and tests verifying re-run behavior and conflict updates; operational observability is minimal (print statements only) and there are no retries/backoff/circuit-breaker patterns or structured logging and metrics.
Evidence
EIA-Electricity-Price-Pipeline/tests/test_pipeline.py: tests verifying idempotency and conflict update behavior
EIA-Electricity-Price-Pipeline/src/db.py: upsert_records uses engine.begin() to ensure transactional consistency
Expertise
Python· Middle
Databases & Vector Storage· Middle
Microservices & API Architecture· Middle
Industries
Energy & Utilities· Middle
Health Care· Middle
Technologies
Python· since 2018 · Senior
SQLAlchemy
Requests
Recommendations
  • Develop serverless ETL and ingestion components that require idempotent writes and transactional upserts for small to medium datasets.
  • Build data analysis and reporting scripts that read from the accumulated history and produce reproducible reports and plots.
  • Extend existing pipelines with structured logging, metrics, and retry/backoff policies to improve observability and operational resilience.
  • Work on schema evolution and migration tooling (Alembic or similar) to add safe schema change workflows for production databases
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: