These are my preferences for a new developer who wants to build a modern web app. When items are numbered, that indicates order of preference for that category.
- Bun - Fast all-in-one JavaScript runtime & package manager
- TypeScript - Type-safe JavaScript with better tooling
- React - Component-based UI library for building interactive interfaces
- Next.js - Full-stack React framework with routing, SSR, and API routes
- Tailwind CSS - Utility-first CSS framework for rapid UI development
- shadcn/ui - Copy-paste React components built with Radix UI and Tailwind
- Drizzle ORM - TypeScript ORM with SQL-like syntax and great DX
- Neon - Serverless Postgres with branching and autoscaling
- Supabase - Open source Firebase alternative with Postgres
- Zustand - Simple, fast state management without boilerplate
- TanStack Query - Powerful data synchronization for server state
- React Hook Form - Performant forms with minimal re-renders
- Zod - TypeScript-first schema validation with static type inference
- Clerk - Complete user management and authentication solution
- Sentry - Error tracking and performance monitoring for production
- GlitchTip - self-hosted Sentry.io, but uses Sentry SDKs for easy implementation
- ESLint - Find and fix problems in your JavaScript/TypeScript code
- eslint-config-next - Next.js specific ESLint rules
- @typescript-eslint - TypeScript support for ESLint
- Prettier - Opinionated code formatter for consistent style
- prettier-plugin-tailwindcss - Auto-sort Tailwind classes
- Husky - Git hooks for automated checks before commits
- lint-staged - Run linters on staged files only
- Playwright - End-to-end testing across all browsers
- Jest - Unit testing framework with great developer experience
- React Testing Library - Test React components the way users use them
- Storybook - Build and test UI components in isolation
- Visual Studio Code - Feature-rich code editor
- Claude Code - AI coding assistant for VS Code
- react-dropzone - Drag and drop file uploads
- react-resizable-panels - Resizable panel layouts
- Vaul - Drawer component with smooth animations
- Sonner - Beautiful toast notifications
- react-day-picker - Flexible date picker component
- TanStack Table - Headless table/datagrid with full control
- Recharts - Composable charting library for React
- Lucide React - Beautiful & consistent open-source icons
- Tabler Icons - 5000+ free SVG icons
- Radix Icons - Crisp icons designed for UI
- next-themes - Perfect dark mode for Next.js
- nextjs-toploader - Page loading progress bar
- nuqs - Type-safe URL state management
- react-responsive - Media queries in React
- date-fns - Modern JavaScript date utility library
- uuid - Generate RFC-compliant UUIDs
- match-sorter - Simple best-match array sorting
- p-limit - Run async functions with limited concurrency
- Vercel - Best platform for Next.js apps with great DX
- Coolify - Self-hostable PaaS (Heroku/Vercel alternative)
- Railway - Simple cloud deployment platform
- 21st Dev - community of awesome shadcn compontents and now AI generated stuff
- v0 - Use BMAD UX Persona to generate specific, project based AI prompts that output plug/play awesome UI
- Puppeteer - lets an llm open and control web browsers for testing and debugging
- Install for claude with
claude mcp add puppeteer -s user -- npx -y u/modelcontextprotocol/server-puppeteer
- Install for claude with
- Datetime
- LLMs suck at knowing what today is, so use this
- Install for claude with
claude mcp add datetime -s user -- uvx mcp-datetime
- My Dotfiles - collection of my dotfiles to make your terminal experience amazing
- NeoVim - my recommended version of Vim
- Warp - my new favorite terminal app
- Dracula - my fav color scheme for my editors, terminals, etc