Created: August 18, 2024
Last commit: April 5, 2026
TypeScript97.0%
JavaScript1.7%
Mermaid1.1%
CSS0.2%
nextjsawsairagcmsgithuboauthopenaiedgemonorepoplaywrighte2emini-searchredisGoogleNext.jsNext.js 15ReactReact 19TailwindCSSTailwind CSSFramer MotionOpenNextOpenNext.jsAWS CDKCDKLambda@EdgeCloudFrontDynamoDBS3OpenAI APIGitHub APIMiniSearchChat EvalspnpmGitHub 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: RAG-based conversational interface with semantic search over portfolio content
  • 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, OpenAI API
InfrastructureAWS CDK, Lambda@Edge, CloudFront, DynamoDB, S3
DataUpstash Redis, AWS Secrets Manager
TestingPlaywright (E2E), Chat Evals

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/     # Zod schemas for chat API
│   ├── chat-data/         # Data layer with MiniSearch
│   ├── chat-orchestrator/ # OpenAI integration
│   ├── chat-next-api/     # API route handlers
│   ├── chat-next-ui/      # Chat UI components
│   ├── chat-preprocess-cli/ # Data preprocessing CLI
│   ├── github-data/       # GitHub API integration
│   └── test-support/      # Test fixtures and utilities
├── infra/cdk/            # AWS CDK infrastructure
├── generated/            # Preprocessed chat embeddings
└── 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 chat:preprocessGenerate chat embeddings
pnpm chat:evalsRun chat quality evaluations

License

Private repository.