Personal landing page. Built with React 19, TypeScript, Vite and Tailwind CSS.
- Sections: Hero, About, Experience, Stack, Contacts
- Light/dark theme toggle
- Locale toggle (RU/EN)
- Semantic HTML, ARIA attributes, visible focus
- Strict CSP in
index.html
- React 19 + TypeScript
- Vite
- Tailwind CSS
- ESLint + typescript-eslint
npm install
npm run devOpen the URL printed in the terminal (default http://localhost:5173).
npm run dev— start the dev servernpm run build— type-check and build for productionnpm run preview— preview the production buildnpm run lint— run ESLint
src/
components/ shared UI: Header, Footer, ThemeToggle, LocaleToggle, ...
sections/ page sections: Hero, About, Experience, Stack, Contacts
content/ static content
hooks/ custom hooks
i18n/ locale context and dictionaries
types/ shared TypeScript types
utils/ helpers
App.tsx
main.tsx
index.css