My Work
Pass Vault Rewrite (Kotlin Android)
This is a rewrite of the previous Pass Vault android app which was made in Java almost 2 years ago. I wanted to do it properly this time by using recommended MVVM architecture, unit testing, instrumentation testing, CI using GitHub Actions, and persistence with Room SQLite.
KotlinAndroid StudioArchitecture ComponentsMaterial UIRoom SQLiteEspressoJUnit4GitHub Actions
  • Fully offline so your data is not being collected
  • Simple pass code authentication like in mobile banking apps
  • Store your various account passwords and never forget them again
  • Generate strong and randomised passwords
  • Backup your accounts through import and export feature
Patient Management System
Group (4 people) project for our Software Development Practice paper. It's a Patient Management System that allows Staff and Patients to communicate realtime and gives the ability to update patients quickly on their medical results. Below are some features I was primarily responsible for.
JavascriptReact NativeFirebase
  • Realtime messaging using Firebase.
  • Realtime comment chain for Staff and Patients
  • Authentication flow
  • Search feature to look up staff and patients.
  • Search filters and sorting
  • Firestore queries
Basic 2D RPG Game
Animated 2D RPG Game made in Java and Swing by a team of 3 people for our Program Design and Construction Paper.
JavaSwingLanterna CLIJDBC
  • Simple map exploration with a 2D animated character
  • Classic turn based combat reminescent of old school J-RPGs.
  • Random monster encounters.
  • Treasure hunting.
  • Challenging(?) boss battle.
  • Inventory system where you can equip your character with items to make it stronger or heal up with
  • Event log for player interactions with different game objects such as treasures, battles, and bosses.
  • Map generated from ASCII text.
  • Camera view that centers on player.
This Website
Simple SPA portfolio website that uses HTML, CSS, Javascript, React, React Router, Material UI, and GitHub Pages.
JavascriptHTMLCSSReactMaterial UIGithub Pages
  • HTML content is dynamically added through Javascript React.
  • CSS and JSS through Material UI. Most of the layouts are handled using CSS Flexbox.
  • Material UI is used for most of the components such as App Bar, Navigation Drawer, Card Layouts, Avatars, etc.
  • Menu navigation uses React Router so user won't have to load new pages from scratch.
  • Site is built mobile first but is responsive to larger screens such as Tablets and Desktops.
  • Site is hosted on Github pages.
Gym Tracker Web App
As an avid gym goer, I always thought it'd be nice to be able to track my progress in the gym. This is to ensure that I am indeed pushing myself hard enough and induce progressive overload. This is still a work in progress and has taken a backseat due to university studies. Nevertheless, I already am using this in my workouts even though it is still very bare bones. Listed below are the currently working features.
JavascriptHTMLCSSMaterial UIMongoDBNodeJSExpress
  • Awesome looking dashboard.
  • Create workout routines
  • Dynamically adding exercises to your routines
  • Track and record your progress such as number of repetitions, sets, and weight lifted.
Pass Vault (Java Android)
Native android password manager application to manage all my passwords. No more getting locked out by Study Link!
JavaAndroid StudioRoom
  • Store accounts to persistent storage.
  • View accounts stored and copy password to clipboard.
  • Delete accounts from persistent storage.
  • Random password generator.
  • Username search feature.
  • Account sorting feature.
  • Import/Export CSV feature.
  • Create passcode and login feature using SharedPreferences.
Life Manager
Journal entry and weekly scheduler Desktop application made in Java and Swing where you can either write about your day or schedule events that will happen for that week. This application was made for a School Project where we were free to write any program we wish as long as we demonstrate our knowledge of OOP and core Java.
  • Write journal entries about your day and store them permanently to local storage.
  • Add events to your weekly scheduler so you can priorities things you should do in a week.
  • Various sortings option availalbe for the weekly scheduler such as sorting by date.
Pass Volt
This marks the start of my programming journey in 2019 where I made my very first destop GUI applicating using Python and Tkinter after self-teaching myself programming the past few months at the time.
  • Login page to avoid unauthorized users. Account is stored as key value pair using shelve module.
  • Store account passwords to local storage.
  • Easily retrieve account passwords stored by copying a password to the clipboard.
  • Remove old accounts that you don't need anymore.
Get In Touch© Copyright Vinson Beduya 2022