Location: Cambridge, United Kingdom
Education: A*A*A*A* at A-level in Computer Science, Mathematics, Further Mathematics and French, ten level 9 GCSEs
TidesX: UK Tide TimesTidesX 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.
HumphreyHumphrey is a very fast, robust and flexible HTTP/1.1 web server, with support for static and dynamic content through its Rust crate and plugin system. It has no dependencies when only using default features, and the binary is easily extensible with a flexible configuration file and dynamically-loaded plugins. It also provides a WebSocket API for the easy integration of WebSockets into your application, a JSON manipulation crate, and a simple authentication system for authenticating users and managing sessions.
StuartStuart 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!
AuthenticateAuthenticate 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.
JasonDBJasonDB 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.
WriteboardWriteboard 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.
Exploring garbage collection in V8 with WebGLJanuary 7, 2023 12 min
Over the Christmas break, I’ve been working on a game engine called TSGL, using TypeScript and Web...
Can you learn to better predict the future?November 20, 2022 7 min
I spent the last weekend participating in HackX, a hackathon hosted by the Cambridge Existential Ris...
How to learn another programming languageNovember 14, 2022 10 min
Plenty of people have already written about how to learn to program, but there are comparatively few...