Software
wiseWeather: Instant Weather App Note: Currently in review for publishing to Google Play wiseWeather is a simple application designed to provide convenient one touch access to current weather conditions. It does this by accessing a device’s current coarse location via the Fused Location Client. The UI and Animations are created using Jetpack Compose; the official new framework for Android UI.
Postrainer: Posture Correction App PosTrainer is an open source application which is designed to help desk jockeys like myself manage, and eventually reverse the deleterious effects of spending endless hours a day in front of a computer. It contains a notification based reminder system for user defined custom reminders, and some detailed instructions for exercises and stretches which I have found to be effective in my own posture management regime.
Graph Sudoku: Sudoku App Powered by Graph DSA Graph Sudoku features dynamically generated Sudoku puzzles (size 4 or 9) which are created using a Directed Colored Graph and relevant algorithms. The UI is written in Jetpack Compose.
SpaceNotes: Cloud Based Note Application SpaceNotes (source available here) is primarily a learning project for myself to create an application which functions both online and offline, with optional user registration. It features three local databases (currently implemented with SQL-based Room API), a remote database via Firebase Firestore, and FirebaseAuth for user management and registration. Being a huge fan of Test Driven Development and Clean Architecture, the application features extensive unit testing, extensive design pattern usage, and my own Model-View-Logic style front end GUI architecture.
DonkLanguage: Programming Language In the past few years, I’ve undertaken a number of projects to improve my understanding of the Fundamentals of Computer Science and Software Engineering. My latest hobby project is a programming language which will eventually have it’s own compiler. Currently the Tokenizer and Parser are complete; the next step will be to write a compiler/interpreter for either JVM bytecode or WASM.