One Solution When the Primary Code Can be Open Source, but Specific Content Needs to be Private

Photo by Sigmund on Unsplash

The Dev Community’s Willingness to Share Almost Anything is One of the Many Reasons I ❤️ Being a Web Developer

From the first day I started learning to code at my bootcamp, I learned how open, how helpful and how freely info is shared within the web development community. It’s awesome and inspiring (and at times a little overwhelming). So. Much. Information!

But truly, I have such respect for the people who are open source maintainers of code, the people who answer questions on Stack Overflow, the people who speak at conferences, make courses, write books and blogs — and (often) do so on their own time, outside of their day jobs.

What other industry can you point to where…

The One Time Errors Should Happen in your Code

Photo by Science in HD on Unsplash

There’s only one situation developers want errors to happen, and that’s in specific tests

My development team at work jokes that bugs “are just features users don’t know they want yet”. 🤪

But as any good development team does, we try to prevent those bugs from happening to our users in the first place. We know that technical systems are not infallible: network requests fail, buttons are clicked multiple times, and users inevitably find that one edge case no one, not the developers, the product managers, the user experience designers and the QA testing team, even with all their powers combined, ever dreamed could happen.

We try to handle those errors gracefully so the…

Bringing Together the Best of the CSS min() and CSS max() Functions

Photo by Heike Mintel on Unsplash

Today is such a wonderful time to write CSS

You know that moment when you’re coding something and think to yourself: “I wish this [text, image, box, insert element of your choice here] would grow or shrink depending on the viewport size… but only up to a certain point”?

If you haven’t experienced this yet, not to worry, you will. But what you won’t have to do is come up with some complex event listeners using the Web API ResizeObserver or CSS calc() functions or even CSS media queries that would swap out complete elements or components depending on the viewport size. 😓

No, nothing requiring so much effort…

Automatically intercept all the requests and responses so you don’t have to remember to do it yourself.

Photo by Lars Kienle on Unsplash

As the Internet gets more mature and sophisticated, gathering the data to do those complex things gets more complicated too.

Think about it: at the advent of the Internet you could send and receive email, search by keywords for information and visit a few, extremely basic websites. Today, you can: order a car and have it pick you up at your exact location within minutes, make purchases with a credit card number stored on your phone, search for extremely specific questions via voice and get thousands of useful, relevant answers. It’s amazing what’s at our fingertips now with very little effort on our part.

And as the Internet has grown more useful to us as users, it’s also grown more…

Because animations and gradients in CSS are delightful.

Photo by Ruvim Noga on Unsplash

I love when websites go the extra mile…

As a web developer myself, I always appreciate when websites go above and beyond being purely functional, and add a touch of fun and magic. A parallax background, a cool animation or page transition, or some other cute Easter egg I wasn’t expecting to find — you know it when you see it. It’s the kind of thing that makes you smile and think: “Cool!”.

And a lot of times, it really isn’t that hard to make these things happen — or, at least it may not be — because chances are, you’re not the first person who’s wanted to…

Why leave the IDE to test new endpoints? Now you don’t have to.

Photo by Carlos Muza on Unsplash

Web Developers fetch a lot of data

If you’ve been doing web development for any length of time, you’re probably aware that a lot of our job revolves around data: reading data, writing data, manipulating data and displaying it in the browser in a way that makes sense.

And the vast majority of that data is supplied from REST API endpoints: representational state transfer application programming interfaces (what a mouth full 🥵, hence REST API). In laymen’s terms: the data we want exists in some other service or database, and our application queries that service to retrieve the data and use it as we see fit.


They’ve come a long way since the days of Promise.resolve() and Promise.reject().

Photo by Crew on Unsplash

Promises, Promises.

JavaScript’s been slowly but steadily improving as a programming language ever since its inception back in 1995, and lately it seems as though those improvements are coming at a quicker and quicker pace. One of the biggest advancements (in my opinion, at least) was with the introduction of promises for asynchronous operations back in 2012.

The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value, and it delivered JavaScript developers everywhere from the conundrum known as “callback hell.”

But that’s in the past, what I want to talk about now is the future…

Don’t let unreliable test data keep your new features from making it to production

Photo by UX Indonesia on Unsplash


If your web development team is anything like mine, you’ll understand the value and importance of tests to support and continue to verify your application’s functionality (even if you’re not a huge fan of writing tests, which sometimes, I’m not).

Unit tests, integration tests, and end-to-end tests in particular are a way to safeguard against bugs popping up in seemingly unrelated pieces of code while you’re building out cool, new features.

End-to-end testing, in case you’re less familiar with it, is a technique for testing the entire software product from beginning to end to ensure the application flow behaves as…

Queries are no longer relegated to just page level components

Photo by Lukas Blazek on Unsplash


I’m in the process of building myself a new personal website: a site where people can learn more about me, find all the articles I’ve written over time about web development and get in touch if they want to say hi. 👋

Since I’m already quite familiar with the React framework, and this will be a static site lacking the need for a server, protected routes or a separate database, I decided to go with Gatsby to build it.

Gatsby’s been sweeping the web development world since mid 2017, offering a powerful, open source alternative to build “blazing fast” static…

Loading screens are needed everywhere — don’t reinvent the wheel every time.

Screenshot of the universal loader animation.


If you’ve worked in web development for any length of time and ever needed to access a database or some other service containing data before showing a page to a user, you’ve encountered the need for a loading screen.

Even with the ever-improving speed and availability we’re afforded by the Internet today, it can still take more than mere milliseconds to fetch data off a server (especially when it’s a large amount of data you need, or that data needs to be transformed by the browser before displaying it onscreen) or process a request from the browser (like placing an…

Paige Niedringhaus

Senior Software Engineer, previously a digital marketer. Frontend dev is my focus, but always up for learning new things. Say hi:

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