Hi, I'm Kimmy.

A software developer based in Nashville, TN.

Personal Projects

In my free time, I like building apps to solve problems people encounter in their daily life.

logo

Bike Dash

An app to help my dad organize his hobby bike business.

My dad has a hobby side business where he buys bikes from pawn shops and fixes them up and then resells them. I asked him how he managed this side business, and his response was "I start with some cash in an envelope at the beginning of the year, and I hope I end up with more cash than I started with at the end of the year". That's when I decided to build him this app to help him track his inventory, bike statuses, and sales.

  • Inventory management: bikes and individual parts
  • To do list and labor: add and complete to dos on bikes in process, and record time spent to calculate total labor invested on each bike
  • Bike status: move bikes from in process listed (shows total $ investment in bike; purchase price + parts added + labor) to sold
  • Dashboard: easy access to overall data, such as total bikes sold, total labor, inventory overview
  • Django web app using models for migrations, views for business logic, and templates for HTML rendering
  • Learned how to use decorators to add @property decorator logic to models that are used throughout the app
  • Discovered that I don't need to manually set a unique identifier for each image that is uploaded (like I needed to do for C#) - Django adds a unique string of characters in case an image is uploaded with a duplicate file name


logo

Grow

An app to help keep plants alive by tracking optimal watering and lighting settings.

My husband got me a plant subscription where I got 6 new plants over a 6 month period. In an attempt to avoid killing the plants, I created this app to help track the health of my plants, and updating watering and/or lighting requirements to keep my plants alive.

  • Plant history: view history of plant's past watering and lighting
  • Update plant requirements: when user notices a plant isn't thriving, user can update plant water and/or lighting requirements
  • Plant watering schedule: view plants based on watering requirement to keep on schedule
  • Used ASP.NET MVC framework with Models for migrations, ViewModels to display data from multiple tables, controllers for business logic, and razor templates for HTML rendering
  • SQLServer and Microsoft SQL Server Management Studio
  • Virtual Machine to run Windows on my Mac
  • Used Cloudinary for image upload for cloud storage


logo

Art Archive

An app for art collectors.

My great-grandfather was an artist and graphic designer in Chicago in the 50s and 60s.
I have several of his pieces, as well as art I've collected from my travels abroad.
This app is to help users remember the details about each special piece they own in their collection.

  • Add Artwork: using Cloudinary for image storage, users can upload a photo and enter details about each piece
  • Edit Artwork: as more details about the piece become known, users can update accordingly
  • View Gallery: using CSS hover, users can hover over each piece for quick info about the artwork
  • View Filtered Gallery: users can view their artwork by artist, type of piece, and condition
  • View Details: from the gallery, users can select a specific piece to see more details
  • Delete Artwork
  • React for frontend framework, json-server for persistent storage, and Materialize for styling
  • Learned how to use state and props to pass data to different level components
  • Used Cloudinary for image upload for cloud storage
  • Demo version of app deployed to Heroku


logo

Take a Break

An app to increase productivity through gamifying taking breaks throughout the day.

