Write-ups about my projects and research

Hacking cars in JavaScript (Running replay attacks in the browser with the HackRF)

16/09/2024

A few months ago, I prototyped a web-based tool to run replay attacks using HackRFs and the WebUSB API, and unlocked my friend's car remotely.

Control UIs using wireless earbuds and on-face interactions

10/09/2023

A few weeks ago, I stumbled upon a very cool research project around using the acoustic signature of gestures to create new interactions with interfaces and decided to implement a prototype version of it in JavaScript.

Voltage, current and resistance in electrical circuits

07/08/2023

Some notes from reading chapter 4 of the book 'How computers really work'.

Notes from competing in my first CTF

04/04/2023

Last weekend, I competed in the National Cyber League (NCL), my first cybersecurity CTF. I wrote down notes about the tools I used in the challenges and wanted to share in case anyone is curious to know how CTFs work.

From Wi-Fi to Li-Fi, sending data via light using Arduino and JavaScript

13/02/2023

Different parts of the electromagnetic spectrum can be used to transmit information. Using visible light, data can be encoded and transmitted using a technology called Li-Fi which aims at using your existing lights for wireless communication.

Cybersecurity attacks using Deno

07/12/2022

When I'm sharing what I learn about cybersecurity in open-source, a reaction I've seen people have is to mention Deno as a tool that will fix the problem. The risk of supply-chain attacks still exist and I wrote this post to show how it can be done.

Setting up a reverse shell with Vultr

04/12/2022

I used Vultr recently and struggled to create a reverse shell so this post is gathering the steps that worked

Demystifying machine learning via Bluetooth with arduino

31/10/2022

The first time I experimented with TensorFlow.js for micro-controllers, I got really excited about the fact that a machine learning model was transferred via bluetooth to my Arduino. In this post, I am going to explain how it works.

Gesture-based payments

10/10/2022

Recently, I've been experimenting with gesture control and researched how this technology could be used as a payment method.

Building an aircraft radar system in JavaScript

29/08/2022

A few years ago, I came across an awesome talk by Thomas Watson in which he talks about how he built AirplaneJS, a web app that picks up ADS-B radio signals from airplanes and plots them in real time on a map in the browser. I had no idea this was possible in JavaScript so I started looking into it.

Gaining remote access to a computer with a reverse shell attack in Node.js

28/06/2022

I recently learnt what a reverse shell is and got excited to experiment running this kind of attack via a Node.js module. This post will go through my thought process and the different options I tried.

Ultrasonic payments

06/06/2022

Experimenting with ultrasonic data transmission in JavaScript as a payment method.

Running a ransomware attack in a Node.js module

05/05/2022

A couple of weeks ago, I experimented with creating a small ransomware script, and looked into how to run an attack in a Node.js module.

Building UIs in Figma with hand movements

20/01/2022

I've played around with hand detection using TensorFlow.js in the past but since they released the ability to detect multiple hands, I've wanted to explore building UIs with hand movements.

Making an interactive digital frame with head-tracking using Three.js and TensorFlow.js

01/08/2021

Over the past few weeks, I've been working on a new side project to replicate a visual effect called "head-coupled perspective" to make interactive art with head tracking, using Three.js and TensorFlow.js.

Toggle dark/light mode by clapping your hands

14/04/2021

A few days ago, we released dark mode in beta. While we're still iterating on it, I built a Chrome extension to easily toggle it by clapping my hands.

Speeding up Storybook locally by running filtered stories 🚀

08/04/2021

Working on a big monorepo means that developing with Storybook can become painfully slow. A small change can drastically speed it up!

Setting up a RaspberryPi without monitor and keyboard

05/04/2021

For a long time, I thought a keyboard and monitor were needed to do the initial setup of a RaspberryPi. However, I recently learnt that you can do this using only another computer!

Predicting indoor location using machine learning and wifi information

06/03/2021

After trying out a Python project called whereami, I spent some time trying to replicate it in JavaScript.

Creating low poly 3D scenes with Spline

27/01/2021

Quick overview of Spline, a 3D design tool for web experiences and how I spent a few hours creating a low-poly scene.

Creating a Github action to detect toxic comments using TensorFlow.js

16/08/2020

Over the weekend, I spent a few hours building a Github action to automatically detect potentially toxic comments and PR reviews.

Yeah, nah... I'm not ok

07/07/2020

If you've been following my work, you may be used to seeing weird JavaScript projects exploring HCI, but this post won't be about that.