Design. Code. Learn. Repeat.

John Wilson

App Developer / Data Analyst / CS Major

Thank you for looking through my site.

This is a small showcase of projects I've completed and polished for public view. What's included here is meant to give you a sample of the skills I can offer and what I'm able to deliver. Because I believe diversity is a strength, I tend to dable a little bit in everything with a focus on skills I find particularly useful. Right now Kotlin, a subset of the Java language, is my favorite because its libraries allow me to quickly roll out useful tools for friends & family. My HTML/CSS skills started as a hobby long before CSUG gave me formal training. This ecclectic approach have proven useful time & again because I'm accustomed to always learning something new on demand.

My overall goal is to build tools other people will find useful. Whether that takes the shape of mobile apps, desktop applications, or some other form is secondary to the desire for improving lives through software development. More immediate plans are focused on expanding my knowledge into C and learning the Open 3d Engine(O3DE). If you think someone like me could be useful to your team, then please feel free to browse below for specifics on how I can help you.

Top Skills

  • Kotlin
  • Java
  • Microsoft Excel
  • Agile Development
  • HTML/CSS

Extra XP

  • Unity Engine
  • C#
  • Python
  • R
  • Ubuntu-Samba Server
  • Team Leadership

Featured Project - LCarts

SQL driven list app

LCarts is a class project where I decided to have a little fun with fandom. The project requirements included functionality to add, edit, and remove items from a list which would be stored long-term locally. I opted to include my experience with SQL by implimenting SQL Lite in the build, but I levereaged Room's API to reduce boilerplate code. The final product uses two SQL sheets, one to track information about each list and another to track information about each item. The lists provide their unique IDs as keyvalues for the items, enabling me to crossreference the two when calling data. To the user, it appears each list is its own object. Items are copied between lists by simply duplicating data to a new recrod with a different id. The biggest challenge to development was actually implimenting Drag & Drop reordering because Android Jetpack does not officially support this feature.

Features

  • Abstracts SQL Lite through Room API
  • SQL lookups retrieve data
  • Drag & Drop reordering

Source Code

Requirements

  • Android Pie(2018) or later
  • 123MB free RAM
  • 2MB disk space
Back to top ↩

Featured Project - iCooked

GSON powered recipe app

This project required a program that could store & retrieve user input in a relevant way. Cooking apps are quite popular however, they often come with a variety of adds(or worse) attached so I developed iCooked as the safe alternative. The app meets basic requirements by implementing GSON to convert java objects into bytestream data then parse that data back into recipes, or a grocery list, for the user. To maintain responsiveness in the UI, I took advantage of Kotlin's improved multithreading tools. The Repository maintains the single source of truth for the program by retaining the grocery list and currently viewed recipe's data. Because Kotlin allows mutex objects to be implimented, I left out Java's usual start-join lifecycle for threads. I think the final product demonstrates Kotlin's ability to manage virtual threading on its own nicely.

Features

  • Employs GSON to read/write objects
  • Multiple file-types are included
  • Exports recipes via Android Intents

Source Code

Requirements

  • Android Pie(2018) or later
  • 255MB free RAM
  • 1.9MB disk space
Back to top ↩

Featured Project - This Website

Coded with Atom

I built this website to showcase examples of my work. That includes the Website itself being an example. All of the code you see here was developed with Atom, a hackable text editor, and my current knowledge of HTML/CSS. I opted for the JQuerry framework as a way to simplify the javascript used for this site's modal. It's easily my favorite JS library to work with just for its DOM handling. Because I needed an API to handle the site's form, I opted to rely on Web3Forms for REST calls. Web3Forms gave me a quick and lightweight solution to the problem, making it ideal for this particular project. While I have had formal training from CSUG on web design, most of my knowledge came long before my degree from a hobbyist's obsession with coding. I will probably never stop loving my work with HTML/CSS.

Features

  • Webform uses Web3Forms API to POST data
  • Employs JQuerry framework
  • Leverages Cloudflare's DNS & a GitHub repository for easy maintenance
Back to top ↩

Job History

Data Analysis / Agile Development / Customer Service

Aerotek: Jan 2020 - May 2020

My contract with Aerotek focused on customer service within a call center environment. Our client provided health insurance to its consumers and my task was to assist those consumers in finding lower cost options for their procedures. This required me to research medical facilities around the country, provide the consumer with a range of optiongs, then assist the consumer in making an appointment for their procedure. While I enjoyed helping our client and their customers with difficult medical situations, my contract terminated during the global pandemic. I took this setback as an opportunity to return to school and earn my degree.

CGI: Oct 2015 - Jan 2020

CGI bought my contract from Atterro in order to retain me for the Workforce Management team. Our team was tasked with monitoring the call center's data and regularly producing reports for upper level management and our contracting client. Normally a WFM team would use a suite of data analysis software for this work however, we lacked the budget for this tool. Instead the team worked together to build our own tools mostly through Microsoft Excel. I eventually took over the maintenance and development of those tools to handle everything from daily reporting to automatically scheduling staff at our local and remote call center sites. This was also my first formal introduction to the Agile developemnt lifecycle.

Atterro: Oct 2014 - Oct 2015

Initially my role within Atterro was that of a call center representative contracted out to CGI for their call center. My performace within the training class proved high enough that I was immediately assigned to the the broker division. When my contract's term was set to expire, Atterro opted to retain me instead. My work involved researching complex health insurance problems for consumers and insurance brokers in real time. Based on my performance, I was promoted to Workforce Management to analyze data.

Rob-Kraft Inc: Jun 2009 - Oct 2014

While it was in operation, Rob-Kraft owned a chain of restaurants spanning Denver to Colorado Springs. As a Shift Manager I had to pick up a number of soft skills in order to be effective. This included resolving customer complaints, tracking inventory, building out employee schedules, and conducting job interviews. The company sold out to a competitor group in 2025 but lessons learned still have value. Leadership matters. Customers, clients, & employees all want to feel seen. Systems can always improve. This experience helped to drive my success later.

Back to top ↩

Education

Full Stack Development / Statistical Analysis / System Design

CSU Global: Mar 2021 - May 2025

During the pandemic, I decided to go back to school and finish my degree. While my major is in computer Science, my interests centralized around programming itself. That included courses on data analysis with R and how to apply data insights to real world business problems. I also had an interest in studying AI, how it works and how it's built. Given the advances in hardware, it stands to reason that the future of software will depend on correctly applying AI where it is strongest. The next generation of software is here and it's exciting!

Back to top ↩