Like most people, I am trying to find the best balance to be productive without causing burnout. I read an interesting book that talked about the power of taking strategic breaks throughout the day to help with productivity. I decided to make an app to gamify taking breaks. Users will select their daily goal for breaks, and they'll enter their breaks throughout the day. Each break point value is calculated by the "type" of break (5 points for a break where you walk around and a 15 points for a tech-free break, for example). At the end of the day, users enter their productivity rating, and can view their dashboard to see how it compares to the points they earned through breaks.

  • Goals: Set a daily "break point goal"
  • Record breaks: breaks are recorded by time and type of break (point value changes, based on if it's tech-free, walking around, etc.)
  • Productivity: at the end of the day, users can rate their overall productivity
  • Reflect: users can view their dashboard to see how breaks are impacting their productivity, and potentially change their break goal and/or how many breaks they take and/or the type of break
  • Used ASP.NET MVC framework with Models for migrations, ViewModels to display data from multiple tables, controllers for business logic, and razor templates for HTML rendering
  • SQLServer and Microsoft SQL Server Management Studio
  • Virtual Machine to run Windows on my Mac
  • ChartsJS for rendering charts on dashboard


logo

Backpacker Tracker

An app for world travelers.

My husband and I can never remember the many places we've visited abroad,
so this app helps track those details in a Google map and timeline view.

  • Add Trip: using Google Geocode to locate the specific location, users can enter trip location, details, and can upload an image (to Firebase) about their trip
  • Rate Trip: rate each trip by a star rating
  • Map View: using Google maps pins, users can see all of their recorded trips on a map
  • Timeline View: this view helps users remember the order of their trips by date
  • Trip Details: from the map or timeline, users can select a specific trip to see more details
  • Delete Trip
  • AngularJS for frontend framework, Firebase for persistent storage, and vanilla CSS for styling
  • Used Google maps for both Geocoding and displaying trip data on map pins
  • Demo version of app deployed to Firebase


About Me

NSS grad Mar 2018
NSS Jr Instructor Apr 2018 - Jun 2019
Currently working with Python, C#, SQL

I never considered myself a creative person because I thought that meant I could paint, sculpt, or make really pretty things out of dried macaroni. But then I learned software development, and that at the end of the day, I get to solve problems and wrangle data in a creative way.

I became interested in software development when working with a talented development/design team at Bridge. I saw the level of growth and challenge they experienced in their roles and decided I was ready to leave the management track and start at the bottom, learning a completely new skill.

my_image

Education and Experience

logo

Nashville Software School

Junior Instructor

April 2018 - Present

I help other adults make the career change into software development, acting as both an instructor and mentor. During my time as a Jr Instructor, I taught 3 months of front-end fundamentals, 6 months of Python & Django, and 6 months of C# & ASP.NET.

While my main role is focusing on current students and their software development skills, I noticed that alumni struggled maintaining their software development skills after graduation, so I created a graduate study guide that covers topics such as: language specific concepts (Python & C#), software development concepts (such as Object Oriented Programming principles), and suggested ways to "keep on coding".

I support the lead instructor by teaching and reviewing concepts, such as:

  • Data Relationships. Throughout the course, students build several ERDs for group and individual projects. Students often struggle with foreign key relationships, in particular, many-to-many relationships, so it's common for me to sit with students and refactor their ERD tables to make sure the data structure is sound. I also coach students on how to navigate through those data relationships, whether through SQL queries, straight C#/Python, or through an ORM.
  • Framework Signal Flow. Whether working with ASP.NET or Django, students are overwhelmed when we first teach the flow of a framework to get an API or web app up functional. When students struggle understanding how the URLs, Models, Controllers/Views, and Views/Templates are connected, I review the MVC/MTV structure individually or to the whole class, through whiteboarding the flow and by walking through the code step by step.
  • Agile Methodology. During backend sprints, I acted as a product owner/scrum master by running sprint planning ceremonies, daily standups, answering questions about tickets, clarifying product requirements, and code reviews/retros at the end of each sprint.
  • Self Sufficiency. One of the important things we teach at NSS is finding solutions independently, but also knowing when it's time to come for help; this is a delicate balance. With students, I focus on Googling tips/reading through Stackoverflow articles, time-boxing yourself to make sure you're not waiting too long to ask for help, and clearly explaining the problem you're trying to solve once you do come ask for help.


Fullstack Student

October 2017 - March 2018

I learned how to think like a developer in this 6 month, full-time course. We covered best practices in software development, data structures, source/version control with Git/Github, and how to work on a team in an agile environment. I learned JavaScript, AngularJS, C#, ASP.NET, and SQL.


logo

Bridge Education Group

Product Owner | TEFL Division Manager

April 2015 - September 2017

I led daily operations of the TEFL (Teaching English as a Foreign Language) division to help teachers teach English abroad. I worked closely with the CEO, CFO, web designers and developers, marketing, and sales to build products that improved our customer experience and helped our admissions team with customer service.

New E-Learning Course

  • Problem: The main online course we offered was difficult for our development team to modify, as it was antiquated. Students found the platform to be unintuitive and dated.
  • Process: I acted as a product owner and project manager to not only build an entirely new e-learning course that was more maintainable, but we also modernized the course curriculum and connected the course to SalesForce.com to be able to access aggregate and individual student course data.
  • Outcomes: Student course feedback increased, technical issues sent to the customer service team decreased, and we were able to track and improve student completion rates.

New Job Board

  • Goal: Most of our customers were taking our course to then find a job either abroad or locally, so we saw an opportunity to reach potential customers by creating a job board that connected schools with qualified applicants, as well as promote our online courses to applicants who may need certification.
  • Process: The CEO and I worked closely together to research and plan the project. I also worked directly with a developer and designer to build out the job board and connect it to SalesForce.com.
  • Outcomes: We were able to capture leads through another avenue, which marketing was able to put on a specific marketing campaign to reach customers who were actively job searching. While not a significant number of leads, we did find that there was a higher percentage of conversion rates from lead to enrolled student, compared to leads from other avenues.



Program Advisor

July 2014 - April 2015

I consulted with customers to ensure they selected the certification course that fit with their teach abroad goals, based on the region they desired to move to. I helped currently enrolled students with any customer service inquiries.


logo

Utah Valley University

Bachelor's Degree | English Literature

Graduated 2010

Along with a traditional degree in English literature, during my college studies I taught English abroad as a volunteer. I taught children in Russia (fall 2004), Ukraine (summer/fall 2006), and China (fall 2007).




Favorite Technology

Backend


client logo


Frontend