Personal portfolio site for Salman A, built with SvelteKit, TypeScript, and Tailwind CSS v4.
@tailwindcss/viteThe homepage is a single-page portfolio composed from Svelte components in src/lib/components/:
Project content and portfolio metadata live in src/lib/data.ts.
This repository uses pnpm.
pnpm install
pnpm dev
Open the local dev server shown in the terminal, or run:
pnpm dev -- --open
pnpm dev # start the dev server
pnpm build # create a production build
pnpm preview # preview the production build locally
pnpm check # run svelte-check
pnpm lint # run Prettier check + ESLint
pnpm format # format the codebase with Prettier
Linting and formatting were added using the official Svelte CLI add-ons:
pnpm dlx sv add eslint prettier
That setup generates:
eslint.config.js for flat-config ESLint.prettierrc and .prettierignoresrc/routes/+page.svelte — page composition and document metadatasrc/lib/components/ — portfolio sections and UI piecessrc/lib/data.ts — profile data, projects, skills, education, resume URLsrc/app.html — global document shell and favicon linkssrc/app.css — global styles and Tailwind entry stylesheetstatic/ — static assets like faviconsThe resume PDF is imported from src/lib/assets/SalmanAmbalamCheri_Resume.pdf. The download filename is derived from the generated asset URL so renaming the source file updates the download name automatically.
Favicons are served from static/, currently using:
static/semicolon.pngstatic/semicolon-apple.pngThe project currently uses @sveltejs/adapter-auto. Before deploying, switch to the adapter that matches your hosting platform if needed.