Jul – Sep 2026
incomingMicrosoft
Software Engineer Intern, AI/ML · Remote
Working on telemetry, statistics, and search quality for Azure Search.
I'm Peter Zhao, a student engineer at UW–Madison. Right now I'm at NVIDIA working on GPU simulation infrastructure, and later this year I'll be at Microsoft working on Azure Search. Last summer I was at Amazon.
0
majors
0
engineering roles
0
seconds you've spent here

Jul – Sep 2026
incomingSoftware Engineer Intern, AI/ML · Remote
Working on telemetry, statistics, and search quality for Azure Search.
May – Jul 2026
currentSystems Software Engineering Intern · Santa Clara, CA
Building simulators so GPU systems can be tested without the hardware.
May – Aug 2025
Software Development Engineer Intern · Seattle, WA
Built an AI pipeline that automated thumbnail localization across 15+ languages.
Sep 2024 – May 2025
Founding Systems Software Engineer · Madison, WI
Firmware for a 480V power-control system at an early-stage startup.
Sep 2024 – May 2025
Optimization Software Researcher · Madison, WI
Real-time synchronization of distributed sensors for neuroscience research.
Multiplayer Battleship on hardware I designed the PCB for.
Multiplayer Battleship in C with modular, layered firmware: FSM-driven game logic, inter-device communication protocols, and real-time synchronization. PCB designed in Altium.
A self-balancing Segway controller, running on real hardware.
Real-time balance control on real hardware: PID feedback, UART/SPI interfaces, and sensor-fusion logic implemented in Verilog and C.
Predicts how long internet slang will survive, trained on 500K posts.
Forecasting engine for how long internet slang survives, using 500K+ Reddit, Quora, 4chan, and YouTube posts through PyTorch LSTM + Transformer models. 87% accuracy, Top 5 at Cheesehacks.
Rebuilt the scholarship program's website with a team of four.
Led a 4-person team refactoring the STAR Scholarship site into modular React, with 40% faster page loads and responsive across devices. Mentoring included.
I built a small arcade for this site, and each game runs in a different language in your browser. The map game's engine is Rust compiled to WebAssembly, the physics and math sims are written in C++, the board game Go is written in Go, and Snake is real Java bytecode running on a small JVM that I wrote for this site.
21 machines · pick one
The same workload runs in each language so you can compare them.
Same function, three languages
the engine's haversine, hand-written in C++, Rust, and JS with the exact same math. C++ and Rust compile to bare wasm; JS doesn't. all three run 1,500,000 times in your browser, right now.
I grew up in rural Wisconsin, in a trailer park.
I worked at my parents' restaurant. I was one of the only Asian students in my school, got held back in kindergarten, and still ended up valedictorian of my high school.
I study three majors because the things I want to build need all three of them. GPU systems, firmware, and control systems all sit between computer science and electrical engineering.
Outside of school I like history, film, photography, grand strategy games, and hiking.
Education
B.S. Computer Science, Electrical Engineering & Mathematics · May 2027
STAR & PEOPLE Scholar
What I work with
C/C++, Python, TypeScript, Java, Rust, Bash, MATLAB, R, Julia
FPGA (Verilog/VHDL), STM32, ARM Cortex, I2C / SPI / RS-485, Raspberry Pi, Arduino
PyTorch, TensorFlow, NumPy, Pandas, SQL, OpenSearch
Git & GitHub, Docker, Linux, AWS (Lambda, CDK, DynamoDB), CI/CD pipelines, Altium Designer, React, VS Code
All 63 U.S. national parks.
I ranked all 63 national parks based on the ones I have visited and photos of the rest. You can drag a park to where you think it belongs.
drag a park to a different tier (or tap it, then tap a tier)
From Letterboxd.
From Steam.
Live data.
The restaurant
It is called China Wok, and it is back home in Wisconsin. Working there taught me most of my work ethic, and it helped pay for school. If you are ever near Green Bay you should order the General Tso's.
crack the cookie
3.4★
avg rating lately
★★★★½
last watch: Spider-Man: Brand New Day
the last 16 weeks
50 diary entries in view · darker = double feature

Spider-Man: Brand New Day
★★★★½

