Peter Klingelhofer
Peter Klingelhofer
AboutSkillsProjectsContact Résumé
AboutSkillsProjectsContact Résumé
My Photo
Hello
Waving Hand Emoji

I'm Peter Klingelhofer

A creative software engineer.

Environmentally-motivated. Building technology for people and the planet.

LinkedIn GitHub Résumé Mail

About Me

Senior software engineer focused on building the data infrastructure behind climate and clean-energy work. I care most about systems that hold up over time: clean architecture, durable data models, and observability over quick shortcuts.

At Energy Vault I build the backend and data pipelines that quantify the climate impact of grid-scale energy storage: Python ETL across Flyte, Ray, and Trino on Kubernetes; real-time analytics for anomaly detection and forecasting; and tracking of carbon emissions avoided across the deployed portfolio. I work across the stack in TypeScript and Node.

Before software, I earned a Master's in Ecology & Evolutionary Biology and spent six years in environmental regulation, assessing the impact of operations on soil, water, and air. Environmental work has been the throughline of my whole career, and it is why I want to keep building for sustainability, renewable energy, and mission-driven organizations.

That path has also made me a strong communicator across audiences. From explaining findings to the public and operators in the field to translating between product, data, and engineering teams today, I am at my best bridging technical and non-technical stakeholders.

Outside of work, I've played saxophone for over two decades and have a long background in digital signal processing, including a piece that aired on NPR.

Me

Skills

Node.js logo Node.js
Python logo Python
TypeScript programming language logo TypeScript
Kubernetes logo Kubernetes
Amazon Web Services logo Amazon Web Services
Docker logo Docker
PostgreSQL database logo PostgreSQL
Fastify logo Fastify
GraphQL logo GraphQL
Terraform logo Terraform
Rust programming language logo Rust
Redis logo Redis
Google Cloud Platform logo Google Cloud Platform
pandas data analysis library logo pandas
NumPy logo NumPy
Trino distributed SQL query engine logo Trino
MongoDB logo MongoDB
SQL language logo SQL
MySQL database logo MySQL
Prisma ORM logo Prisma
TypeORM logo TypeORM
Grafana observability logo Grafana
Prometheus monitoring logo Prometheus
Helm Kubernetes package manager logo Helm
GitLab logo GitLab
GitHub logo GitHub
GitHub Actions logo GitHub Actions
Linux operating system logo Linux
Express.js logo Express.js
Jest test framework logo Jest
JavaScript programming language logo JavaScript
React logo React
Next.js logo Next.js
React Native logo React Native
Swift programming language logo Swift
Microsoft Entra ID logo Microsoft Entra ID

Projects

Climate / Backend

Carbonlens

Real-time carbon-intensity API aggregating multiple grid data sources, with emissions-compliance reporting (CSRD / SEC / SB-253) and Green SLA monitoring. Python backend, React dashboard, containerized with CI/CD.

PythonFastAPIReactTypeScriptDockerCI/CDLocust
Carbonlens dashboard screenshot
Cross-platform desktop app

Exhale App

Cross-platform breathwork screen-overlay app. Published on the Mac App Store, with Windows and Linux builds via GitHub Releases. Originally Swift (macOS), rewritten as a multi-platform Rust workspace with a custom wgpu/WGSL GPU renderer.

RustSwiftwgpu/WGSLmacOSWindowsLinuxMac App Store
App screenshot
Climate / DevOps

Carbon-Aware Dispatcher

Carbon-aware CI/CD: schedules pipeline runs for when the grid is cleanest. One drop-in workflow file, 10 grid-data providers, 200+ zones, templates for GitHub Actions, GitLab, Bitbucket, and CircleCI.

PythonGitHub ActionsGitLab CICircleCIBitbucket Pipelines
Carbon-Aware Dispatcher logo
Backend / Security

uwebsockets.js-helmet

Security middleware for uWebSockets.js, bringing Helmet-style hardened HTTP headers to the high-performance uWebSockets server.

TypeScriptNode.jsuWebSockets.jsSecurity
uwebsockets.js-helmet logo
DSP / Music

Bebop

Jazz reharmonization engine: ensemble chord recognition (six sources, consensus vote) then tiered reharmonization (7ths, ii-Vs, tritone subs, Coltrane changes), rendering voiced MIDI, audio, and an auditable HTML report. The reharmonization is deterministic music theory, not AI; ML is used only for the optional audio chord-recognition step.

PythonRustPyO3SwiftAudio UnitMIDI
Bebop reharmonization engine output screenshot
🎵 Creative

Exquisite Text

A collaborative writing game, based on the surrealist art game from the early 1900s.

Progressive Web AppMobile AppReactReact NativeTypeScriptSocket.io
Gameplay action screenshot
🎵 Creative

Resonate Music Player

Web player for Resonate, an open source music streaming co-op.

Progressive Web AppJavaScript
Resonate player screenshot
Visit on Github

Contact

My inbox is always open. Whether you have a question or just want to say hi, please don't hesitate to send me a message!

Gatsby Logo
Peter Klingelhofer
peterklingelhofer​[at]​gmail.com
LinkedIn GitHub Résumé Mail
Peter Klingelhofer
PrivacyImprint