portfolio

Aryan Pandya Portfolio

A production-ready portfolio built for Cloudflare Pages and Cloudflare Workers.

Stack

Local setup

  1. Install dependencies:

    npm install
    
  2. Copy .env.example to .env.local and fill in:

    • NEXT_PUBLIC_SITE_URL
    • NEXT_PUBLIC_API_BASE_URL
    • NEXT_PUBLIC_TURNSTILE_SITE_KEY
    • NEXT_PUBLIC_CF_WEB_ANALYTICS_TOKEN
  3. Copy worker/.dev.vars.example to worker/.dev.vars and add:

    • TURNSTILE_SECRET_KEY
  4. Start the frontend:

    npm run dev
    
  5. Start the Worker in a second terminal:

    npm run worker:dev
    

Cloudflare setup

Pages

Worker

D1 schema

Run the initial migration after creating the database:

npm run db:migrate:remote

Resume upload

The Worker expects the file at resume/aryan-pandya-resume.pdf in the private R2 bucket. Place the final PDF at assets/resume/aryan-pandya-resume.pdf before uploading.

Upload the bundled resume file with:

npm run r2:upload:resume

Verification