Sign in

Software Engineer — Chicago

JavaScript-based Library for Mapping Anything!

Getting Started

Geolocation features have many uses in modern applications. The user might be looking for businesses closeby, planning a trip or tracking their workout trail. There are tons of use cases where being able to show and update locations on a map is necessary.

GoogleMaps API is a popular choice, but there’s another tool that I highly recommend called Mapbox. It comes with an extensive list of properties that allow you to customize your view and there’s some fantastic built-in styling features as well. Mapbox GL JS is JavaScript-based as you may have guessed by its…

Graphics That Offer Clarity

Scalable Vector Graphics

If you’re new to web development, opening up an SVG file for the first time can be a little overwhelming. Why is it so huge? What are all of these foreign attributes? Why does it not respond to CSS styling in the same way other image files do? It might be intimidating but once you see how scalable and customizable these files are, you’ll definitely prefer to utilize them whenever possible.

Raster vs. Vector

Comparing raster and vector graphics is like comparing old-school Super Nintendo games to modern 4K HD films. Raster graphics use a dot matrix data structure…

Toggling Classes to Uncover Secret Elements

Photo by Eren Li from Pexels

When you want to hide something… but show it sometimes

This article was inspired by Codepen’s recent weekly code challenge. The theme for their code challenges for this month was micro-interactions. There are many situations where you might want to hide and later reveal an element on the DOM based on user actions.

For example, you might want to hide a form or you might want to hide some instructions or additional information in a tooltip to better inform users about form fields or other elements within the DOM. For single-page applications, it can be especially important to preserve valuable screen space. Easter eggs…

Build a rating system for user reviews.

photo credit:

Easier Said than Done

Technological product companies really value user experience. The best way to know what improvements can be made to please the consumer is to collect feedback. The star-rating system is a beautiful thing as it offers a simple and quick way for user’s to relay how pleased they are with the overall experience of our website, application, or products.

Although these can be seen on e-commerce sites, review applications, and more, don’t let your familiarity fool you into thinking that it’s as easy to create as it is to use. …

An Alternative to RESTful APIs

photo credit:

The Origin Story

In 2012, the development team at Facebook introduced GraphQL as a solution for some fetching issues that they were experiencing with native mobile platforms. In their own words, they “needed a data-fetching API powerful enough to describe all of Facebook, yet simple enough to be easy to learn and use by our product developers”. Thus, GraphQL was born and later released for public use in 2015.

It can be used in conjunction with almost any programming language and has since gained a ridiculous amount of popularity. Developers love the flexibility and efficiency it offers within client-server communications. …

Test-Driven Development for Rails Applications

photo credit: HackerNoon

Red, Green, Refactor

One of the best ways to ensure your Rails application is set up for success is to build tests from the very beginning of development. Ruby on Rails is known to be highly opinionated and as such, there are specific preferences about how to effectively set up tests. The recommended workflow is referred to as ‘Red, Green, Refactor’. Following this guide, we start out by writing our tests based on the behavior we’d like to see, writing the code needed for them to pass, and then tidy up our methods and implementation. …

Breaking into small teams for large scaling power

Photo by Diva Plavalaguna from Pexels

Monoliths vs. Microservices

The best way to understand the need for microservices is to compare them to their counterpart, monoliths. Smaller applications that don’t have much concern for scaling might be content with a monolithic system as they have a single codebase, process, database, and tech stack. This makes it simple and easy for anyone to jump from working on one part of the project to another.

While there’s nothing wrong with this approach, there are some disadvantages. For starters, deployment gets risky as one bug in your program could cause the whole thing to break. Since monoliths share one database, added features…


Improved Debugging and Communication During Development

photo by Max on Medium

Advantages of Incorporating TS

TypeScript’s main purpose is to provide a way to label the type of value our variables, objects, and functions point to. It’s a useful debugging tool (when used correctly) that also assists in getting everyone that touches our application on the same page.

Whether you are starting to work on a project that you inherited or working with a development team, clear communication is crucial for delivering the best possible product. This is why there’s so much focus put on writing ‘clean code’.

Aside from following best practices such as appropriate naming conventions and including comments, defining types really paints…

Tools, Standards, and Best Practices

Photo by Glenn Carstens-Peters on Unsplash

Embrace the Power of Testing

Test-driven development is a popular practice for a reason. Making testing a priority from the beginning can help avoid introducing hard-to-find bugs in the future by adding and running tests for individual functions before moving on to write more code.

The standard flow of testing is easy to remember… arrange, act, and assert. First, arrange the code (including props or other arguments needed), invoke an action (clicking a button, giving fake user input, etc.), and make an assertion (injecting your hypothesis). Keep in mind the goal is to mimic how this application will be used in production.

Where to Begin

Before getting started…

Meditative Practices To Unleash Your Potential

Photo by Prasanth Inturi from Pexels

Demystifying Mindfulness

Ever walked into a room and completely forgot what it is that you were doing? Or perhaps you have arrived home from a long day at the office and realized that you can’t even recall the drive to get there. The truth is that many of us live on auto-pilot. We get through the day without any true sense of awareness or appreciation for the things around us. Practicing mindfulness helps us to wake up from this zombie-like state and get back to being fully involved in our daily lives.

Mindfulness is not just…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store