Software engineer
working close to the metal.

I'm Jake Kasper — I build low-level software: kernels, allocators, schedulers, and the unglamorous plumbing that makes hardware do useful things.

about

I like understanding things all the way down.

Most of my work starts with a question like "but how does that actually work?" — which is how I ended up writing an operating system for fun.

I care about correctness, small dependency footprints, and code that a future maintainer can actually read. I'm happiest somewhere between the hardware and the abstraction.

Outside of kernels, I'm interested in compilers, storage engines, and developer tooling.

Machine learning is part of the story too — I co-authored a peer-reviewed paper on deep-learning methodology for EEG as a freshman, and I still build neural nets from scratch to understand them end to end.

whoami → jake kasper
role → software engineer
focus → kernels · machine learning
published → Frontiers in Neuroscience '24
featured project

rpos — a bare-metal OS for the Raspberry Pi 4B

A hobby kernel written from scratch in C and AArch64 assembly. Built to drive Raspberry Pi hardware.

CAArch64ARMv8-ABCM2711

rpos

single-author · written by hand · full-stack OS

Boots on a physical pi4b. Implements a 4-level virtual memory system, a buddy page allocator and slab-based kmalloc(), a preemptive scheduler, copy-on-write based process replication, an ext4 driver over EMMC, an ELF loader that runs real user binaries within the ext4 filesystem, and a UNIX-based syscall table for compatibility with existing software, such as python and GNU.

Features a simple command line interface for user interaction, either via serial/UART for input/output and touchscreen over DSI for external output (supporting a subset of ANSI sequences).

Debugging enabled over JTAG with J-Link + OpenOCD + GDB against a running board — the same trace scrolling behind this page.

test-bench — rpos @ pi 4b
Raspberry Pi 4B rpos · I²C master · BCM2711 40-pin GPIO header 1 I²C JTAG UART PWM Arduino Uno I²C slave · 0x08 J-Link JTAG · 7-pin Laptop screen · macOS Servo 0–180° · pin D9
GPIO header colour-coded by device — I²C SDA GPIO2 (pin 3) · SCL GPIO3 (pin 5) → Uno @ 0x08  ·  JTAG pins 13·15·17·18·22·37·39 → J-Link  ·  UART TXD GPIO14 (pin 8) · RXD GPIO15 (pin 10) · GND (pin 6) → screen. Servo on the Uno's D9.
UNIX syscalls
for compatibility with existing software
4-level VM
with high-half kernel mappings and low-half user space
ext4
filesystem support, with ELF parsing and execution
Device drivers
for external devices such as the official raspberry pi 7" touch screen
experience

Where I've worked

Machine learning, data science, and systems since 2021 — internships, research, and a full-time ML engineering role.

2025 — present
Machine Learning Engineer · Waites Sensor Technologies
  • Took sole ownership of a computer-vision system for machine maintenance, shipping an end-to-end edge pipeline that reached high-90% accuracy with convolutional neural networks.
  • Built a statistics- and ML-based diagnostics system for classifying machine health.
  • Contributed across large-scale web apps — front-end, back-end, and database migrations.
PyTorchCNNsedge MLPython
2023 — 2024
Data Science & Advanced Analytics Intern · Pfizer
  • Applied causality and disentangled deep learning in a multinational team, designing custom neural networks to model how chemical compounds affect cells.
  • Built a multi-threaded Python framework to benchmark large-language-model metrics on accuracy and latency.
  • Presented findings and recommendations to company leadership.
deep learningLLMscausalityPython
2022 — 2024
Teaching Assistant · University of Pittsburgh
  • Taught systems software — C, x86-64 assembly, memory allocators, and virtual memory (CS 0449).
  • Supported algorithms & data structures and intermediate programming courses in Java.
Cx86-64teaching
2021 & 2022
Data Science Intern · SparkNeuro
  • Wrote a Python library turning EEG signals into spectral images for CNN classification.
  • Co-authored the resulting paper on data-separation methodology for trustworthy model evaluation — now published in Frontiers in Neuroscience.
EEGCNNsPython
other projects

Other things I've built

research

Peer-reviewed publication

Machine-learning methodology, from my time in neuroscience research.

Frontiers in Neuroscience2024deep learningEEG

Data leakage in deep learning studies of translational EEG

G. Brookshire, J. Kasper, N. Blauch, et al. · Frontiers in Neuroscience · 2024

A methodological study of how data leakage inflates reported accuracy in deep-learning models of EEG — and the safeguards needed for results that actually generalize. Co-authored as a college freshman.

toolbox

What I work with

Systems
  • C
  • AArch64
  • x86-64
  • RISC-V
  • Linker scripts
Machine Learning
  • Python
  • PyTorch
  • TensorFlow
  • CUDA
Low-level
  • Memory management
  • Schedulers & concurrency
  • System calls
  • Interrupt controllers (GIC)
  • Filesystems (ext4, FAT-32)
Tooling
  • GDB / OpenOCD / JTAG
  • Linux & Git
  • Make / CMake
  • QEMU
core proficient familiar
contact

Let's build something low-level.

Whether it's a role, a collaboration, or you just want to talk about page tables — my inbox is open.