How singhaakashdeep/softwarestacked works
1. Repository shape
- This is a single Next.js 16 frontend application (softwarestackedfrontend) that acts as a static portfolio site.
- The repo does not contain the AI, backend, or infrastructure systems described in the content; those are presented as portfolio case studies.
2. Primary runtime boundary
- The application is built with React + TypeScript + Next.js App Router and is intended to be statically exported for deployment on static hosting/cPanel.
- That means the architecture is mostly client-side presentation plus build-time rendering, not a server-driven app.
3. Route structure / page subsystem
- The src/app directory defines the site’s top-level routes:
- / home page
- /about
- /resume
- /work/[slug] dynamic project detail pages
- src/app/layout.tsx is the global shell for shared site structure, metadata, and layout-wide providers/styles.
4. Content flow
- The core content flow is data-driven rather than fetched from an API.
- src/data/projects.ts is the key content source for featured projects and likely feeds both the homepage project section and the dynamic work pages.
5. Dynamic project details
- src/app/work/[slug]/page.tsx is the main dynamic boundary in the app.
- It likely resolves a project slug against the local projects dataset, which keeps the portfolio fully static while still supporting per-project detail pages.
6. Shared layout and navigation
- src/components/layout/Navbar.tsx provides the persistent navigation layer across pages.
- src/components/PageTransition.tsx adds route transition polish, indicating the app emphasizes presentation and motion rather than complex state management.
7. Homepage composition
- The homepage is assembled from reusable section components:
- Hero.tsx
- FeaturedProjects.tsx
- ArchitectureDiagram.tsx
- This suggests the landing page is a section-based narrative: introduce the author, surface key work, then reinforce systems-thinking visually.
8. UI component layer
- src/components/ui/* contains reusable primitives such as button, card, badge, dialog, and sheet.
- These are a design-system layer used to keep the portfolio consistent and reduce page-specific markup duplication.
9. Styling and presentation
- Styling is handled with Tailwind CSS plus global stylesheet entry points in src/app/globals.css and src/styles/globals.css.
- tailwind.config.ts, postcss.config.js, and components.json indicate a componentized Tailwind setup, likely influenced by shadcn-style conventions.
10. Assets and downloadable content
- public/Aakash_S_resume.pdf is a static asset exposed directly by the site.
- The /resume route likely wraps this asset in a presentation page, separating the downloadable document from the browser-rendered resume view.
11. External systems shown in the portfolio
- The site describes external technologies and deployments such as FastAPI, PostgreSQL/pgvector, MCP, LangChain, Docker, AWS, and Kubernetes.
- These are reference architectures in the content, not runtime dependencies of the frontend itself.
12. Operational posture
- The repo is optimized for fast static delivery and portability: no database, no app server, and no runtime API dependency inside this codebase.
- The deployment model is therefore “build once, host as static files,” which fits the cPanel/public_html workflow described in the README.
Main entry points: layout.tsx App shell · page.tsx Home page · ui UI primitives · softwarestackedfrontend Portfolio site
Components 16
Runtime
Next.js App Router frontend and route boundaries
- Portfolio site · Single-page portfolio application built for static export and hosted as files
softwarestackedfrontend - App shell · Global shell, metadata, and site-wide providers/styles
softwarestackedfrontend/src/app/layout.tsx - Home page · Landing page assembled from hero, projects, and architecture sections
softwarestackedfrontend/src/app/page.tsx - About page · Static about route for background and profile context
softwarestackedfrontend/src/app/about/page.tsx - Resume page · Browser-rendered resume route wrapping the downloadable PDF asset
softwarestackedfrontend/src/app/resume/page.tsx - Work detail · Dynamic project detail boundary resolved from local slugs
softwarestackedfrontend/src/app/work/[slug]/page.tsx
Components
Reusable layout, section, and UI components
- Navbar · Persistent top-level navigation shared across the site
softwarestackedfrontend/src/components/layout/Navbar.tsx - Page transition · Route transition polish for presentation-focused navigation
softwarestackedfrontend/src/components/PageTransition.tsx - Hero · Introductory homepage section establishing the portfolio narrative
softwarestackedfrontend/src/components/sections/Hero.tsx - Featured work · Homepage section that surfaces selected projects from local data
softwarestackedfrontend/src/components/sections/FeaturedProjects.tsx - Architecture diagram · Homepage visual section reinforcing systems-thinking and project framing
softwarestackedfrontend/src/components/ArchitectureDiagram.tsx - UI primitives · Reusable shadcn-style primitives such as button, card, badge, dialog, and sheet
softwarestackedfrontend/src/components/ui
Content
Static data and downloadable portfolio assets
- Projects data · Local source of featured project content and work-page lookups
softwarestackedfrontend/src/data/projects.ts - Resume PDF · Downloadable resume document served directly from public files
softwarestackedfrontend/public/Aakash_S_resume.pdf
Styling
Global styles and build-time presentation setup
- Global styles · Global stylesheet entry points and site-wide visual styling
softwarestackedfrontend/src/app/globals.css - Build config · Static-export-oriented app and styling configuration surface
softwarestackedfrontend/next.config.ts
Connections 17
- Portfolio site → App shell: uses shell · The application is wrapped by the global layout
- App shell → Navbar: includes · Shared navigation is rendered from the app shell
- App shell → Page transition: wraps · Route changes are polished with transition behavior
- App shell → Global styles: applies · Global styling is loaded at the layout level
- App shell → Build config: builds with · Layout and export behavior follow the site configuration
- Home page → Hero: composes · Homepage begins with the hero section
- Home page → Featured work: composes · Homepage highlights selected work through project cards
- Home page → Architecture diagram: composes · Homepage includes the architecture diagram section
- Featured work → Projects data: reads · Featured projects are sourced from local content data
- Work detail → Projects data: resolves · Dynamic work pages look up the project entry by slug
- Resume page → Resume PDF: links to · Resume page exposes the static PDF download
- About page → UI primitives: renders with · About page uses shared UI primitives for consistent presentation
- Home page → UI primitives: renders with · Homepage sections build on shared design-system components
- Featured work → UI primitives: renders with · Project cards and related elements are composed from primitives
- Navbar → UI primitives: uses · Navigation controls use reusable UI primitives
- Portfolio site → Build config: configured by · The repo is tuned for static export and frontend-only deployment
- Portfolio site → Projects data: content driven · The site’s narrative and work pages are powered by local data