Projects

Personal Website

Overview

This project is a robust, dynamic web application specifically designed to demonstrate skills and projects proficiently. It is developed using Gatsby, a contemporary static site generator synergistically integrated with Contentful CMS, ensuring efficient and seamless content management workflows.

Key Technologies

  • Gatsby: A static site generator that builds fast and modern web applications, providing a smooth user experience.

  • Contentful CMS: A headless CMS known for its efficient content management capabilities, ensuring seamless handling of the project's content needs.

  • GraphQL: A powerful tool for querying and managing data, providing the project with high flexibility and adaptability.

  • TypeScript: Type-safe preprocessor for writing locally scoped classes, variables, and themes, generating static CSS files at build time.

Features

Responsive Design

  • Predefined Breakpoints: Designed for small, medium, and large screens.

Modular CSS-in-JS Styling System

  • Style Variants: Enables creation of variations (e.g., button types, flex behaviors) using style variants.

  • Theme Integration: Centralized theme file (theme.css) for consistent spacing, colors, and typography.

  • Scalability: Easy addition of new variants and utilities without disrupting existing styles.

  • Vanilla Extract: Utilized for writing type-safe CSS with excellent developer ergonomics (

    Vanilla Extract).

Abstract Interfaces: GraphQL Schema Customization

  • Definition of Interfaces: Interfaces define a standard contract for GraphQL types, ensuring consistency, reusability, and flexibility.

    • Example: The HomepageBlock interface specifies the required fields, such as ID and blocktype.

  • Implementation by Types: Concrete types (e.g., ContentfulHomepageHero, ContentfulHomepageFeature) implement these interfaces to align with the defined structure.

  • Abstract Querying: Enables querying at the abstract level, simplifying the process.

    • Interfaces such as HomepageBlock, HomepageHero, and HomepageImage streamline schema organization for Contentful data representation.

Dynamic Pages with Advanced SEO Metadata:

Dynamic pages have advanced SEO features, ensuring maximum visibility and reach.

Canonical URLs: You can prevent duplicate content issues by specifying primary URLs.

  • Dynamically constructed using the page slug and site’s base URL from site metadata.

  • Open Graph and Twitter Metadata:

    • Open Graph tags enhance social media link previews.

    • Twitter card tags optimize previews for Twitter.

    • Implemented in the SEOHead component with fallbacks for missing fields.

  • Default Metadata Fallbacks:

    • Sourced from gatsby-config.js for global metadata defaults.

Highlights

  • Dynamic Web Application: Built with Gatsby and Contentful CMS.

  • Responsive and Scalable Design: Breakpoints, style variants, and scalable CSS-in-JS.

  • GraphQL Schema Customization: Abstract interfaces for consistent and flexible CMS data querying.

  • Advanced SEO Features: Canonical URLs, Open Graph, Twitter Metadata, and default fallbacks.

  • GitHub Repository

  • Live Site


Photography Website

  • An online photography booking store with dynamic product management and SCSS design system for branding.

  • Global Tokens:

    • The foundational "layer" of tokens.

    • High-level variables that propagate changes wherever they are used.

  • Contextual Tokens (Alias Tokens):

    • Add context to how tokens are used, such as "primary" or "secondary" colors.

    • Variable names reflect usage rather than the color itself.

  • Implementing a seven-in-one folder pattern to organize SCSS for a cohesive design system.

  • Component-Specific Tokens:

    • The most detailed "layer" of tokens.

    • Define styles specific to individual components or elements.

    • Provide precise context for usage, such as button background color or card border color.

    • Allow for granular control and customization within the design system.

  • Feature: Dynamic CSS Variable Generation

    • Purpose: Automates the creation of CSS variables for a structured color palette.

    • How it Works: Uses Sass loops to iterate through a map of colors and shades, dynamically generating variable names and assigning corresponding color values.

  • Netlify:

    • Managing repo

    • Handling forms.

    • Optimizing SEO

    • Conducting A/B tests to refine user engagement.

  • GitHub Repository

  • Live Site


Multi-Mode Theme

  • My Gatsby template is configured with Theme UI showcasing multi-mode color themes, MDX integration, and scalable component architecture.

  • Multi-Mode Color Themes:

    Easily toggle between light, dark, and other custom color modes for a fully responsive and accessible interface.

  • Theme-Driven Components:

    All UI elements—typography, buttons, forms, tables, etc.—draw their styles directly from a centralized theme configuration.

  • MDX Integration & Syntax Highlighting:

    Combine Markdown and JSX to create rich, interactive pages with built-in code syntax highlighting from Theme UI presets.

  • Scalable & Modular Structure:

    Organized files for colors, typography, spacing, variants, and more make extending, maintaining, and evolving your design system straightforward.

  • GitHub Repository

  • Live Site


Workshops & Courses

  1. Learn modern HTML5, CSS3, and web design by building a stunning website for your portfolio! Includes flexbox and CSS Grid - Project

  2. Master Node by building a real-world RESTful API and web app (with authentication, Node.js security, payments & more) - Repo

  3. The most advanced and modern CSS course on the internet: master flexbox, CSS Grid, responsive design, and so much more.

  4. Learn how to apply User Experience (UX) principles to your website designs, code a variety of sites, and increase sales! - Link

  5. and more