The Odyssey
★★★★★

Supergirl
★

Obsession
★★★★

Smile
★★★½

The SpongeBob Movie: Search for SquarePants
★½

The Mormons
★★★★

Monty Python and the Holy Grail
★★★★
Pulled live from my Letterboxd, so judge accordingly.
248
full days played (5,959h)
136
games owned
17
never launched. the graveyard
0.2%
of players have my rarest achievement
5,959 hours across 86 games. No further comment.
16
public repos on github
19,220
lines of TypeScript in this site
1,118
lines of Rust in the map engine
29 KB
compiled engine, zero dependencies
5,959
hours on steam. 248 full days
136
steam games owned
How I rate films
n=50 recent watches · μ 3.36★ · σ 1.39 · P(★≥4) = 0.42
sample of 50 · 95% CI: μ ∈ [2.98, 3.74]
H₀: I rate like the average user (μ = 3.2) → t = 0.81, p = 0.415 → fail to reject. I rate like everyone else, statistically.
H₀: weekends don't change my ratings (μ_wknd 3.69, n=18 vs μ_wk 3.17, n=32; Welch) → t = 1.33, p = 0.184 → fail to reject. the weekend changes nothing.
| rating | films |
|---|---|
| 0.5★ | 3 |
| 1★ | 2 |
| 1.5★ | 5 |
| 2★ | 1 |
| 2.5★ | 3 |
| 3★ | 4 |
| 3.5★ | 11 |
| 4★ | 5 |
| 4.5★ | 6 |
| 5★ | 10 |
Am I becoming a harsher critic?
rolling μ over 10-film window ±1σ · drift +0.10★ → getting softer
| date | film | rating | rolling μ |
|---|---|---|---|
| 2026-04-21 | A Goofy Movie | 5★ | 3.45 |
| 2026-04-25 | The Super Mario Galaxy Movie | 2★ | 3.20 |
| 2026-04-25 | The Boy in the Striped Pyjamas | 5★ | 3.20 |
| 2026-04-25 | 万氏兄弟和《大闹天宫》 | 3.5★ | 3.40 |
| 2026-04-25 | Jack and the Beanstalk | 3★ | 3.60 |
| 2026-04-25 | Ghostmates | 2.5★ | 3.55 |
| 2026-04-25 | My Darling Clementine | 5★ | 3.60 |
| 2026-04-25 | Penguins of Madagascar | 3.5★ | 3.70 |
| 2026-04-25 | The Butterfly Effect | 3.5★ | 3.75 |
| 2026-04-25 | Super Mario vs. Son Goku | 5★ | 3.80 |
| 2026-04-26 | Ultraseven | 5★ | 3.80 |
| 2026-04-27 | Plants vs. Zombies | 1.5★ | 3.75 |
| 2026-04-27 | The Adventures of Sharkboy and Lavagirl | 1.5★ | 3.40 |
| 2026-04-28 | Of Mice and Men | 3.5★ | 3.40 |
| 2026-04-28 | The Band Concert | 4★ | 3.50 |
| 2026-04-29 | Malcolm X | 5★ | 3.75 |
| 2026-04-30 | Peter Rabbit | 3★ | 3.55 |
| 2026-04-30 | The Lees: Action Speaks Louder | 3.5★ | 3.55 |
| 2026-04-30 | West Sex Journey | 3.5★ | 3.55 |
| 2026-04-30 | West Sex Journey 2 | 4★ | 3.45 |
| 2026-04-30 | A Tribute to Her Majesty the Queen | 1.5★ | 3.10 |
| 2026-04-30 | Birdemic 3: Sea Eagle | 0.5★ | 3.00 |
| 2026-04-30 | Birdemic 2: The Resurrection | 0.5★ | 2.90 |
| 2026-04-30 | Geostorm | 0.5★ | 2.60 |
| 2026-04-30 | March of the Penguins | 2.5★ | 2.45 |
| 2026-04-30 | Fight Club | 5★ | 2.45 |
| 2026-04-30 | Dumb and Dumber | 3.5★ | 2.50 |
| 2026-05-01 | Luca | 3.5★ | 2.50 |
| 2026-05-01 | Garfield's Halloween Adventure | 3.5★ | 2.50 |
| 2026-05-02 | Batman: Mask of the Phantasm | 4.5★ | 2.55 |
| 2026-05-02 | The Man Who Knew Infinity | 5★ | 2.90 |
| 2026-05-02 | The Man Who Knew Infinity | 4.5★ | 3.30 |
| 2026-05-04 | The Mormons | 4★ | 3.65 |
| 2026-05-05 | Monty Python and the Holy Grail | 4★ | 4.00 |
| 2026-05-05 | Deadpool: No Good Deed | 3.5★ | 4.10 |
| 2026-05-16 | The SpongeBob Movie: Search for SquarePants | 1.5★ | 3.75 |
| 2026-07-11 | Supergirl | 1★ | 3.50 |
| 2026-07-11 | Obsession | 4★ | 3.55 |
| 2026-07-11 | Smile | 3.5★ | 3.55 |
| 2026-07-28 | The Odyssey | 5★ | 3.60 |
| 2026-08-05 | Spider-Man: Brand New Day | 4.5★ | 3.55 |
Do I overrate old films?
rating vs release year · r = -0.30 · -0.18★ per decade newer · n=50
H₀: release year tells you nothing about my rating → t = -2.19, p = 0.029 → rejected. nostalgia is real and it is inflating my ratings.
| film | year | rating |
|---|---|---|
| The Band Concert | 1935 | 4★ |
| Of Mice and Men | 1939 | 3.5★ |
| My Darling Clementine | 1946 | 5★ |
| Jack and the Beanstalk | 1952 | 3★ |
| Ultraseven | 1967 | 5★ |
| Monty Python and the Holy Grail | 1975 | 4★ |
| Garfield's Halloween Adventure | 1985 | 3.5★ |
| Malcolm X | 1992 | 5★ |
| Batman: Mask of the Phantasm | 1993 | 4.5★ |
| Dumb and Dumber | 1994 | 3.5★ |
| Super Mario vs. Son Goku | 1995 | 5★ |
| A Goofy Movie | 1995 | 5★ |
| West Sex Journey | 1997 | 3.5★ |
| West Sex Journey 2 | 1998 | 4★ |
| The Lees: Action Speaks Louder | 1999 | 3.5★ |
| Fight Club | 1999 | 5★ |
| 万氏兄弟和《大闹天宫》 | 2004 | 3.5★ |
| The Butterfly Effect | 2004 | 3.5★ |
| Milkman | 2004 | 1.5★ |
| Downfall | 2004 | 4.5★ |
| March of the Penguins | 2005 | 2.5★ |
| The Adventures of Sharkboy and Lavagirl | 2005 | 1.5★ |
| The Mormons | 2007 | 4★ |
| The Boy in the Striped Pyjamas | 2008 | 5★ |
| The Forbidden Kingdom | 2008 | 3★ |
| Birdemic 2: The Resurrection | 2013 | 0.5★ |
| Penguins of Madagascar | 2014 | 3.5★ |
| The Man Who Knew Infinity | 2015 | 5★ |
| The Man Who Knew Infinity | 2015 | 4.5★ |
| Ghostmates | 2016 | 2.5★ |
| Deadpool: No Good Deed | 2017 | 3.5★ |
| Geostorm | 2017 | 0.5★ |
| The Boss Baby | 2017 | 3★ |
| The Lego Batman Movie | 2017 | 4.5★ |
| Peter Rabbit | 2018 | 3★ |
| Plants vs. Zombies | 2018 | 1.5★ |
| Persona 5 the Animation: Proof of Justice | 2019 | 2.5★ |
| Luca | 2021 | 3.5★ |
| Smile | 2022 | 3.5★ |
| A Tribute to Her Majesty the Queen | 2022 | 1.5★ |
| Birdemic 3: Sea Eagle | 2022 | 0.5★ |
| The Mean One | 2022 | 1★ |
| Better Man | 2024 | 4.5★ |
| Obsession | 2025 | 4★ |
| The SpongeBob Movie: Search for SquarePants | 2025 | 1.5★ |
| Spider-Man: Brand New Day | 2026 | 4.5★ |
| The Odyssey | 2026 | 5★ |
| Supergirl | 2026 | 1★ |
| The Super Mario Galaxy Movie | 2026 | 2★ |
| JoJo's Bizarre Adventure: Steel Ball Run | 2026 | 5★ |
Guess my rating
50 films · you vs. a least-squares model of my taste

