Corey O'Donnell

Full-Stack
Web Developer

About

My name is Corey O'Donnell and I am a full-stack web developer. The tech stack I primarily work with is TypeScript, React.js, Node.js, and Python. I love spending my free time learning new things and improving myself. My son and my wife are my everything. I have a weird obsession for houseplants and always looking to increase my collection.

Recent Blog Posts

Authentication for Next.js using Firebase

On my Next.js project, I wanted to add some authentication. I decided to use Firebase for my user management and data store. What I needed: OAuth using Twitter client-side authentication Protected pages server-side authentication Assumptions: You ...

Dark Mode Toggle Using Tailwind CSS

Tailwind recently released an experimental setting that enables dark mode styles. It allows you to add a prefix to specific classes to only enable the styles when dark mode is enabled. It's currently labeled experimental and future versions might hav...

Importance of typography

It may not feel like typography is that important, but it can have a major effect on your reader's experience. Typography is essentially the art and techniques for displaying your written words. Typography can have positive and negative effects on yo...

Defeating Flash of Unstyled Text (FOUT)

I noticed when I loaded my personal site without cache, my text would first display without the correct font. It eventually restyle using the original font after everything loaded. I was originally using a NPM package called typeface-roboto to load ...

Fathom Analytics: Privacy-Focused Website Analytics

The Rise of Privacy Stop stealing your visitors' personal information. Recently, there has been a growing trend of people starting to take their privacy more serious. They realize that they are being tracked across the entire web of internet. Imagine...

Utility-First CSS Is All the Rage

Introduction to styles When you are building a website, you typically want to style your HTML. You could use inline styles on your HTML elements. <article style="background-color: purple; text-align:center; width: 750px;"> <h1 style="color: red; ...

Building a VSCode Extension: Part Four

One of the of most important things to make this extension function is to figure out the best way to have the React.js app communicate with the extension framework. After reading the docs and playing around, it was fairly simple using VS Codes messag...

Managing Node.js with Volta

I recently wrote a blog post about how I use NVM to manage my node version. Someone commented on the post saying I should look into Volta What is Volta Volta is a command line tool used to manage your Node.js. It is built using Rust and is shipped as...

Using Hashnode's API for Blog Previews

I recently decided to host my blog on Hashnode so I could spend more time writing and less managing the code. I still wanted to display previews and links to my most recent posts on my portfolio website. Luckily, Hashnode offers a GraphQL API where I...

Managing my node versions

Working on multiple projects at a time, I typically have to switch what version of node I am running. For work, the front end code is using NodeJS v10 and our API micro-services are using NodeJS v8. My personal projects are using NodeJS v12, and some...

Building a VSCode Extension: Part Three

Now that I have a blank VS Code extension set up and working, I want to start building on it. Adding some Code formatting configs The Yeoman template for VS Code Extension does not have any formatting configs that I typically use for my projects. I m...

Building a VSCode Extension: Part Two

Now that I have an idea of what I am going to build, It's time to set up the repository. VSCode has a straightforward method for bootstrapping a new extension. Making sure all the prerequisites are installed The prerequisites for developing an extens...

© 2020 Corey O'Donnell. All Rights Reserved.