Anastasia Galkova

I build data pipelines, reporting tools, and Python services.

B.A. in Computer Science and EconomicsGraduating December 2026

Looking for entry-level roles in data analytics, business intelligence, and data-focused software engineering.

Portrait of Anastasia Galkova

Experience

SQL Data Analyst Intern at Oscillas Technologies

I implemented a reporting change estimated to save $9,000 annually and presented its technical and business impact to stakeholders.

I built reporting pipelines for sensor, equipment-downtime, and reliability data using Python, SQL, PostgreSQL, and MySQL. I also standardized calculations across reporting intervals and developed ETL and reconciliation logic for downstream datasets.

C:\Anastasia> type oscillas.txt

Role:      SQL Data Analyst Intern
Company:   Oscillas Technologies
Location:  Chicago, IL
Dates:     Aug–Dec 2025
Stack:     Python, SQL, PostgreSQL, MySQL

Selected work

Forecasting · 2025–2026

Forecasting the Effective Federal Funds Rate

Can a model forecast the federal funds rate better than repeating last month's rate?

I compared Ridge and Random Forest with a baseline that repeats last month's rate. My first pipeline let information from the holdout period leak into training, so I rebuilt it, locked the design, and only then tested it on 114 later months.

Result: Ridge cut RMSE, a standard forecast-error measure, by 16% (0.1606 vs. 0.1922). Its gain on a second error measure, MAE, was much smaller.

Pythonscikit-learntime series

Forecast error on 114 later months

RMSE in percentage points · lower is better

Ridge
0.1606
Last month's rate
0.1922
Random Forest
0.2368

From the project repository. Bars start at zero.

Text classification · 2026

Craft Forum Discourse Classification

Does a transformer model help when the labeled dataset is small?

I labeled 212 posts from 28 art and craft forum threads. Each thread went entirely into training or testing, so the model was never tested on part of a conversation it had already seen.

Result: The simpler TF-IDF and logistic-regression model performed best across the four categories. Unweighted DistilBERT predicted the same category for every test post (macro F1 0.151, matching the majority baseline); class weighting raised macro F1 only to 0.172.

Pythonscikit-learnPyTorchNLP
Test-set model comparison for the craft forum classifier
Model comparisonTest macro F1 · open full size ↗

Open source · 2026

Testing Versioned Prompt Templates

How do you make a snapshot test fail when the thing it protects changes?

PathReview stores versioned prompt templates, the instructions it sends to a language model. One test checked only that a saved fingerprint had the right length, so it could still pass after a prompt changed. I replaced it with a test that recalculates each template's SHA-256 hash and compares it with the saved value. I submitted the change as PR #769. It was closed unmerged when the course contribution period ended, and the completed version remains in my fork.

Verification: All 42 focused tests passed on unchanged templates. A deliberate prompt edit then made the new test fail, as intended.

Pythonpytestregression testingGit
tests/unit/test_prompt_templates.py

Gray lines were removed; green lines were added. The old test checked only the hash length. The new test recalculates the hash and catches changed prompts.

@@ test_template_snapshot_content- assert isinstance(content_hash, str)- assert len(content_hash) == 32+ actual_hash = hashlib.sha256(+     template_text.encode()+ ).hexdigest()+ assert actual_hash == expected_hash, (+     f"{template_name} {version} changed. "+     "Create a new template version for "+     "intentional prompt changes."+ )
42 / 42 focused tests passed
Anastasia leading a Girls Who Code workshop about internship lessons at Lake Forest College
Internship workshop · Girls Who Code, Lake Forest College

Leadership · Dec 2024–May 2026

Girls Who Code

President, previously Secretary, Lake Forest College chapter. I organized or led about 20 workshops and campus events and helped grow regular attendance to roughly two to three times its earlier level.

I led technical workshops, including one on internships, and mentored high school students in Python and AI through the Girls Who Code Mentoring Corps.

Education

Expected December 2026

Lake Forest College

Lake Forest, Illinois

B.A. in Computer Science and Economics

GPA 4.00 · Phi Beta Kappa
Dean's List · Presidential Scholarship · Plansoen Family Scholarship

June–August 2026

CodePath

Applications of AI Engineering (AI201)

10-week, instructor-led program

Built a Python retrieval-augmented generation (RAG) service that retrieves relevant passages and cites its sources, then designed and tested a Flask REST API for LLM classification with confidence scores and rate limiting.

Tools

Data
SQL PostgreSQL MySQL ETL
Python + backend
Python Flask REST APIs
Development + testing
Git pytest
Applied AI + ML
scikit-learn PyTorch RAG

About

I grew up in Russia, lived in Hong Kong, and now study near Chicago.

Outside class and work, I knit, paint, and travel.

Anastasia standing in front of a palace building in Bangkok

Send me a message

If you're hiring for an entry-level role in data analytics, business intelligence, or data-focused software engineering, I’d be glad to hear from you. I’m also happy to talk about a project.

anastasia.v.galkova@gmail.com

This opens your email app with the message filled in. Nothing is stored on this site.

Nothing opened?