This is the personal portfolio website for Anaesh K N, a Software Engineer specializing in .NET technologies.
Inside of this Astro project, you'll see the following folders and files:
/
βββ .github/
β βββ workflows/
β βββ deploy.yml
βββ public/
β βββ favicon.svg
β βββ robots.txt
β βββ CNAME
β βββ images/
β βββ namebg.svg
β βββ profile.jpg
β βββ profile.png
βββ src/
β βββ components/
β β βββ About.astro
β β βββ Contact.astro
β β βββ Education.astro
β β βββ Experience.astro
β β βββ Footer.astro
β β βββ Header.astro
β β βββ Home.astro
β β βββ NavbarIcon.astro
β β βββ Skills.astro
β βββ content/
β β βββ experience/
β β β βββ 1_Logitech.md
β β β βββ 2_Disprz.md
β β β βββ 3_BMeS.md
β β β βββ 4_Solid.md
β β βββ education/
β β β βββ college.md
β β β βββ school.md
β β βββ skills/
β β β βββ technical.md
β β βββ config.ts
β βββ data/
β β βββ site.json
β βββ layouts/
β β βββ Layout.astro
β βββ pages/
β β βββ 404.astro
β β βββ index.astro
β βββ env.d.ts
βββ styles/
β βββ global.css
βββ scripts/
β βββ main.js
βββ astro.config.mjs
βββ package.json
All commands are run from the root of the project, from a terminal:
Command | Action |
---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add , astro check |
npm run astro -- --help |
Get help using the Astro CLI |
This site uses Astro's content collections feature for managing dynamic content:
- Experience: Work experience entries in
src/content/experience/
- Education: Education history in
src/content/education/
- Skills: Technical skills in
src/content/skills/
- Site Data: Static site metadata in
src/data/site.json
To add new content, simply create a new markdown file in the appropriate content collection directory with the proper frontmatter.
The site includes a light/dark mode toggle feature:
- Desktop: Theme toggle button appears next to the mobile menu icon in the navbar
- Mobile: Theme toggle appears as a menu item in the collapsed mobile menu
- Theme preference is saved in localStorage and respects OS-level dark mode preference
The skills section uses Devicon for technology icons. The mapping between skills and icons is defined in the Skills component.
The name "Anaesh K N" has a custom SVG background (namebg.svg
) that creates an oval-shaped decorative element behind the text. This is implemented through CSS in the global stylesheet.
The site is fully responsive and works on all device sizes:
- Desktop: Full-width layout with alternating timeline items
- Tablet: Adjusted spacing and sizing
- Mobile: Single-column layout with proper touch targets
Astro's content collections are used for structured content management:
- Experience entries with detailed project information
- Education history
- Technical skills organized by category
- All content is type-safe with defined schemas
The site includes subtle animations for enhanced user experience:
- Fade-in effects as elements scroll into view
- Smooth hover transitions on interactive elements
- Smooth scrolling navigation
- Comprehensive meta tags for description, keywords, and author
- Open Graph tags for social media sharing
- Twitter Card tags for Twitter sharing
- Canonical URLs to prevent duplicate content issues
- JSON-LD structured data for Person schema
- Semantic HTML with itemprop attributes
- Proper use of schema.org vocabularies
- Automatic sitemap generation with @astrojs/sitemap
- robots.txt file for search engine crawlers
- Image optimization with proper alt tags and dimensions
- Lazy loading for images where appropriate
- Minified CSS and JavaScript
- Semantic HTML structure
- Proper heading hierarchy
- ARIA attributes where needed
- Color contrast compliant with WCAG standards
Work experience is organized with numbered files for proper chronological ordering:
1_Logitech.md
- Current position at Logitech2_Disprz.md
- Detailed experience at Disprz with project information3_BMeS.md
- Experience at BM e-Solutions4_Solid.md
- Early career at Solid Solutions International
Each experience entry includes:
- Company and role information
- Date ranges
- Detailed descriptions
- Technology stacks (where applicable)
- Project details (for complex roles like Disprz)
Education history includes:
- Institution names
- Degree information
- Date ranges
- Academic achievements
Technical skills are organized by category:
- Programming Languages
- Technologies & Frameworks
- Each skill has an associated Devicon
- Create a new markdown file in
src/content/experience/
with numbered prefix for ordering - Add frontmatter with required fields (date, role, company, description)
- Optionally add techStack array
- Add body content for detailed project information using HTML structure
- Create a new markdown file in
src/content/education/
- Add frontmatter with required fields (date, degree, institution, score)
- Modify
src/content/skills/technical.md
- Add new categories or skills to existing categories
- Update icon mapping in
src/components/Skills.astro
if needed
Static site metadata can be modified in src/data/site.json
:
- Home section content
- About section content
- Contact information
- Primary: Blue (#3b82f6)
- Accent: Magenta (#ec4899)
- Dark Background: Very dark (#020617)
- Card Background: Slate (#1e293b)
- Text: Light slate colors for readability
- Font: Inter with system font fallbacks
- Headings: Bold and prominent
- Body: Comfortable line height for readability
- Consistent 8px grid system
- Appropriate whitespace for visual hierarchy
- Responsive padding and margins
This site is configured for automatic deployment to GitHub Pages using GitHub Actions:
The repository includes a GitHub Actions workflow (.github/workflows/deploy.yml
) that:
- Automatically builds and deploys the site on every push to the
main
branch - Can be triggered manually from the Actions tab
- Builds the site using Node.js 20
- Deploys to GitHub Pages
- Go to your repository Settings
- Navigate to "Pages" in the left sidebar
- Under "Source", select "GitHub Actions"
- The site will automatically deploy on the next push to main
The site includes comprehensive SEO features:
- Automatic sitemap generation
- robots.txt for crawler management
- Structured data (JSON-LD) for rich snippets
- Semantic HTML with proper heading hierarchy
- Meta tags for social media sharing
To use a custom domain:
- Add a
CNAME
file to thepublic/
directory with your domain - Configure your domain's DNS settings to point to GitHub Pages
If you prefer to deploy manually:
npm run build
# Then push the contents of the dist/ folder to your gh-pages branch