Smile
2022
| rounds played | 0 |
| your avg error | , ★ |
| model avg error | , ★ |
Does one film's rating leak into the next?
each dot: a rating and the one after it · lag-1 r₁ = 0.37 · n=49 pairs
H₀: consecutive ratings are independent → z = 2.61, p = 0.009 → rejected. a good film puts me in a good mood and the next one profits.
| watched | then |
|---|---|
| Downfall (4.5★) | JoJo's Bizarre Adventure: Steel Ball Run (5★) |
| JoJo's Bizarre Adventure: Steel Ball Run (5★) | Milkman (1.5★) |
| Milkman (1.5★) | The Mean One (1★) |
| The Mean One (1★) | The Boss Baby (3★) |
| The Boss Baby (3★) | The Lego Batman Movie (4.5★) |
| The Lego Batman Movie (4.5★) | Persona 5 the Animation: Proof of Justice (2.5★) |
| Persona 5 the Animation: Proof of Justice (2.5★) | The Forbidden Kingdom (3★) |
| The Forbidden Kingdom (3★) | Better Man (4.5★) |
| Better Man (4.5★) | A Goofy Movie (5★) |
| A Goofy Movie (5★) | The Super Mario Galaxy Movie (2★) |
| The Super Mario Galaxy Movie (2★) | The Boy in the Striped Pyjamas (5★) |
| The Boy in the Striped Pyjamas (5★) | 万氏兄弟和《大闹天宫》 (3.5★) |
| 万氏兄弟和《大闹天宫》 (3.5★) | Jack and the Beanstalk (3★) |
| Jack and the Beanstalk (3★) | Ghostmates (2.5★) |
| Ghostmates (2.5★) | My Darling Clementine (5★) |
| My Darling Clementine (5★) | Penguins of Madagascar (3.5★) |
| Penguins of Madagascar (3.5★) | The Butterfly Effect (3.5★) |
| The Butterfly Effect (3.5★) | Super Mario vs. Son Goku (5★) |
| Super Mario vs. Son Goku (5★) | Ultraseven (5★) |
| Ultraseven (5★) | Plants vs. Zombies (1.5★) |
| Plants vs. Zombies (1.5★) | The Adventures of Sharkboy and Lavagirl (1.5★) |
| The Adventures of Sharkboy and Lavagirl (1.5★) | Of Mice and Men (3.5★) |
| Of Mice and Men (3.5★) | The Band Concert (4★) |
| The Band Concert (4★) | Malcolm X (5★) |
| Malcolm X (5★) | Peter Rabbit (3★) |
| Peter Rabbit (3★) | The Lees: Action Speaks Louder (3.5★) |
| The Lees: Action Speaks Louder (3.5★) | West Sex Journey (3.5★) |
| West Sex Journey (3.5★) | West Sex Journey 2 (4★) |
| West Sex Journey 2 (4★) | A Tribute to Her Majesty the Queen (1.5★) |
| A Tribute to Her Majesty the Queen (1.5★) | Birdemic 3: Sea Eagle (0.5★) |
| Birdemic 3: Sea Eagle (0.5★) | Birdemic 2: The Resurrection (0.5★) |
| Birdemic 2: The Resurrection (0.5★) | Geostorm (0.5★) |
| Geostorm (0.5★) | March of the Penguins (2.5★) |
| March of the Penguins (2.5★) | Fight Club (5★) |
| Fight Club (5★) | Dumb and Dumber (3.5★) |
| Dumb and Dumber (3.5★) | Luca (3.5★) |
| Luca (3.5★) | Garfield's Halloween Adventure (3.5★) |
| Garfield's Halloween Adventure (3.5★) | Batman: Mask of the Phantasm (4.5★) |
| Batman: Mask of the Phantasm (4.5★) | The Man Who Knew Infinity (5★) |
| The Man Who Knew Infinity (5★) | The Man Who Knew Infinity (4.5★) |
| The Man Who Knew Infinity (4.5★) | The Mormons (4★) |
| The Mormons (4★) | Monty Python and the Holy Grail (4★) |
| Monty Python and the Holy Grail (4★) | Deadpool: No Good Deed (3.5★) |
| Deadpool: No Good Deed (3.5★) | The SpongeBob Movie: Search for SquarePants (1.5★) |
| The SpongeBob Movie: Search for SquarePants (1.5★) | Supergirl (1★) |
| Supergirl (1★) | Obsession (4★) |
| Obsession (4★) | Smile (3.5★) |
| Smile (3.5★) | The Odyssey (5★) |
| The Odyssey (5★) | Spider-Man: Brand New Day (4.5★) |
When do movies happen?
recent diary by day of week · n=50 · χ² = 24.8 (df 6)
H₀: every day is equally likely to be movie night → p = <0.001 → rejected. saturday is movie night, and it is not close.
| day | films |
|---|---|
| mon | 9 |
| tue | 8 |
| wed | 2 |
| thu | 11 |
| fri | 2 |
| sat | 16 |
| sun | 2 |
Hours per game, distribution
86 games with playtime, log scale, steam
| median | 5.5h |
| quartiles | 2h – 21.75h |
| typical range | 1h – 49h |
| Persona 5 Royal | 52h |
| Among Us | 55h |
| DRAGON BALL XENOVERSE | 56h |
| Black Myth: Wukong | 59h |
| Streets of Rogue | 60h |
| Wallpaper Engine | 61h |
| DRAGON BALL XENOVERSE 2 | 74h |
| Persona 4 Golden | 77h |
| Spore | 84h |
| Terraria | 101h |
| Stardew Valley | 165h |
| Warframe | 348h |
| Total War: THREE KINGDOMS | 506h |
| Hearts of Iron IV | 1,028h |
| SMITE | 2,685h |
Playtime concentration
Lorenz curve · Gini = 0.89 · top 3 games hold 71% of all hours
| bottom share of games | share of hours |
|---|---|
| 24% | 0% |
| 50% | 2% |
| 74% | 6% |
| 90% | 15% |
| 100% | 100% |
How long before I abandon a game?
survival curve: share of library still alive after h hours · log scale · n=86
half my played games die before 5.5h · only 7% make it past 100h
I own 136 games and have never launched 17 of them (13%). the backlog is a graveyard.
last 2 weeks: 6.4h, mostly DRAGON BALL: Sparking! ZERO.
| hours in | games surviving |
|---|---|
| 1h | 100% |
| 5h | 56% |
| 10h | 40% |
| 25h | 23% |
| 50h | 17% |
| 100h | 7% |
| 500h | 3% |
Rarest achievements I hold
P(random player has it) · across my most-played games
| achievement | game | players |
|---|---|---|
| Fector's Challenge | Stardew Valley | 1.3% |
| Prairie King | Stardew Valley | 1.8% |
| Perfection | Stardew Valley | 2.2% |
| Craft Master | Stardew Valley | 2.5% |
| Gourmet Chef | Stardew Valley | 3.2% |
| Polyculture | Stardew Valley | 3.3% |
| Well-Read | Stardew Valley | 3.3% |
Most played
top games by hours, steam
| SMITE | 2,685h |
| Hearts of Iron IV | 1,028h |
| Total War: THREE KINGDOMS | 506h |
| Warframe | 348h |
| Stardew Valley | 165h |
| Terraria | 101h |
| Spore | 84h |
| Persona 4 Golden | 77h |
How I actually build
primary language per public repo, github, live
claimed on the resume, not yet committed publicly: c, c++, rust, shell, matlab, r, julia. the embedded and coursework repos are private; the claim stands.
| Python | 3 repos |
| SystemVerilog | 2 repos |
| Java | 2 repos |
| TypeScript | 1 repo |
| TeX | 1 repo |
| CSS | 1 repo |
Meanwhile, you
this visit, measured locally · nothing leaves your browser
0s
on this page
0%
deepest scroll
0
interactions the radar counted
0/20
secrets found. keep looking
no reads yet. click something. the radar is patient.