I am a software engineer that is passionate about the intersection of software with physical products and spaces. My career spans the design, sales, and manufacturing of products, and from these experiences, I’ve grown to love taking the complex challenges and interactions involved in bringing something to life and refining it for users. I am very excited about the technologies of VR, AR, and on-demand manufacturing like 3D printing, and I want to help bring the amazing experiences and capabilities to more people.
Diffuse or Lose is a game built in HTML, CSS, and Javascript. The prompt for this project was to build a front-end application in JavaScript that allows the user to play a simple game. I chose to make mine based on Simon.
The basic mechanics of the game came together quite quickly. The visuals and refining the interactions proved more challenging. Each round, the keypad highlights keys in a sequence that the user must then replicate by clicking on the keypad buttons. A wrong key press results in game over. While the user is entering the pattern there is a timer that is counting down to zero. If the timer reaches zero before the user completes all rounds, the game is over. Successfully completing a round, however, will add some time to the clock.
Initially, I started with a very simple UI while I worked out the game mechanics. There were only four buttons on the keypad. I tried to design this in a fairly scalable way that allowed me to create a harder mode with a nine-button layout. Once I had the basics worked out, I gradually polished the visuals.
Levels App is a web app for tracking inventory levels at a small business. I built it using MongoDB, Express, Node, EJS, and Bootstrap. It is hosted on Heroku.
The prompt for this project was to build a web app that stored data using a MongoDB database, implemented full CRUD, and used a templating language to display the User Interface. Levels App is prototype for a simple inventory tracking app.
This app was my first using MongoDB and I learned about the differences between non-relational databases (like MongoDB) and relational databases. Mongo is very flexible and mostly forgiving, but I missed some of the data relationship managment that Postgres offers. That said, it was very rewarding figuring out how to efficiently manage models and relationships in Mongo.
Because the app has a few screens, I started with a wireframe mockup of the screens and users flow (screenshot above)