Hello, I'm

William Henderson.

I'm a Computer Science student at the University of Cambridge with a passion for solving problems by developing efficient, robust and maintainable software, built with performance in mind.
guest@portfolio:~$ ./aboutme
ASCII art

WILLIAM HENDERSON

Location: Cambridge, United Kingdom

Skills: Rust, C, TypeScript, React,+ JavaScript, HTML/CSS/Sass, Python, Git/GitHub, SQL, Docker

Education: Computer Science at the University of Cambridge, year of 2025 (First year: First class, 9th/140), A-level: A*A*A*A*, GCSE: 9999999999

GitHub: w-henderson
LinkedIn: w-henderson
Email: hello@whenderson.dev

guest@portfolio:~$

Blog

Here are my most recent blog posts. You can find more of my thoughts and ideas on the blog page.

Projects

I thrive on projects where every millisecond counts, and I find immense satisfaction in delivering performant and reliable solutions across diverse domains, from systems development to web applications, back-end infrastructure to mobile apps.

Humphrey

Humphrey is a very fast, robust and flexible HTTP/1.1 web server, with first-party support for WebSocket, JSON, dynamically-loaded plugins, and with no dependencies. Written in Rust, it surpassed the performance of web servers Apache and NGINX in benchmarks by more than double, as well as providing a developer-friendly and comprehensively-documented suite of Rust crates for building web applications with Humphrey.
Rust

Equion

Equion is a mathematics-focussed chat platform. It has built-in support for LaTeX and Markdown, high-quality low-latency voice chat and screen sharing, and is lightweight and lightning-fast thanks to Rust and Tauri. I built Equion so my friends and I could share mathematics problems with each other while revising for exams.
Rust
TypeScript
React
Sass
WebRTC
MySQL
Docker
GCP

Stuart

Stuart is a very fast and flexible static site generator, with build times as low as 0.1ms per page. Written in Rust, it is designed to be easier to use than other SSGs, while still beating them in the benchmarks. It is also easy to extend with custom build scripts that integrate with the core build system, as well as dynamically-loaded plugins written in Rust. At its core is a powerful templating system which can source and manipulate data from Markdown and JSON files, as well as the template files, before rendering it all to static HTML. This site is built with Stuart!
Rust

TidesX: UK Tide Times

TidesX is an intuitive and easy-to-use app for checking the tide times anywhere in the UK. It features predictions and live information for over 600 coastal locations, taken straight from the UK Hydrographic Office. I built TidesX after unsuccessfully searching for a simple and good-looking tide times app, and it has since served over 150,000 tidal predictions for locations all around the country.
TypeScript
Sass
HTML
Cloudflare Workers

Kascreech

A joint project with a friend, Kascreech is a real-time multiplayer quiz platform based on Kahoot. It supports hundreds of simultaneous games and real-time client-server communication through WebSocket. The project was originally written without a JavaScript framework, but to improve the quality of both the code and the final product, we elected to completely rewrite the project from scratch using React and Humphrey. I mainly developed the front-end while my friend handled the server, but neither exclusively.
React
TypeScript
Rust
Sass
Heroku
Docker

Authenticate

Authenticate is a simple two-factor authentication app, built with React Native and available on the Google Play store. It was originally built to provide a faster, more modern alternative to older two-factor authentication apps. Designed around the core principles of ease-of-use, speed and security, it includes cryptographic implementations from scratch for all the required algorithms, including SHA-1, HMAC-SHA-1, HOTP and TOTP, in pure TypeScript. Furthermore, it is completely open-source and free to use, making it a great choice for two-factor authentication.
React Native
TypeScript

JasonDB

JasonDB is a blazingly-fast, JSON-based, log-structured database for Rust. Supporting both in-memory and disk-based storage at the developer's choice, it is fast, flexible and well-integrated with the Rust programming language. It provides complex and highly-optimised queries, as well as an intuitive and extensible API for creating and managing databases.
Rust
Database

Writeboard

Writeboard is a simple yet stylish whiteboard app which allows any class or team to share their ideas quickly and easily. It offers a user-friendly and intuitive platform for students to engage with lessons and make progress in today's increasingly-online world. Built during the lockdown of 2021, Writeboard was quickly adopted by my school and peaked at 126 active users in February, having been used in more than 25 countries around the world.
TypeScript
Sass
Firebase
HTML

Contact

If you want any more information about me, or just a chat, please head over to one of the following platforms.