Front End Deep Dive

When designing the front end architecture for Gigalooted, I had a few key criteria in mind:

  • Fast page loads and response times
  • Persistent data without a backend
  • Simple state management
  • Responsive design

With these goals, I chose the following stack:

Next.js

Next.js handles routing and page transitions for a native app feel, specifically the pages don't flicker/reload on navigation.

React

For the component architecture, React was an easy choice (as it's what Next.js is built upon). It's fast, flexible, and widely used. The reusable component structure of React is perfect for building complex UIs.

Tailwind CSS

For styling, Tailwind CSS gives customizable utility classes for rapid development. Tailwind's responsive modifiers enabled building a mobile-friendly site quickly. The minimal custom CSS needed works great with Next.js for styling.

Local Storage

To persist data without a backend, local storage provides a simple browser-based solution. Local storage allows saving user data between sessions. Gigalooted uses it to store tracked items and retrieve them on each visit.

React Context API

Managing state is done through React context. This provides global state accessible by components without prop drilling. Context allows efficient re-renders when state changes.

Together, these technologies allow Gigalooted to have fast performance, persistent data, and a streamlined architecture. Next.js, React, Tailwind, local storage, and context API proved the optimal front end stack for an app like Gigalooted. Each piece solves a specific need, coming together to create a great user experience.

Previous
Overview