← Back to Projects
Enhanced Frontmatter System - Comprehensive Demo
explorerAdvancedView Demo →

Enhanced Frontmatter System Demo

A comprehensive demonstration project showcasing all enhanced frontmatter fields including performance metrics, project statistics, content experience modes, and rich metadata capabilities.

Scroll to explore
Built with:Next.js 15React 19TypeScriptMDXTailwind CSSshadcn/ui
Story mode and interaction level badges

Content Experience Fields

Choose how visitors experience your project with story mode options (explorer, guided, showcase), interaction levels (high, medium, low), and direct demo links. Perfect for creating engaging, discovery-driven navigation tailored to different audience needs.

3
Story Modes
3
Interaction Levels
Extended metadata display with dates and difficulty

Extended Metadata System

Document project complexity with difficulty levels (Beginner/Intermediate/Advanced), priority rankings, timeline tracking with start and completion dates, and detailed subcategory classification. All fields are color-coded and formatted automatically in the UI.

6+
Metadata Fields
Yes
Auto-formatted
Image gallery with lightbox preview

Visual Asset Management

Showcase projects with hero images, multi-image galleries with lightbox viewing, and optimized WebP assets. Gallery supports click-to-expand full-screen experience with smooth transitions, perfect for UI/UX showcases and visual portfolios.

4
Gallery Images
WebP
Format
0%
Performance
0%
Accessibility
0%
Best Practices
0%
SEO
42s
Build Time
215KB
Bundle Size
92%
Test Coverage
0
Lines of Code
0
Components
0
Pages
0
Test Files

Gallery

0%

Swipe to scroll • Tap to view fullscreen

Project Resources

Topics

nextjsreactmdxfrontmattercontent-systemportfoliodemo

Enhanced Frontmatter System - Complete Demo

Overview

This project demonstrates the complete enhanced frontmatter system implemented for Make89's project portfolio. Every new field type and capability is showcased here with real working examples.

What's New in Enhanced Frontmatter

1. Content Experience Fields

Story Mode: Choose how visitors experience your project

  • explorer - Interactive, discovery-driven navigation
  • guided - Step-by-step walkthrough experience
  • showcase - Visual presentation focus

Interaction Level: Signal engagement expectations

  • high - Lots of interactive elements, demos, try-it-yourself features
  • medium - Some interactive examples, primarily informational
  • low - Static presentation, documentation-focused

Demo URL: Direct link to live interactive demo

  • Prominent call-to-action in project header
  • Separate from the main project link
  • Perfect for sandbox/playground experiences

2. Extended Metadata

Subcategory: More specific classification within main category

  • Example: "Content Management" under "Web Development"
  • Enables better filtering and organization
  • Supports portfolio depth demonstration

Difficulty Level: Technical complexity indicator

  • Beginner - Entry-level concepts
  • Intermediate - Standard professional work
  • Advanced - Complex systems, novel solutions
  • Color-coded in UI (green/orange/red)

Priority: Project importance ranking

  • 1 - High priority, flagship projects
  • 2 - Medium priority, supporting work
  • 3 - Low priority, experiments/side projects

Date Tracking: Timeline documentation

  • startDate - When work began
  • completionDate - When delivered/launched
  • Formatted automatically in UI

3. Visual Assets

Hero Image: Primary project showcase image

  • Separate from standard image field
  • Used in gallery displays
  • Higher resolution support

Gallery: Multiple project screenshots

  • Array of image paths
  • Lightbox viewing experience
  • Click to expand full-screen
  • Perfect for UI/UX showcases

4. Performance Metrics

Lighthouse Scores: Google performance audit results

  • Performance (0-100)
  • Accessibility (0-100)
  • Best Practices (0-100)
  • SEO (0-100)
  • Color-coded display (green ≥90, orange ≥50, red <50)

Build Statistics: Development metrics

  • Build time (e.g., "42s")
  • Bundle size (e.g., "215KB")
  • Test coverage (e.g., "92%")

5. Project Metrics

Codebase Statistics: Project scale indicators

  • Lines of Code
  • Number of Components
  • Number of Pages
  • Test Files count
  • Dependencies count
  • Dev Dependencies count

6. SEO Enhancement

Target Keywords: SEO strategy documentation

  • Array of focus keywords
  • Helps with content optimization
  • Documents SEO intent

Meta Description: Custom SEO description

  • Optimized for search results
  • Separate from regular description
  • Character limit aware

Technical SEO: Implementation flags

  • Structured data enabled
  • Sitemap generation
  • robots.txt configuration

Implementation Benefits

For Portfolio Owners

  1. Credibility Through Metrics: Demonstrate project scale with real numbers
  2. Performance Showcase: Display technical excellence with Lighthouse scores
  3. Project Maturity: Show completeness with test coverage and quality metrics
  4. Timeline Transparency: Document project lifecycle with dates
  5. Rich Media: Engage visitors with galleries and multiple visuals

