|
5/2026 - Present
|
Software Engineer
Hyperthesis (Cognetto)
Remote
- Stood up the company's production environment end to end: GCP project, Cloud SQL Postgres 17, Cloud Run services, Artifact Registry, Secret Manager, and GCS storage, plus the load balancer and SSL for app.cognetto.ai, and own every release to it since
- Replaced branch-merge promotion with a scheduled tag-based release pipeline in GitHub Actions and Cloud Build, gated on green builds and verified by automated post-deploy health probes
- Ship full-stack features across a Python/FastAPI and PostgreSQL backend and a Next.js/React frontend
- Improved the existing PDF highlighting so it works for values pulled from tables, anchoring each one to the cell it came from when the model returns usable coordinates and falling back to a coarser match when it does not
- Extended the LLM evaluation harness with recall and precision scoring for correlation effects and group statistics, giving the team a measured accuracy baseline for prompt and model changes
- Built the repository's first CI (pytest, Jest, shell tests) and per-branch Docker stacks for isolated full-app environments
|
|
1/2025 - 5/2026
|
Software Engineer
Dahlke Tech GmbH
Remote
- Contributing to software projects for climate tech, property management, and other various clients, implementing features and enhancing existing codebases using Python, Django, PostgreSQL, Docker, and other technologies as needed
- Refactored climate tech VC investment platform's data enrichment system from hardcoded model calls to pluggable architecture, enabling flexible integration of 25+ AI models (OpenAI, Anthropic, Google) for analyzing 8,900+ startups
- Designed and implemented benchmarking dashboard to evaluate and compare performance metrics across AI models, enabling data-driven model selection for investment research
- Built automated data synchronization pipeline using Django webhooks and Airtable API to export PostgreSQL data, streamlining client reporting workflows
- Working autonomously in fully-remote, asynchronous environment with minimal oversight, submitting code through pull requests and participating in code reviews
|
|
5/2017 - 4/2024
|
eyeo GmbH (Adblock Plus)
Remote (Cologne, Germany) · Seven years, two teams
Software Engineer – Machine Learning Team · 9/2019 – 4/2024
- Founding member of the ML Team; helped define structure and initiatives to launch the first ML-powered ad blocker
- Developed and maintained browser extension to scrape data from websites, convert to graph nodes and edges, and monitor model performance in real-time (JavaScript, HTML/CSS, TensorFlow.js)
- Maintained backend server to accept, sort, and store incoming data, then sync with GCP cloud storage (Python, Flask, Docker, Redis, GDPR compliance)
- Created ML pipelines to collect, convert, and extract features from datasets, balance and enhance training data, and train/deploy new models (PyTorch, Spektral, Google Cloud AI Platform)
- Built comprehensive Pythonic test suites for new and existing code using Pytest, tox, Poetry, achieving 85%+ code coverage and implementing GitLab CI pipelines
- Developed and maintained Ways of Working and Code Quality standards, automating code quality checks
- Led ML Community of Practice, conducted literature survey of ML in ad blocking, and shared latest research findings company-wide
- Wrote and reviewed code as part of a 9 person, fully-remote, cross-functional team spanning 8 time zones
Software Engineer – Backend Team · 5/2017 – 9/2019
- Joined as a full-time summer intern onsite in Cologne, continued part-time through the final year of my master's, then moved to full-time after graduation
- Developed tools and processes for generation and publication of filter lists for Adblock Plus and website maintenance
- Maintained Python version of Adblock Plus, keeping feature parity with JavaScript version across multiple releases
- Maintained content management system (CMS) using Python and Jinja2 templates
- Maintained build scripts, site scripts, and other backend infrastructure code
|
|
9/2016 - 4/2018
|
Graduate Student Instructor
University of Michigan
Ann Arbor, MI
- Taught undergraduate computer science courses, leading weekly hands-on lab sections and holding office hours to help students with concepts and projects
- EECS 388 (Introduction to Computer Security): Taught cryptography, web security, network security, application security, and digital forensics
- EECS 280 (Programming and Intro Data Structures): Taught data structures and algorithms in C++ and Python
- EECS 183 (Elementary Programming Concepts): Taught C++ and Python fundamentals
|
|
5/2016 - 4/2018
|
Graduate Student Research Assistant
University of Michigan - Security and Privacy Research Group
Ann Arbor, MI
- Computer security research with J. Alex Halderman
- Researched email security in foreign countries, testing which mail servers were disallowing encryption (STARTTLS) country-wide
- Tested security and privacy of RFID systems with various readers
- Helped automate security tests in medical networks by creating virtual hospitals for use as sandboxes, honeypots, and testbeds
|
|
2/2014 - 8/2015
|
Technical Support Representative
Barracuda Networks, Inc.
Ann Arbor, MI
- Deployed, configured, and maintained firewalls in a variety of network environments for enterprise clients
- Provided technical support for firewall and email spam filter products via phone, email, and IM
- Troubleshot complex network issues including routing, VPN, and security configurations
|