web · July 2026
This Site
Don’t just read the portfolio—experience the proof. One Next.js + Supabase system transforms the same work into six distinct interfaces, while a full admin panel reveals the engine behind it through a public read-only demo.
Tornike Kalandadze — software engineer & technical lead, client delivery since 2019 · Tbilisi (GMT+4)

Problem
A portfolio that lists “full-stack, React, Postgres” proves little—everyone’s does. The goal was to make the site itself the evidence across every discipline, without maintaining six separate experiences.
Approach
One data model, six experiences: full-stack/mobile/frontend/automation/security/AI. A middleware-protected admin panel—the darkroom—manages everything and powers a public read-only demo.
Impact
The site proves its own case: every lens is interactive, the metrics come from real anonymous logs, and the defenses run live. Even the card’s strata map directly to the repo’s routes, services, and tables.
Through every lens
01 · Full-stack
You’re already inside it: Next.js App Router above, Supabase Postgres with RLS below, and one admin panel managing every project/skill/settings. The strata map to the repo’s real routes and tables—not a list of keywords.
02 · Mobile
Responsive-first, and the mobile lens proves it: a desk screen and a phone pair over Supabase Realtime, and the phone's swipes drive the desktop deck. Same code, hand-first.
03 · Frontend
Six genuinely different UIs from one dataset — the mechanic, not a re-tint. Switch to the frontend lens, turn on the Inspector, and it annotates this very page's computed styles live via getComputedStyle.
04 · Automation
The site runs itself: an autopilot tour drives the lens-switching, a real audit rail reads git commits, and proposals wait at a human gate you can watch held in the control room.
05 · Security
Audited in public — see 'Securing This Site'. In the security lens, fire probe and watch Postgres RLS reject an anonymous INSERT with a real 42501. The defense holding is the success state.
06 · AI
No LLM runs on this page, and it says so out loud. The AI lens is a glass box: a deterministic agent scores your query over real project data, shows its work, and stops at an amber human gate before it routes you anywhere.
Built with
Next.js · TypeScript · Supabase · Postgres RLS · Tailwind CSS · Framer Motion
Notes
Nothing here is a claim you have to take on faith. The analytics are the real anonymous path-and-timestamp log the public /stats page reads. The security lens lets you fire probe and watch Postgres RLS reject an anonymous write with a real 42501. The admin panel that writes every row is one click away in the demo — projects, inbox, and traffic, with every edit held in memory so nothing can break.