For Visitors

  1. Quick Assessment: Understand project scope at a glance
  2. Difficulty Signaling: Know what level of expertise is demonstrated
  3. Interactive Discovery: Choose exploration style (explorer/guided/showcase)
  4. Visual Exploration: View multiple project screenshots in gallery
  5. Performance Trust: See validated quality through metrics

For Content Creators

  1. Comprehensive Documentation: Capture all project aspects in frontmatter
  2. Type Safety: All fields properly typed in TypeScript
  3. Conditional Rendering: Components only show when data exists
  4. Backward Compatible: Existing projects work without updates
  5. Future Proof: Extensible system for additional fields

Technical Implementation

Type Definitions

All enhanced fields are properly typed in types/content.ts:

export interface ProjectContent extends BaseContent {
  // Content Experience
  storyMode?: "explorer" | "guided" | "showcase";
  interactionLevel?: "high" | "medium" | "low";
  demoUrl?: string;

  // Extended Metadata
  subcategory?: string;
  difficulty?: string;
  priority?: number;
  startDate?: string;
  completionDate?: string;
  heroImage?: string;
  gallery?: string[];

  // Performance Metrics
  performance?: {
    lighthouse?: {
      performance?: number;
      accessibility?: number;
      bestPractices?: number;
      seo?: number;
    };
    buildTime?: string;
    bundleSize?: string;
    testCoverage?: string;
  };

  // Project Metrics
  metrics?: {
    linesOfCode?: number;
    components?: number;
    pages?: number;
    testFiles?: number;
    dependencies?: number;
    devDependencies?: number;
  };

  // SEO Enhancement
  seo?: {
    targetKeywords?: string[];
    metaDescription?: string;
    structuredData?: boolean;
    sitemap?: boolean;
    robotsTxt?: boolean;
  };
}

UI Components

Five modular components render the enhanced fields:

  1. InteractionBadge - Story mode, interaction level, demo link
  2. ProjectMetadata - Subcategory, difficulty, priority, dates
  3. ProjectMetrics - Codebase statistics display
  4. PerformanceMetrics - Lighthouse scores and build stats
  5. ProjectGallery - Image gallery with lightbox

All components:

  • Only render when data exists
  • Theme-aware with category colors
  • Mobile responsive
  • TypeScript typed

Integration Pattern

import { InteractionBadge } from "@/components/interaction-badge";
import { ProjectMetadata } from "@/components/project-metadata";
import { ProjectMetrics } from "@/components/project-metrics";
import { PerformanceMetrics } from "@/components/performance-metrics";
import { ProjectGallery } from "@/components/project-gallery";

// In project page component
{
  project && (
    <>
      <InteractionBadge {...project.data} />
      <ProjectMetadata {...project.data} />
      <ProjectMetrics metrics={project.data.metrics} />
      <PerformanceMetrics performance={project.data.performance} />
      <ProjectGallery gallery={project.data.gallery} />
    </>
  );
}

Usage Guide

Quick Start

  1. Add enhanced fields to your project's frontmatter
  2. Fields are optional - use what's relevant
  3. Components auto-hide when no data present
  4. All fields documented in FRONTMATTER_SPEC.md

Best Practices

Performance Metrics: Run actual Lighthouse audits

  • Use Chrome DevTools Lighthouse
  • Test in incognito mode
  • Document real numbers

Project Metrics: Use accurate counts

  • Run code analysis tools
  • Document actual bundle sizes
  • Real test coverage from coverage reports

Gallery Images: Optimize for web

  • Use WebP format
  • Responsive sizes
  • Alt text for accessibility

Dates: Use ISO format (YYYY-MM-DD)

  • Consistent date formatting
  • Easy to parse and display
  • Sortable

Migration Path

For Existing Projects

No changes required! Enhanced fields are:

  • ✅ Completely optional
  • ✅ Backward compatible
  • ✅ Non-breaking additions

For New Projects

Copy this template and customize:

  • Fill in relevant enhanced fields
  • Omit fields you don't need
  • Components handle missing data gracefully

Future Enhancements

Potential additions to the system:

  • Video Gallery: Support for video embeds
  • Live Metrics: Real-time performance tracking
  • Collaboration Data: Team/contributor information
  • Release History: Version tracking timeline
  • Tech Stack Deep Dive: Detailed dependency documentation
  • API Documentation: Embedded API references

Conclusion

This enhanced frontmatter system transforms simple project listings into comprehensive technical showcases. By capturing performance metrics, project statistics, and rich metadata, portfolios can demonstrate technical authority through transparent, verifiable data.

The system balances power with simplicity: use basic fields for simple projects, add enhanced fields for flagship work. Everything is optional, properly typed, and backward compatible.


Project Status: System complete and production-ready ✅ Documentation: Comprehensive specs in FRONTMATTER_SPEC.md Testing: All components tested and verified Build: Compiles successfully, 22/22 pages generated

Like this project? Share it!

Share: