Skip to content

Glory42/gorkemkaryol.dev

Repository files navigation

Personal portfolio built with TanStack Start, deployed on Cloudflare Workers.

Preview

Stack

  • TanStack Start (React + TanStack Router + server functions)
  • Bun
  • Cloudflare Workers
  • TypeScript
  • Tailwind CSS

Integrations

  • GitHub GraphQL API — pinned projects and contribution data
  • Literal GraphQL API — favorite books shelf and currently reading shelf
  • Interis (interis.gorkemkaryol.dev) — my self-hosted movie tracker; the interests page pulls my top 4 films and top 4 series via the public API

Environment

Create a .dev.vars file (for local dev) or set Worker bindings (for production):

GITHUB_TOKEN=...
PUBLIC_GITHUB_USERNAME=...
LITERAL_EMAIL=...
LITERAL_PASSWORD=...
INTERIS_USERNAME=...   # your Interis username, used to fetch top films/series

INTERIS_USERNAME and PUBLIC_GITHUB_USERNAME are non-secret public variables — they are declared under vars in wrangler.jsonc so they are available in preview deployments without a secret binding. keep_vars: true is set so that dashboard variables (secrets) are not wiped on each deploy.

All API secrets are server-only and read from Workers runtime bindings at request time.

Development

bun install
bun dev

Build

bun run build

Creates .output/ (Worker deploy artifact expected by wrangler.jsonc).

Deploy

npx wrangler deploy

wrangler.jsonc uses nodejs_compat because TanStack Start's server runtime imports Node-compatible modules internally.

About

My personal digital garden for projects, writing, and experiments. Built to be fast, responsive, and continuously evolving.

Topics

Resources

License

Stars

Watchers

Forks

Contributors