Project Changelog

This portoflio is currently in the works, there will be many changes in the coming months. All notable changes to this portfolio project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

In Progress

  • Blog post content creation
  • Badges for project sub-categories
  • Backend Integration for CTA contact form
  • Clean up file structure
  • Migrate from old portfolio page
  • Fix images in changelog[Low-Priority]
  • Fix header links
  • Think about potential callback options for web3forms so that it redirects to home page automatically [Low-Priority]
  • Complete dark-mode functionality [Low-Priority]
  • Carousel for the projects and hierarchy above hobbies
  • Create “About Me” Content

[1.3.0] - 2025-12-09

Changed

  • Temporarily removed hobby-section
  • removed changelog banner to instead redirect the “About” to lead to the changelog instead for a cleaner homepage
  • Content updated for Excel-Cert, volunteering project and vendorfront

[1.2.0] - 2025-12-07

Added

  • Added back-end intergration for emails using Web3Forms
  • Neo-brutalism look for header & CTA

Changed

  • Removed avatar from header
  • Fixed H1 text size and the transition between desktop/mobile

[1.1.0] - 2025-12-07

Screenshot of the new blog landing page and avatar in version 1.1.0

Added

  • Blog content collection system with Astro’s getCollection API
  • Avatar
  • Hobby Section
  • Dynamic blog post routing with [...slug].astro pattern
  • BlogLayout.astro component for consistent post formatting
  • Blog post integration in feature cards on homepage
  • Post preview cards showing latest posts by tag/category

Fixed

  • CRITICAL: Blog post 404 errors due to missing content collection configuration
    • Added src/content/config.ts with proper schema definition
    • Created src/pages/blog/[...slug].astro for dynamic routing
    • Fixed frontmatter field mismatch (pubDatepublishDate)
    • Updated schema to use z.coerce.date() for automatic date parsing
  • Blog filename issues:
    • Excel Certification Study Notes.md/blog/excel-certification-study-notes
    • Documentation added for proper filename conventions
  • Homepage blog post queries now properly filter by tags (outreach, compute, technology)

Changed

  • Moved index.astro to proper src/pages/ directory structure
  • Initialized initial color palette to buttons
  • pubDate > publishDate
  • Reorganized file structure to follow Astro conventions
  • Updated date formatting to use Intl.DateTimeFormat for consistency

Technical Details

  • Content collection type: 'content'
  • Schema fields: title, description, publishDate, author, tags, image
  • Blog posts location: src/content/blog/*.md
  • Date coercion enabled for flexible date input formats

[1.0.0] - 2025-12-06

Added

  • Initial portfolio homepage with hero section
  • Hobby circle grid component with 6 interactive circles
  • Feature grid showcasing three main categories:
    • The Technology Lab (compute/tech content)
    • @Changebytharmi (outreach/community work)
  • Modular component architecture:
    • Header.astro - Site navigation
    • Footer.astro - Site footer
    • Hero.astro - Homepage hero section
    • HobbyCircleGrid.astro - Hobby showcase
    • FeaturesGridWithPosts.astro - Feature cards with blog integration
    • FeatureCardWithPost.astro - Individual feature card component
  • Responsive design with mobile, tablet, and desktop breakpoints
  • Centralized feature data structure in src/lib/data/features.ts
  • Tag-based blog post filtering system

Design System

  • Color palette established with neutral grays and accent colors
  • Card-based UI with consistent shadows and hover effects
  • Typography scale: 0.8125rem - 2.5rem
  • Border radius: 12px - 24px for various components
  • Transition timing: cubic-bezier(0.25, 0.8, 0.25, 1)

Infrastructure

  • Astro static site generator setup
  • TypeScript configuration
  • Component-based architecture
  • Asset organization in src/assets/images/