MacOS Big Sur | Swift 5
µRadio is designed to be a FREE, light-weight, no-fuss radio player. The player features the ability to "favourite" various stations, search stations, filter by region, ability to change station thumbnails etc. The entire application was written in a couple of days in Swift and SwiftUI with a very few (can't be abovided) calls to AppKit.
Android | Desktop (OSX, Windows, & Linux)
AndroSync was one of the first "mobile-to-pc" synchronization applications available for Android. Featuring dynamic IP address resolution, automatic synchronization of photos, videos and contacts, AndroSync was also capable of parsing the iTunes library and syncing songs from a specific playlist. Synchronization could occur via WiFi, Bluetooth or USB using the ADB library (a very hacky way to do it but only way at the time!). The Android app was bundled with a desktop companion application that provided all the functionality required to facilitate synchronization. The desktop application was developed in Java with the aim of being fully cross-platform whilst also sharing code with the Android app counterpart.
The Tizen application, targeted at the Galaxy Wear range, allowed you to adjust the temperature of your home using nothing other than your watch. Paired with a phone application, the larger scale app allowed you to easily sign in to the Hive service. Using a bit of API reverse engineering, the watch app then use these saved credentials and un-documented API to update the heating.
Android | Desktop (OSX, Windows, & Linux)
SMS2PC was the first full featured desktop-SMS messaging applications released in the early days of Android. Designed to mimic the UX experience of desktop applications such as MSN Messenger and Pidgin, SMS2PC shipped with a beautiful, clean and lightweight UI. Tailored over time with user suggestions and requests, SMS2PC also allowed the user to customise the application to fit into their own individual desktop design. The original application shipped with features including: dynamic IP resolution, auto-connect on new SMS, phone book synchronization and caching, user key based encryption, searchable phone book and messages, group messaging, remote connection, USB connections via ADB, Bluetooth connector, colour customization, ability to flush windows in the tray, ability to tailor how notifications occurred and more! The desktop companion application was written in Java but was tweaked to look native on Windows, OSX and Linux.
Yale Alarm Scheduler
Python (and soon to be AWS)
Designed to be simple to config and even easier to use. A simple script that enables users to arm (also part-arm) and disarm their "Yale Sync Smart Home" based on a user defined schedule. The script repository contains a Dockerfile that can be used to run the software in the background on a permenant basis. The scripts also provides the capability to send notifications on arming and disarming events using the SendGrid API. SendGrid is a free and pair for service that allows you to send emails via an API.
Jekyll Content Security Policy Plugin
Ruby | (OSX, Windows, & Linux)
Jekyll Content Security Policy Plugin, or CSP for short, is a small Jekyll plugin written in Ruby. The aim of the project was to develop a plugin that would create an HTML CSP based on images, scripts, styles and others found within the generated output of a static site. The tool handles converting style attributes into style tags as well as SH256 hash generation for inline styles and scripts. The overal goal was to speed up static site generation but also provide basic protection from XSS.
Dog Grooming Management
The Dog Grooming Management app was designed for people who run a small mobile dog grooming business. The app featured a full dynamic logging system allowing each client and their individual needs, health history and temperament to be stored and retrieved with a few clicks. The system also included a daily schedule list that estimated times for each client (based on previous sessions) along side the travel time between each client. This system then gave a rough daily estimate of the work load, time taken and money earned.
A super simple Python bot that worked with Coinbase APIs to buy and sell on a users behalf. Featured linear regression, prediction based on web scraping, threshold selling and a number of other features.
Web | Android | iOS