<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1063935717132479&amp;ev=PageView&amp;noscript=1 https://www.facebook.com/tr?id=1063935717132479&amp;ev=PageView&amp;noscript=1 "> Bitovi Blog - UX and UI design, JavaScript and Front-end development

Quick Software Project Estimator

April 4, 2022

Everyone wants to know how much a project will cost before the work begins. Whether you're working as a consultant for a client or pitching a project to a decision maker within your company, it's...

Improve Angular Performance and SEO with Angular Universal

March 17, 2022

Did you know Google factors in the speed a page loads when ranking pages?  Even if you're successfully managing your site's metadata, your SEO will take a hit if your page loads slowly. And beyond...

Use Flexbox to Create a Sticky Header & Sidebar with Flexible Content

March 10, 2022

The redesign of the CanJS website required a way to create a fixed header and a fixed flexible sidebar that adjusts its width based on its content. The main content container also needed to flex to...

How to Think About and Build Design Systems

March 9, 2022

Establishing a Design System improves the quality of a product for the people creating and maintaining it and offers the end-user a better experience. While building a Design System prior to creating...

Learn DevOps Techniques from Bitovi's Online Meetup

March 3, 2022

This meetup has already happened, but you can still watch the videos! Check out four presentations on DevOps-focused topics. 

Interview with a Bitovian: Meet Phil Henning, DevOps Engineer

March 3, 2022

Meet Phil Henning! Phil is a Site Reliability Engineer who works with clients to identify their DevOps and infrastructure needs and helps build robust technical solutions to support their businesses.

How to Solve Common Value Boxing Issues in ngrx-forms

March 1, 2022

The ngrx-forms library is a valuable tool for bringing Redux-style state management to your application’s forms. However, its concept of Value Boxing hides a few pitfalls that can be tricky to...

Handling Errors with RxJS

February 22, 2022

In Angular and other modern web frameworks, the UI is so intertwined that one unexpected response from the server can turn a beautiful website into a blank screen. Fortunately, you can build in error...

How to Break Down Epics into User Stories

February 16, 2022

I’m going to show you a technique to rapidly build effective stories for apps and websites. We use this technique on client projects to quickly build bite-sized stories that maximize customer value,...

Why You Should Move from Selenium to Cypress for Angular

February 15, 2022

Do you use Selenium for your Angular testing? You should consider moving to Cypress. Selenium does one thing (end-to-end tests) that Cypress does, but Cypress also has many tools that allow for...