# Tech Stack

Complete list of technologies and their purposes.



Complete list of technologies and their purposes.

## Core Framework [#core-framework]

### Next.js 16 [#nextjs-16]

* App Router for file-based routing
* React Server Components
* API Routes
* Image Optimization
* Dynamic OG image generation

### React 19 [#react-19]

* Server Components
* Client Components
* Hooks
* Suspense

### TypeScript 5 [#typescript-5]

* Type safety
* Better DX
* Catch errors early

## Styling [#styling]

### Tailwind CSS 4 [#tailwind-css-4]

* Utility-first CSS
* Custom design system
* Dark mode support
* Responsive design

### Framer Motion [#framer-motion]

* Declarative animations
* Gesture support
* Layout animations
* Stagger effects

## Content Management [#content-management]

### MDX [#mdx]

* Markdown with JSX
* Custom components (Table, YouTubeEmbed)
* Code highlighting with rehype-prism

### gray-matter + reading-time [#gray-matter--reading-time]

* Frontmatter parsing
* Reading time estimation
* No Contentlayer dependency

## Data & Storage [#data--storage]

### Vercel Postgres [#vercel-postgres]

* View counts
* Analytics data

## Image Services [#image-services]

### Unsplash [#unsplash]

* High-quality photos for articles
* Local manifest-based resolution
* Attribution tracking

### VSCO [#vsco]

* Personal photography gallery
* Local data export for metadata (no API/scraping needed)
* Images served directly from VSCO's CDN

## Development Tools [#development-tools]

### ESLint + Prettier [#eslint--prettier]

* Code linting and formatting
* Tailwind CSS class sorting
* Pre-commit hooks via Husky + lint-staged

### Vitest + Testing Library [#vitest--testing-library]

* Unit testing
* Component testing
* > 80% code coverage
* jsdom environment

## Deployment [#deployment]

### Vercel [#vercel]

* Zero-config deployment
* Edge network
* Analytics + Speed Insights

## Package Management [#package-management]

### Bun and Flox [#bun-and-flox]

Bun installs JavaScript dependencies from `bun.lock` and runs project scripts.
Flox provides the locked Node 24, Bun, Python, pre-commit, and ShellCheck toolchain
for local development and CI. Node remains the application runtime.
