How zackkuptsow/portfolio works
kups.me is a portfolio site built around a scroll-driven terminal, with a separate AWS hosting project and a resume-request service. The main visitor workflow is to scroll through profile sections, then view or request the resume by email. The email path validates and rate-limits requests before starting asynchronous delivery. The graph also preserves documented site features and hosting; links involving unsampled components rely on README statements or are marked unverified.
Main entry points: TerminalEngine.ts Terminal engine · intake/handler.ts Request intake · send_email/handler.ts Email sender · page.tsx Portfolio page
Components 28
Portfolio site
- Portfolio page
projects/resume/app/page.tsx - Profile content
projects/resume/data/profile.ts - Project showcase
projects/resume/app/projects/page.tsx - SMS program
projects/resume/components/SmsProgram/SmsProgramPage.tsx - Legal pages
projects/resume/app/privacy/page.tsx - Resume options
projects/resume/components/GetResume/GetResume.tsx - Email request
projects/resume/components/GetResume/components/EmailOption/requestResume.ts
Terminal experience
- Terminal engine
projects/resume/components/Terminal/engine/TerminalEngine.ts - Terminal layout
projects/resume/components/Terminal/engine/TerminalLayout.ts - Scroll driver
projects/resume/components/Terminal/engine/ScrollDriver.ts - Scroll mapping
projects/resume/components/Terminal/engine/scrollMap.ts - Command builder
projects/resume/components/Terminal/buildCommand.ts - Terminal shell
projects/resume/components/Terminal/shell/Shell.ts - Session output
projects/resume/components/Terminal/shell/SessionOutput.ts - Easter egg art
projects/resume/data/terminalEggDrawings.ts
Resume delivery
- Request intake
projects/send_resume/functions/intake/handler.ts - Request validation
projects/send_resume/functions/intake/validate_request.ts - Rate limiter
projects/send_resume/functions/intake/rate_limit.ts - Delivery workflow
projects/send_resume/lib/send_resume-stack.ts - Email sender
projects/send_resume/functions/send_email/handler.ts - Email content
projects/send_resume/functions/send_email/email_content.ts - DynamoDB
- Step Functions
- Resume object
- Amazon SES
Site hosting
- Hosting stack
projects/infrastructure/lib/infrastructure-stack.ts - AWS hosting
Other components
- Visitor
Connections 27
- Visitor → Portfolio page: opens
README.md - Portfolio page → Terminal engine: presents
README.md - Terminal engine → Command builder: builds commands
projects/resume/components/Terminal/engine/TerminalEngine.ts - Terminal engine → Terminal layout: uses layout
projects/resume/components/Terminal/engine/TerminalEngine.ts - Terminal engine → Scroll driver: uses scrolling
projects/resume/components/Terminal/engine/TerminalEngine.ts - Scroll driver → Scroll mapping: maps scroll
projects/resume/components/Terminal/engine/ScrollDriver.ts - Terminal engine → Terminal shell: runs commands
projects/resume/components/Terminal/engine/TerminalEngine.ts - Terminal engine → Session output: uses output
projects/resume/components/Terminal/engine/TerminalEngine.ts - Terminal engine → Easter egg art: loads easter eggs
projects/resume/components/Terminal/engine/TerminalEngine.ts - Portfolio page → Profile content: presents content
- Visitor → Project showcase: views projects
README.md - Visitor → SMS program: views program
README.md - Visitor → Legal pages: views policies
README.md - Visitor → Resume options: requests resume
README.md - Resume options → Email request: offers email
- Email request → Request intake: posts request
- Request intake → Request validation: validates request
projects/send_resume/functions/intake/handler.ts - Request intake → Rate limiter: claims request slot
projects/send_resume/functions/intake/handler.ts - Rate limiter → DynamoDB: checks quota
projects/send_resume/functions/intake/rate_limit.ts - Request intake → Step Functions: starts execution
projects/send_resume/functions/intake/handler.ts - Delivery workflow → Step Functions: configures workflow
projects/send_resume/lib/send_resume-stack.ts - Delivery workflow → Request intake: integrates API
projects/send_resume/lib/send_resume-stack.ts - Step Functions → Email sender: invokes task
- Email sender → Resume object: fetches PDF
projects/send_resume/functions/send_email/handler.ts - Email sender → Email content: builds message
projects/send_resume/functions/send_email/handler.ts - Email sender → Amazon SES: sends email
projects/send_resume/functions/send_email/handler.ts - Hosting stack → AWS hosting: provisions hosting
README.md