portfolio

Created: April 4, 2026
nextjsawsairagmarkdown-vaultagents-sdkcmsgithuboauthopenaianthropicgrokedgemonorepoplaywrighte2eredisNext.js 15React 19TailwindCSSFramer MotionOpenNextAWS CDKLambda@EdgeCloudFrontDynamoDBS3OpenAI APIOpenAI Vector StoresAnthropic Messages APIOpenAI Agents SDKGitHub APIpnpmGitHub OAuthGoogle OAuthUpstash RedisAWS Secrets ManagerNextAuth.js
README.md

Portfolio

Live at jcvolpe.me

A full-stack portfolio application built with Next.js 15, React 19, and deployed on AWS using OpenNext and CDK.

Features

  • AI-Powered Chat: Vault-backed conversational interface with provider tool loops and semantic search over Markdown portfolio notes
  • Blog System: Full CMS with DynamoDB storage, scheduled publishing, and admin dashboard
  • GitHub Projects: Dynamic project showcase with documentation viewer from GitHub repos
  • Authentication: NextAuth.js with GitHub/Google OAuth

Tech Stack

CategoryTechnologies
FrontendNext.js 15, React 19, TailwindCSS, Framer Motion
BackendNext.js API Routes, NextAuth.js, Anthropic Messages API, OpenAI Agents SDK, OpenAI API
InfrastructureAWS CDK, Lambda@Edge, CloudFront, DynamoDB, S3
DataUpstash Redis, AWS Secrets Manager
TestingPlaywright (E2E)

Quick Start

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Run tests
pnpm test

Project Structure

/
├── src/                    # Next.js application source
│   ├── app/               # App Router pages and API routes
│   ├── components/        # React components
│   ├── hooks/             # Custom React hooks
│   ├── lib/               # Utilities and helpers
│   ├── server/            # Server-side code
│   └── context/           # React context providers
├── packages/              # Monorepo packages
│   ├── chat-contract/     # Shared portfolio/chat types
│   ├── chat-data/         # Structured portfolio data providers
│   ├── chat-next-ui/      # Chat UI state and SSE parsing
│   ├── github-data/       # GitHub API integration
│   └── test-support/      # Test fixtures and utilities
├── infra/cdk/            # AWS CDK infrastructure
├── vault/                # Markdown knowledge vault for the chatbot
├── generated/            # Structured portfolio snapshots used by the site
└── e2e/                  # Playwright E2E tests

Documentation

Comprehensive documentation is available in the docs/ folder:

Commands

CommandDescription
pnpm devStart development server with Turbopack
pnpm buildBuild for production (OpenNext + CDK)
pnpm lintRun TypeScript and ESLint checks
pnpm testRun Playwright E2E tests
pnpm vault:buildRebuild the Markdown knowledge vault from generated snapshots
pnpm vault:vector-store:buildRebuild the OpenAI vector store used by chat search

License

Private repository.