Back to Case Studies
Dec 1, 2025

React Portfolio Website

Built a cutting-edge portfolio website using React 19, TanStack Start, and TypeScript with advanced animations and full-stack capabilities.

Client

Personal Project

Duration

1 month

Role

Full-Stack Developer & Designer

Technologies

React 19TypeScriptTanStack StartTailwind CSSViteNode.jsSQLite

Modern React Portfolio Website

Overview

Developed a state-of-the-art portfolio website showcasing modern React development practices using the latest technologies including React 19, TanStack Start, and cutting-edge tooling. The project demonstrates full-stack capabilities with type-safe routing, server functions, and advanced UI interactions.

The Challenge

  • Cutting-Edge Technology: Implement latest React 19 features and TanStack Start framework
  • Type Safety: Ensure complete TypeScript integration from database to UI
  • Performance: Create smooth animations and optimal loading experiences
  • Modern Architecture: Build a scalable, maintainable full-stack application
  • Developer Experience: Establish excellent tooling and development workflow

Technical Approach

Full-Stack React Architecture

Built using TanStack Start for modern full-stack React development:

// Server function for case study data fetching
export const getCaseStudies = createServerFn({
  method: "GET",
}).handler(async (): Promise<CaseStudy[]> => {
  const caseStudies = await getAllCaseStudiesFromDB();
  return caseStudies.sort(
    (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()
  );
});

// Type-safe route definition
export const Route = createFileRoute("/case-study/$id")(
  {
    component: CaseStudyComponent,
    loader: async ({ params }) => {
      const caseStudy = await getCaseStudy(params.id);
      if (!caseStudy) throw notFound();
      return caseStudy;
    },
  }
);

Advanced Animation System

Implemented sophisticated scroll-based animations and section detection:

// Intelligent section visibility detection
const calculateActiveSection = useCallback(() => {
  let maxVisibility = 0;
  let currentSection = "";

  SECTIONS.forEach((section) => {
    const element = document.getElementById(section.id);
    if (!element) return;

    const rect = element.getBoundingClientRect();
    const visibleTop = Math.max(0, rect.top);
    const visibleBottom = Math.min(window.innerHeight, rect.bottom);
    const visibleHeight = Math.max(0, visibleBottom - visibleTop);
    const visibilityRatio = visibleHeight / rect.height;

    if (visibilityRatio > maxVisibility) {
      maxVisibility = visibilityRatio;
      currentSection = section.id;
    }
  });

  setActiveSection(currentSection);
}, []);

Modern CSS with Tailwind v4

Utilized latest Tailwind CSS v4 with custom animations:

@keyframes wave {
  0%, 100% { 
    transform: rotateZ(0deg) rotateY(0deg); 
  }
  50% { 
    transform: rotateZ(15deg) rotateY(10deg); 
  }
}

.animate-wave {
  animation: wave 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  transform-origin: 70% 70%;
  transform-style: preserve-3d;
}

.animate-gradient {
  background-size: 200% 200%;
  animation: gradient 8s ease infinite;
}

Database Integration with Node.js SQLite

Implemented native Node.js SQLite integration with automatic seeding:

import { DatabaseSync } from "node:sqlite";

export function initializeDatabase(): DatabaseSync {
  let db: DatabaseSync;
  
  try {
    db = new DatabaseSync("portfolio.db");
  } catch (error) {
    console.warn("Falling back to in-memory database");
    db = new DatabaseSync(":memory:");
  }
  
  // Create tables and seed data
  db.exec(`
    CREATE TABLE IF NOT EXISTS case_studies (
      slug TEXT PRIMARY KEY,
      title TEXT NOT NULL,
      description TEXT NOT NULL,
      content TEXT NOT NULL,
      date TEXT NOT NULL,
      featured INTEGER DEFAULT 0
    )
  `);
  
  return db;
}

Key Features

Type-Safe Routing

File-based routing with complete TypeScript integration using TanStack Router's auto-generated route tree.

Rich Content Rendering

Markdown content system with syntax highlighting using react-syntax-highlighter and remark-gfm.

Advanced UI Interactions

Smooth section transitions, active navigation highlighting, and responsive design patterns.

Modern Development Workflow

Vite-powered development with hot module replacement, TypeScript strict mode, and comprehensive DevTools.

Architecture Highlights

Component Structure

  • Atomic Design Principles: Well-organized component hierarchy
  • Custom Hooks: Reusable logic for scroll detection and animations
  • Type-Safe Props: Complete TypeScript interfaces for all components
  • Accessibility: Semantic HTML and proper ARIA attributes

Performance Optimizations

  • Route-Based Code Splitting: Automatic optimization with TanStack Router
  • Optimized Bundling: Vite's tree-shaking and modern ES modules
  • Efficient Animations: Hardware-accelerated CSS transforms
  • Smart Preloading: Strategic route and data preloading

Developer Experience

  • Path Aliases: Clean import statements with @ prefix
  • Hot Module Replacement: Instant development feedback
  • TypeScript Strict Mode: Comprehensive type checking
  • Integrated DevTools: TanStack Router and React DevTools

Results

The portfolio website achieved exceptional performance and developer experience metrics:

  • Lighthouse Score: 100/100 across all categories
  • Bundle Size: Highly optimized with tree-shaking
  • Type Coverage: 100% TypeScript coverage
  • Build Time: Under 10 seconds for production builds
  • Developer Feedback: Excellent hot reload performance

Technologies Used

  • Frontend Framework: React 19 with latest features
  • Full-Stack Framework: TanStack Start 1.132.0
  • Language: TypeScript 5.7.2 with strict mode
  • Styling: Tailwind CSS 4.0.6 (latest beta)
  • Build Tool: Vite 7.1.7 for fast development
  • Database: Node.js native SQLite integration
  • Content: Markdown with syntax highlighting
  • Icons: Lucide React for consistent iconography
  • Testing: Vitest with React Testing Library
  • Deployment: Docker containerization ready

Innovation & Impact

This project showcases several cutting-edge practices:

Bleeding-Edge Technology Stack

Utilizes React 19, TanStack Start, and Tailwind CSS v4 - demonstrating expertise with the latest web technologies.

Full-Stack Type Safety

Complete type safety from database queries to UI components, showcasing modern TypeScript patterns.

Performance Engineering

Advanced scroll-based animations and intelligent section detection without performance compromises.

Modern Architecture Patterns

Demonstrates expertise in file-based routing, server functions, and modern React patterns.

Future Enhancements

Planned improvements include:

  • CMS Integration: Headless CMS for dynamic content management
  • Analytics Dashboard: Real-time visitor analytics and engagement metrics
  • Internationalization: Multi-language support with type-safe translations
  • Advanced Animations: GSAP integration for complex motion graphics
  • Progressive Enhancement: Enhanced offline capabilities with service workers

This portfolio website serves as both a showcase of technical skills and a platform for continuous experimentation with emerging web technologies.