Lead the VA technology portfolio across delivery, strategy, and stakeholder alignment — translating enterprise IT and AI initiatives into funded, executable programs.
Managed the Infrastructure as a Managed Service (IaaMS) and Storage on Demand (SOD) programs, driving delivery, contract compliance, and client satisfaction across multi-year VA engagements.
Oversaw delivery of the Storage on Demand program, coordinating technical teams and federal stakeholders to meet SLA commitments and reporting obligations.
Supported the Enterprise Performance Measures Support (EPMS) program — capturing requirements, aligning technical outputs to KPIs, and bridging business and engineering teams.
Led procurement on the Data Center Acquisition T4 (DCAT4) program — developing competitive RFP structures, evaluating proposals, and translating technical requirements into acquisition strategy.
Administered and awarded competitive and sole-source contracts under FAR/DFARS, managing the full acquisition lifecycle from requirements through closeout.
Fork of Clawdmeter by Hermann Bjorgvin — native Windows daemon merged upstream in PR #57.
Native Windows host daemon for the ESP32 usage monitor — system-tray app with live status icon, login autostart, and auto-reconnect over BLE (WinRT). Strictly additive (no firmware changes); WSL-independent with a no-WSL-paths test guard.
Python·pystray·httpx·WinRT BLE·pytest·PowerShell
Shipped · 2026
Clawdmeter — Windows Host Daemon
Native Windows companion app for an ESP32 usage monitor — fork extended with system-tray, autostart, and WinRT BLE, merged upstream.
This project is an extension of Clawdmeter by Hermann Bjorgvin — not original work. The Windows host daemon was contributed back to the upstream project and merged in PR #57. Full credit to Hermann Bjorgvin for the original Clawdmeter concept and codebase.
Overview
Clawdmeter is an ESP32-based USB power usage monitor with a host-side app for live status. The upstream project targeted macOS/Linux; this fork adds a native Windows host daemon that runs in the system tray, launches at login, and reconnects automatically over BLE using the Windows Runtime (WinRT) Bluetooth stack — no WSL dependency. The daemon communicates over HTTP with the ESP32 firmware unchanged.
What I built
- System-tray application (pystray) with live status icon updating from ESP32 telemetry
- WinRT BLE client (httpx + asyncio) for auto-reconnect on disconnect or sleep/wake
- Login autostart via Windows registry — zero-config for the user
- WSL-path test guard ensuring CI passes on both Windows and Linux runners
- Strictly additive change — no firmware modifications; fully backward-compatible
Stack
Python · pystray · httpx · WinRT BLE · pytest · PowerShell
Self-hosted middleware that syncs Kobo reading progress to Hardcover. Sits between a Kobo e-reader and Calibre-Web Automated, intercepting WiFi sync traffic and pushing progress automatically — also fixes generic book-cover display in the Kobo store. One-way sync with log-based monitoring.
Python·Docker·Docker Compose·Hardcover API·REST
Shipped · 2026
InkSync — Kobo to Hardcover Sync
Self-hosted middleware that intercepts Kobo WiFi sync traffic and pushes reading progress to Hardcover via Calibre-Web Automated.
Overview
Calibre-Web Automated (CWA) ships its own Kobo sync, but it is unreliable for pushing reading progress onward to Hardcover. InkSync fixes that by sitting between your Kobo and CWA: it intercepts the device's WiFi sync traffic, forwards it to CWA unchanged, and pushes your reading progress to Hardcover automatically. As a bonus it corrects the generic placeholder covers that otherwise appear in the Kobo store. It runs as a containerized service alongside an existing CWA instance.
What I built
- WiFi sync interception — transparently proxies Kobo ↔ CWA traffic without device-side changes
- Hardcover integration — pushes reading progress via the Hardcover API using a user-supplied token
- Book-cover correction — resolves generic placeholder covers in the Kobo store
- One-way sync (Kobo → Hardcover) with configurable log verbosity for monitoring
- Docker / Docker Compose deployment — drops in next to an existing CWA container
Stack
Python · Docker · Docker Compose · Hardcover API · REST
Strava activity name generator that replaces boring defaults with AI-generated witty quotes — 50+ activity types mapped to contextually relevant lines. Only renames generic activity names; encrypted token storage, rate limiting, and OAuth integration.
Python Flask·OpenAI API·Strava API·OAuth
Live
SpicyFerret — Strava Activity Namer
AI-powered Strava activity name generator — replaces generic defaults with contextually witty quotes across 50+ activity types.
Overview
SpicyFerret connects to your Strava account via OAuth and automatically renames newly uploaded activities that have a generic, app-generated title. Rather than "Morning Run" or "Afternoon Ride", it calls the OpenAI API to produce a short, contextually relevant, and occasionally witty replacement. The service only touches activities with default names — personal titles are never overwritten.
What I built
- OAuth 2.0 integration with Strava — authorization code flow, token refresh, encrypted storage
- OpenAI API integration — activity-type-aware prompt templates covering 50+ Strava activity types
- Flask web service with rate limiting to stay within Strava API tier constraints
- Selective rename logic — only processes activities whose name matches Strava's generic defaults
- Deployed and serving real users at spicyferret.com
Stack
Python Flask · OpenAI API · Strava API · OAuth
Synthetic patient simulator generating clinically coherent, terminology-rich datasets — linked demographics, encounters, conditions, medications, labs, procedures, and care plans. YAML scenario/module-driven with ICD-10/SNOMED/RxNorm/LOINC/CVX coding and FHIR R4 output.
Python·Polars·DuckDB·Faker·PyYAML·pytest
In Development
Synthetic Health — Patient Data Simulator
YAML-driven synthetic patient simulator producing clinically coded, FHIR R4-compliant datasets for testing and research pipelines.
Overview
Synthetic Health generates realistic, clinically coherent patient records at scale — demographics, encounters, conditions, medications, labs, procedures, and care plans — all linked and coded against ICD-10, SNOMED CT, RxNorm, LOINC, and CVX. Scenarios and clinical modules are defined in YAML, making it easy to produce targeted cohorts (e.g., diabetic patients with comorbidities) or general population distributions. Output is FHIR R4, consumable by any standard health data pipeline.
What I built
- YAML scenario engine — define patient cohorts, prevalence weights, and clinical pathways in config
- Linked entity generation — demographics tie to encounters, which tie to conditions, meds, labs, and procedures
- Terminology coding — ICD-10, SNOMED CT, RxNorm, LOINC, CVX applied throughout
- FHIR R4 output — serializes to standard Bundle JSON consumable by EHR systems and analytics pipelines
- Polars + DuckDB data layer for fast in-memory generation and SQL-queryable intermediate state
- pytest suite validating referential integrity and coding coverage across generated records
Stack
Python · Polars · DuckDB · Faker · PyYAML · pytest
The site you're looking at — a framework-free single-page portfolio built from the ground up on a custom design-token system. Scroll-driven section reveals, an accessible project-detail drawer with focus trapping, and a privacy-friendly analytics layer. No framework, no bundler, no build step.
HTML5·CSS Design Tokens·Vanilla JS·GSAP·Jest
Live
Portfolio — kevinvenanzi.com
A framework-free single-page portfolio built on a custom design-token system, with scroll-driven reveals, an accessible detail drawer, and a property-based test suite.
Overview
This site is a single-page portfolio rebuilt from the ground up — no UI framework, no bundler, no build step. Layout and components are styled with plain CSS driven by a custom design-token system, and behavior is handled by small, focused vanilla-JS modules. Scroll-driven animation uses GSAP with ScrollTrigger, with a graceful fallback when the CDN is unavailable so the site stays fully usable. Accessibility was a first-class concern throughout: focus management, a focus-trapped detail drawer, ARIA, and full keyboard navigation.
What I built
- Custom design-token system (CSS custom properties) driving the entire visual language — no SCSS, no build step
- Vanilla-JS module architecture — loader, scroll-condensing nav, section reveals, project drawer, and a reusable focus-trap helper
- Accessible project-detail drawer — focus trapping, ESC/overlay close, and focus restoration
- GSAP + ScrollTrigger scroll animation with a CDN-failure sentinel so the site degrades gracefully
- Jest + fast-check test suite — property-based and unit coverage across loader, nav, drawer, contact, and SEO
- Self-hosted, privacy-friendly analytics and a validated Web3Forms contact flow
Stack
HTML5 · CSS Design Tokens · Vanilla JS · GSAP · Jest · fast-check
Leadership & Strategy
- Enterprise strategy across IT, data, and AI initiatives
- Federal contracting — FAR/DFARS
- Full acquisition lifecycle
- Program & project management
- Stakeholder alignment
- Financial modeling for federal RFPs
Technical Skills
- LanguagesPython, SQL
- Data engineeringDatabricks, Dagster, Apache Spark / PySpark, Delta Lake, Iceberg, Polars
- Cloud & infrastructureAWS, Oracle Cloud Infrastructure (OCI), Docker, Linux
- DatabasesDuckDB, PostgreSQL, MySQL, Delta Lakehouse architecture
AI Delivery & Prototyping
- MCP server setup & orchestration
- Multi-provider LLM integration (OpenAI, Anthropic, Gemini)
- Prompt design & context engineering
- LLM workflow & agent automation
- AI-assisted risk & predictive analysis
Certifications
- AWS Certified Data Analytics – Specialty
- AWS Certified Solutions Architect – Associate
- AWS Certified Cloud Practitioner
- Databricks Certified Data Engineer Associate
- OCI AI Foundations Associate
- Project Management Professional (PMP)
- Certified Federal Contracts Manager (CFCM) — NCMA
- Contracting Level III — DAU
- Program Management Level I — DAU
- ITIL 2011 — PeopleCert
talk.
Have a project or role in mind? Send a note.
Thanks — I'll be in touch within a couple of days.