PDFBlaze
–
pdfblaze.com
A free templated PDF generation tool. Use the no-code editor to create
reusable PDF templates and insert data to generate PDFs. PDF rendering
engine written from scratch in Rust.
Vechsel
–
On GitHub
A macOS utility application written in Swift to switch application windows by replacing the standard ⌘+Tab
behaviour.
Nintendo Switch - GBA Emulator
–
On GitHub
Utilising the restricted Nintendo Switch browser to capture input and
receive streamed emulator data from a remote Python server.
Big Brain Sudokus
–
On the App Store
A Sudoku application written in React Native and managed via
Expo. The free and shareable
Sudokus are available in 9 difficulties.
This website
–
On GitHub
A custom built website using Astro. Includes server side rendering and
a a ProseMirror powered WYSIWYG editor.
Infrared sound remote On GitHub
–
Problem: Speakers that connect to a TV with a proprietary remote
control. Solution: A infrared transceiver and a RPi + a local web
server.
And much more...
There is a lot of testing, prodding and half-finished bits. Feel free
to visit my
GitHub
profile to see them.
Research
Decoding User Behaviour from Smartphone Interaction Event Streams Open Access Link
This is my PhD thesis, it compounds my individual research over the
years into one document.
Discovering Types of Smartphone Usage Sessions from User-App
Interactions View on IEEE Xplore
In this paper, we examine how embedding physical user-app activity
(e.g., taps and scrolls) can provide a rich basis for summarising device
usage. Using a large dataset of 82,758,449 interaction events from 86
users over an 8-week period we combine feature embedding and
unsupervised learning to extract prominent interactions within clusters
of smartphone usage sessions.
Utilising the co-occurrence of user interface interactions as a risk
indicator for smartphone addiction View on Elsevier
The study highlights a novel methodology to transform and analyse large
amounts of interaction events to infer a user's level of smartphone
addiction. This is a step forward from using commonly used metrics such
as pure screen on time which can misrepresent the cognitive complexities
and dependencies of human behaviour.