And much more at github.com/danwardvs
Highlighted Projects
Danpression
An image compression algorithm and image format to store heavily compressed images in a small file.
It chooses 7 central pixels in the image and for each pixel in the source, it stores a number for what central pixel is closest.
Each pixel is then stored as a value to 0-7 and the central pixels are stored in the header.
The data is converted to a binary file and compressed to a 7z archive.
Two Truths and a Lie
An online game to play two truths and a lie to play with youth group during Covid lockdown.
Frontend uses React and allows users to enter their two truths and lies, and keeps score of guesses.
Server uses Node.js with Express and SocketIO to allow real-time communications between server and client.
Server was hosted on an Amazon EC2 Instance
Chicken Monitor
Script for Raspberry Pi to read temperature and display it on 16x2 LCD screen.
Data is also uploaded to remote S3-compatible Linode bucket.
React frontend pulls from bucket and displays data about temperature on a chart using Apexcharts.
Imanote
Script to encode/decode text into an image file by subtly changing pixel colours and reading even/odd pixel data as ASCII characters.
Detailed write-up can be found on the "Imanote" tab of this site.
Network Analyzer
Script to analyze the data outputted by "Fing" network analyzer app.
Uses "matplotlib" to render charts and "pandas" to process raw data.
GRT Bus Locator
Lead developer of mobile app using React Native and Expo.
Uses Google Maps API and transit data from GRT to find nearest bus stop and shows route to get there. Shows stops and their times.
Android -> Arduino Bluetooth Communication
Code for Arduino to communicate bi-directionally to Android app using HC-05 Bluetooth module
Android app using MIT App Inventor to communicate back to above Arduino code.
Perlin Noise Generator
Small C++ application to generate an image of Perlin noise based on parameters
VR Marble Maze
Unity VR project to simulate the tilting marble maze game.