Personal website for Arif Celebi.
This repo contains a Jekyll-based site for writing, experiments, and ongoing work around AI agents, automation, apps, and software systems.
Requirements:
- Ruby
- Bundler
Commands:
bundle install
bundle exec jekyll serve
bundle exec jekyll buildThe site includes an optional first-party analytics flow built with a Cloudflare Worker and D1.
It records page routes, active visible time, coarse referral hosts, link clicks, and known same-tab exits. A random per-tab session identifier connects pages within one visit; only its SHA-256 hash is stored, and raw visit records are deleted after 30 days.
The tracker does not use analytics cookies, persistent visitor profiles, IP storage, query-string capture, fingerprinting, or cross-site tracking. It respects Global Privacy Control and Do Not Track. Visitor-facing details live in privacy.md.
Run the JavaScript tests with:
node --test assets/analytics.test.mjs workers/analytics.test.mjsDeploy analytics changes in this order so the site never sends events to an incompatible API:
cd workers
npx wrangler d1 migrations apply chelebi-analytics --remote --config analytics.wrangler.toml
npx wrangler deploy --config analytics.wrangler.tomlPublish the site only after both commands succeed.