2025-03-12

KJ.HOME

KJ.HOME

Overview

I recently built my personal website using Next.js 14 and TailwindCSS, creating a modern and responsive platform to showcase my projects and experiences. The site features a clean, dark-mode friendly design with interactive 3D visualizations and a comprehensive blog system.

Tech Stack

  • Framework: Next.js 14
  • Styling: TailwindCSS with shadcn/ui components
  • 3D Graphics: Three.js
  • Content: MDX for blog posts
  • Containerization: Docker with Bun runtime
  • Development: TypeScript

Key Features

Dynamic Blog System

The blog system is built using MDX, allowing for rich content mixing markdown with React components. Posts are stored as MDX files and dynamically rendered using Next.js's server components. The blog listing page displays cards with post previews, making it easy to browse through content.

Interactive Projects

The projects section showcases various interactive demonstrations, including:

Mathematics & Simulations:

  • Penrose Tiling Generator
  • Chladni Pattern Simulator
  • Double Pendulum Physics
  • Spirograph Simulation
  • Mandelbrot Set
  • Game of Life

3D Visualization:

  • Cube
  • Solar System

Music & Audio:

  • Waveform
  • Butterchurn

Each project utilizes Three.js for 3D rendering and includes interactive controls for user engagement.

Responsive Design

The site is fully responsive and features a clean, modern interface. The navigation system adapts seamlessly between desktop and mobile views, and all content is optimized for different screen sizes.

About Section

The about page includes:

  • Professional experience timeline
  • Skills and technologies
  • Education history
  • Project showcase
  • Contact information

Docker Development Environment

The development environment is containerized using Docker, making it easy to maintain consistency across different development machines:

Performance Optimizations

  • Server-side rendering for improved initial load times
  • Image optimization using Next.js Image component
  • Code splitting and lazy loading for larger components
  • Efficient asset management with static file serving

Future Enhancements

  • Add interactive blog post comments
  • Implement a search system for blog posts
  • Add more interactive 3D visualizations
  • Create a project showcase portfolio
  • Integrate a contact form with backend API

Conclusion

Building this personal website has been an exciting journey in combining modern web technologies. The modular architecture allows for easy additions and modifications, while the Docker setup ensures consistent development and deployment environments.

The source code is available on GitHub, and I welcome any feedback or suggestions for improvement.

Back to posts