Image for post
Image for post
Companion app for one of the most well known titles in gaming history

Companion apps have been leveraged by big titles like Call of Duty, The Divison, NHL 13, Fallout, and countless more. They provide a genius way to engage players even when they aren’t in front of their consoles or PCs.

However, these apps require installing yet another app on our phones, and are forced to adhere to the rules of the Google Play and App Store.

But what if we were to build companion apps as progressive web apps, rather than native Android and iOS apps?

… Well, what is a progressive web app anyways?

What are Progressive Web Apps (PWAs)?

Back in 2007, Steve Jobs envisioned…


Even though you’re writing different things, writing text and writing code aren’t too different

Person coding at their desk
Person coding at their desk
Photo by Fatos Bytyqi on Unsplash.

The art of writing actually has a lot to teach programmers about good software. Here are six tips you learn as a writer that can also be used by developers.

1. The First Draft Will Probably Suck

When writing, your first draft is usually… not great. As you get better at writing, the quality of your first draft will improve as well. Fewer and fewer adjustments will be needed over time, but the point remains: Your first draft will almost always be the worst version.

Programming is no different! Accept that your first draft is exactly that — a draft. That doesn’t mean you don’t put your…


Image for post
Image for post
Blowing it up and starting new

So you just received the 10th customer complaint over the same issue you thought was fixed three weeks ago.

Your heart has been racing for what feels like months straight, and you can’t even glance at the customer support log without a freight train of anxiety hitting you.

You know your software product is buggy. It seems like your developers are producing more bugs than features, and they insist that the software is just too much of a mess to work with.

You’ve come to the very hard decision that a total rewrite is necessary in order for your product…


Image for post
Image for post
A better UX without too much heavy lifting

When dealing with long forms (think medical forms, profiles, etc), it’s a huge UX improvement to allow fields to auto save as a user fills them out.

Auto saving fields on blur sounds like a lot of extra work over a single submit button, eh?

Not to worry, we are going to build one in 10minutes using Semantic UI React component library.

If you want to skip this article entirely, here is the code sandbox:

The field will save on blur

Our Base Text Field

Okay, before we can think about auto saving, let’s just create our base Text Field component, or in other…


Image for post
Image for post
An app to app comparison

Redux has been the go to state management library for React apps for a long time. It’s reliable, scalable, and resources are everywhere.

However, it is no secret that Redux setups tend to be quite bloated. Writing a new action + action creator + reducer trio can require a hefty amount of code.

Even if you are organizing your actions and reducers properly, a fair amount of file jumping tends to be the norm.

Storeon: Redux’s Sexier Cousin

If you have been struggling with Redux but you haven’t checkout out Storeon, please read this article.

Storeon is the slimmer, faster, and straightforward cousin of…


Why we should avoid writing types by hand whenever possible

Image for post
Image for post
Photo by the author.

Earlier this month, I wrote an article going over some of the trade-offs between TypeScript and Flow. I tried to be fair with my assessment, but as expected, there were a fair number of people coming to TypeScript’s defense.

In particular, one individual wasn’t very happy when I made the following blanket statement in the article:

“The irony of using TypeScript and Flow is that manual typing is not a good thing!”

That got me thinking: While it may be a blanket statement, is it correct? In this article, I’m going to argue “Yes.”

The Main Problem

First of all, your experiences with…


In the era of typed JavaScript, sometimes we need to take a step back and weigh the negatives

Image for post
Image for post

First, let me clarify: Typed JavaScript is fantastic. I have used Flow and will continue to use TypeScript now and in the future. It’s a powerhouse tool that is growing rapidly.

But what’s the cost of this power? What are the drawbacks of these game-changing tools?

Sometimes we need to lay our tools out in the light so we can see both the good and the bad in them.

So please put away the 8-bit torches and pitchforks for a moment and let’s explore the negative aspects of typed JavaScript with an open mind!

Code Easily Becomes Verbose

As mentioned in the comments, I’m…


with my first 2 projects, no past work experience on the platform, and no flashy employment history.

Image for post
Image for post
And What I Learned in the Process

Okay, I’ll admit the header is bait-y and borderline snobby. I mean, how many times have you scrolled listings on Upwork and thought…

“I need to land a gig to get experience, but I need experience to just to land my first gig!”

Feels like a catch 22 doesn’t it?

I know how much that “100 hours on upwork” requirement sinks a new freelancer’s heart.

I felt the same way. I want to use this opportunity to share why I think I found…


Image for post
Image for post
You’ll definitely find something you like

With the availability of hooks like useState, useEffect, useCallback, anduseContext, we can now build a React app made of only functional components.

But there are Da’ Vinci’s and Picassos out there building beautiful React hook libraries for people like you and I. We would be foolish not to leverage them!

But time is precious, so I narrowed down the top 5 react hooks libraries you can start using in your projects today.

React Use Form State


Components that scale with the size of the window in just 27 lines of code

Image for post
Image for post
Let’s make one ourselves

Flexbox is an invaluable tool. Many component libraries such as Material-UI and Semantic UI provide components that use Flexbox under the hood.

There are smaller libraries that attempt to wrap Flexbox into a component, but most are extremely outdated or the API just isn’t… Flexbox enough.

The Dark Ages of Wrapper Divs

Have you ever written a container div and realized it’s just a div with flex properties?

Have you ever made a whole styled component as a one-off with just flex properties, then struggled to name it? Maybe you called it FlexWrapper or FlexColumn.

Here’s an example of a div just being used for layout.

Kris Guzman

Front end developer. On a mission to explore the world & build amazing software. Connect with me on LinkedIn: https://www.linkedin.com/in/kristopher-guzman/

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