Jiahao Ren Building tools that solve real problems.

Computer Science student building AI tools, desktop applications, and gaming analytics systems.

Current stack
RustTauri 2React 19TypeScriptAstro 5FastAPIOracleAWS EC2

Latest writings

AIAI Film

AI Stars Are Inevitable: The Celebrity Industry Is Headed for an Exponential Crash

I believe AI stars are coming, no matter what. They act more real than real people, never get caught in scandals, cost a fraction to produce, speak every language, and once open-sourced can jump between worlds. As AI keeps improving, the human celebrity industry will shrink exponentially.

AISoftware

The End of Software Is Headless: Only One Kind of Software Will Be Left

I believe only one kind of software will exist in the future: AI software. Interfaces will step aside, software will become headless capabilities wired to an LLM through APIs. My own tools already have APIs, and these days I don't even bother clicking through pages to create, read, update or delete anything.

Reverse EngineeringGame Modding

Bolting a League Mode onto a Football Game: Three Weeks of Pitfalls

The game has no career league, so I built one outside it: fixtures, transfers, growth and the board all live outside, and the game only plays the matches. These are the hardest problems of those three weeks: making the game reload its data, compressed slots we couldn't fit back into, newgens without faces, saves tied to the database, and a formation bug I fixed today.

Reverse EngineeringeFootball

Reading eFootball's Player.bin From Scratch: A Data Format Study Guide

Someone recently sent me a dozen questions about reading Player.bin. I turned my answers into a study guide: where the file lives, how records are cut, how the IDs work, how to read bit-packed fields, and the part that matters most: how to prove an offset is actually right.

WebSocketSecurity

I Locked the Front Gate and Forgot the Back Door — A Lesson in Opening the Door and Bowing the Burglar In

A security review of my AI companion project came back with one line that made me go quiet for two minutes: 127.0.0.1 keeps the internet out, but not the other programs on your own machine. Here's what WebSocket is, how the hole got there, and what each of the three fixes actually buys you.

WebGPUWebGL

How Is That Flowing Light on My Homepage Actually Made? — A Tech Chat for Non-Programmers

A friend looked at my personal site and said 'okay, this is just pure showing off.' Fair — but showing off what, exactly? This piece breaks it down in plain language: the flowing light in the background isn't a video, and the 3D letter on the homepage isn't a 3D model either. It's all math and physics, computed in real time.

View all posts →

Selected projects

Desktop App (Tauri 2) + Computer Vision + VLM

AI Companion

Vision-enabled AI companion: MediaPipe/SFace face ID + HSEmotion, RF-DETR Nano real-time object detection, and event-driven Qwen3.5-2B VLM scene understanding via llama.cpp — full Apache-2.0/MIT stack, no AGPL.

Data Format Research + Database + Analytics

eFootball Research Platform

Decoded and documented a 14.7MB player database: 26 abilities, 67 skill flags, 23 playing styles, 7 AI playing styles, form/injury. Python GUI editor and validation pipeline.

Web Scraping + Rate Limiting

Low-Load Data Crawler

Low-load crawler: one cookie setting returns every column per list page, cutting requests 97%; Perlin-noise pacing and a global pause on 429/503.

Desktop App (Rust + Tauri 2)

League of Legends Desktop Assistant

AI-powered desktop companion with real-time game intelligence, LLM-driven match analysis, and read-only League Client integration.

Database Project

CS2 Tournament Database

Professional CS2 match analytics with Oracle + MongoDB dual-database architecture. Players, coaches, maps, tournaments — full relational + NoSQL modeling.

Computer Vision (Face Recognition + Emotion)

Emotion Detector

Real-time facial emotion classification with per-person face recognition — YuNet alignment + SFace embeddings. Its face and emotion modules were later carried into the AI Companion vision stack.

Hey, I'm Jiahao Ren.

I'm a Computer Science student at the University of Waikato. I enjoy figuring out how systems work — recently, that has meant reverse engineering eFootball player data, building AI-powered tools, and turning failed experiments into blog posts.

I don't just list technologies — I build complete pipelines: decoding binary data formats, collecting 37K+ records with a low-load crawler, modeling tournament databases, and shipping desktop apps to real users. When something breaks, I write about it.

假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。

He who borrows a carriage and horses does not make his own feet swifter, yet he travels a thousand li; he who borrows a boat and oars does not become able to swim, yet he crosses rivers and seas. The noble person is no different by nature — he simply knows how to make good use of what is at hand.

Xunzi, "An Exhortation to Learning" (荀子《劝学》)

"If I have seen further, it is by standing on the shoulders of Giants."

Isaac Newton, letter to Robert Hooke, 1675

Newton wrote this to Robert Hooke amid their bitter priority dispute over optics — and since Hooke was reportedly short and somewhat hunched, historians have long read a wry dig beneath its humble surface. The phrase isn't originally Newton's either: it traces back to the 12th-century philosopher Bernard of Chartres, though Newton's fame made it the enduring metaphor for intellectual debt and lineage.

Skills & Tools

Languages
JavaPythonTypeScriptRustSQL
Frontend
ReactTailwind CSSAstroRecharts
Backend & DB
FastAPIOracleMongoDBSQLite
Infra & AI
AWS EC2DockerClaude CodeHermes Agent

Get in touch

Feel free to reach out about projects, tech stacks, or dev workflows.