How makeshkumar103/ai-portfolio works
Purpose and Runtime
This repository is a single-page personal portfolio implemented with Next.js and TypeScript. It uses the App Router and is intended to run as a Node.js-served Next.js application, locally via npm run dev and deployable to Vercel. No backend, API routes, database, or external service integration is present in the supplied tree.
Application Entry and Shell
The App Router entry is src/app/page.tsx, which composes the portfolio page. src/app/layout.tsx provides the root document/layout boundary, including global metadata and application-wide font or body setup. src/app/globals.css defines global styling and is the shared visual foundation.
Page Composition
The page is organized as independently rendered section components, likely assembled in display order by src/app/page.tsx. The primary content stages are:
• Hero/introduction: src/components/HeroSection.tsx
• About and summary metrics: src/components/AboutSection.tsx, src/components/StatsSection.tsx
• Skills and AI-focused content: src/components/SkillsSection.tsx, src/components/AiSection.tsx
• Career history and education: src/components/ExperienceSection.tsx, src/components/EducationSection.tsx
• Portfolio work and contact content: src/components/ProjectsSection.tsx, src/components/ContactSection.tsx
These components form presentation boundaries rather than independently routed screens.
Navigation and Page Controls
src/components/Navbar.tsx is the primary in-page navigation boundary, expected to direct users to section anchors within the single document. src/components/BackToTop.tsx provides scroll-position-dependent navigation back to the page start. src/components/Footer.tsx closes the shared page structure and likely contains secondary links or attribution.
Control and Data Flow
The main flow is static composition: Next.js renders src/app/layout.tsx, then src/app/page.tsx, which supplies the ordered section components. Content appears to be embedded directly in component source rather than fetched from a CMS or API. User interaction is limited to client-side browser behavior such as anchor navigation and scrolling; any components using browser events must cross the Next.js server/client component boundary via client-component directives.
Styling and Assets
Global CSS enters through src/app/globals.css; section components likely own their markup and class usage. Static images, icons, or downloadable assets belong under public/, which Next.js exposes at site-root URLs. Build behavior and framework settings are controlled by next.config.ts.
Infrastructure Boundaries
The project depends on the Next.js runtime and its React rendering model, with package dependencies defined in package.json. The README identifies Vercel as the intended straightforward deployment target. There are no repository-visible persistence, authentication, messaging, analytics, or third-party API boundaries.
Main entry points: page.tsx Portfolio page · layout.tsx Root layout · HeroSection.tsx Hero · Navbar.tsx Navbar
Components 18
App Router
- Root layout · Provides metadata and shared body setup.
src/app/layout.tsx - Portfolio page · Composes the single-page portfolio in display order.
src/app/page.tsx - Global styles
src/app/globals.css
Portfolio Sections
- Hero
src/components/HeroSection.tsx - About
src/components/AboutSection.tsx - Stats
src/components/StatsSection.tsx - Skills
src/components/SkillsSection.tsx - AI content
src/components/AiSection.tsx - Experience
src/components/ExperienceSection.tsx - Education
src/components/EducationSection.tsx - Projects
src/components/ProjectsSection.tsx - Contact
src/components/ContactSection.tsx
Page Navigation
- Navbar · Navigates to sections within the document.
src/components/Navbar.tsx - Back to top · Browser-driven return-to-page-start control.
src/components/BackToTop.tsx - Footer
src/components/Footer.tsx
Other components
- Next.js runtime · Node.js-served App Router application.
- Static assets · Images and downloads are served at site-root URLs.
- Vercel
Connections 19
- Next.js runtime → Root layout: renders
- Root layout → Portfolio page: hosts
- Root layout → Global styles: imports
- Portfolio page → Navbar: includes
- Portfolio page → Hero: composes
- Portfolio page → About: composes
- Portfolio page → Stats: composes
- Portfolio page → Skills: composes
- Portfolio page → AI content: composes
- Portfolio page → Experience: composes
- Portfolio page → Education: composes
- Portfolio page → Projects: composes
- Portfolio page → Contact: composes
- Portfolio page → Back to top: includes
- Portfolio page → Footer: includes
- Navbar → Hero: anchor navigation
- Back to top → Hero: scrolls to top
- Static assets → Portfolio page: serves media to
- Next.js runtime → Vercel: deploys to