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
| Category | Technologies |
|---|---|
| Frontend | Next.js 15, React 19, TailwindCSS, Framer Motion |
| Backend | Next.js API Routes, NextAuth.js, Anthropic Messages API, OpenAI Agents SDK, OpenAI API |
| Infrastructure | AWS CDK, Lambda@Edge, CloudFront, DynamoDB, S3 |
| Data | Upstash Redis, AWS Secrets Manager |
| Testing | Playwright (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:
- Getting Started - Installation, development, and commands
- Architecture - System design and infrastructure
- Features - Chat, blog, projects, and authentication
- Configuration - Environment variables and secrets
- Deployment - CI/CD and production deployment
- Testing - E2E testing
Commands
| Command | Description |
|---|---|
pnpm dev | Start development server with Turbopack |
pnpm build | Build for production (OpenNext + CDK) |
pnpm lint | Run TypeScript and ESLint checks |
pnpm test | Run Playwright E2E tests |
pnpm vault:build | Rebuild the Markdown knowledge vault from generated snapshots |
pnpm vault:vector-store:build | Rebuild the OpenAI vector store used by chat search |
License
Private repository.
