Pratham Shah

Stats

What it takes to run this site: the monthly bill, line by line, and a few live numbers. Cloud cost is part of my work, so it seemed fair to show my own.

Running cost

$0.39/ month

Everything included; the domain was paid for two years up front and is shown here per month. Figures checked 29 September 2026. Vercel Hobby has no billing API, so they are updated by hand.

  • Hosting and CDN

    Vercel · Hobby

    Builds from GitHub on every push, serves the static pages and runs the API routes.

    Source: Vercel project settings

    $0/mo

  • Visitor counter storage

    Upstash Redis · Free tier, via the Vercel Marketplace

    One key, incremented once per browser. Reads on this page use a read-only token.

    Source: Vercel Marketplace integration

    $0/mo

  • Analytics

    Vercel Web Analytics · Included with Hobby

    Page views and a few named click events. No cookies and no personal data.

    Source: Vercel project settings

    $0/mo

  • Portfolio assistant

    Runs in a Vercel function · Search-only mode

    Answers from this site's own content with keyword retrieval. No LLM API key is configured, so no model is called and nothing is billed per question.

    Source: Vercel environment variables (no ANTHROPIC_API_KEY set)

    $0/mo

  • Source code and activity

    GitHub · Free

    Hosts the repository. The contribution graph and repo list are read from public GitHub pages and cached for 12 hours.

    Source: github.com/pshah-lab

    $0/mo

  • Fonts

    IBM Plex, self-hosted · SIL Open Font License

    Served from this site, so there are no requests to a font CDN.

    Source: app/fonts/OFL-LICENSE.txt

    $0/mo

  • Domain

    Namecheap · pshah.fun, DNS on Vercel

    The address. The only part of the site that isn't free.

    Source: Namecheap order covering 18 Dec 2024 to 19 Dec 2026. Renewal due then; its price may differ

    $0.39/mo$9.34 for 2 years

Live numbers

Read when this page was generated, at most once an hour. Last refresh 15 October 2026.

Visitors
527
Browsers counted since Aug 2025
GitHub contributions
475
In the last year
darkmode.pshah.fun visits
11
Force Dark Mode's site, counted without cookies since 30 Sep 2026
Case studies
6
Projects with a full write-up
Engineering notes
3
Short technical write-ups
Deployed commit
c65e0e0
Branch main

How it stays this cheap

Pages are prerendered

Almost every page is static HTML built at deploy time, so a visit is served from Vercel's CDN without running a function.

External data is cached

GitHub data refreshes at most every 12 hours and this page at most every hour, so traffic spikes don't turn into API calls.

Heavy features load on demand

The assistant and the ⌘K palette download only when someone opens them.

One write per visitor

The counter increments once per browser and is rate-limited per IP, so storage use stays tiny.

No paid model by default

The assistant works without an LLM. Adding a key would switch it to generated answers, billed per token.

Stack

  • Next.js 15.5.25
  • React
  • TypeScript
  • Tailwind CSS
  • Node.js 22
  • Vercel
  • Upstash Redis

Source: github.com/pshah-lab/pshah-portfolio