I Built a Cyberpunk Terminal Portfolio with Next.js, Antigravity and Gemini AI
Source: Dev.to
This is a submission for the New Year, New You Portfolio Challenge Presented by Google AI
I’m Inusha Gunasekara, an IT undergraduate at the University of Moratuwa, Sri Lanka, and the co‑founder of Tekkeys, where we’re building agentic AI tools.
For this challenge I didn’t want to build just another “landing page.” I wanted to build a Digital Twin—a sentient, terminal‑based operating system that represents my skills, projects, and personality as code. The goal was an interface that feels alive, combining the raw utility of a CLI with the polished aesthetics of a cyberpunk UI.
I initially engineered the system as a fully autonomous clone powered by the Gemini 2.5 Flash‑Lite API. To guarantee 100 % uptime and zero latency for public access, I pivoted to a deterministic Simulation Mode. This hybrid approach preserves the sentient “vibe” while ensuring production‑grade reliability.
Portfolio
(Type "help" to see available commands, or try "projects" to see what I'm working on.)
How I Built It
The Tech Stack
- Framework: Next.js 16 (App Router) – core React architecture.
- Styling: Tailwind CSS v4 – utility‑first, cyberpunk aesthetic.
- Infrastructure: Google Cloud Run (Serverless) – scalable, containerized deployment.
- Containerization: Docker (multi‑stage build) using the
standaloneoutput mode.
The “Digital Twin” Architecture
Initial Prototype
I first built a fully autonomous agent using the Gemini 2.5 Flash‑Lite API. While powerful, a metered API introduces latency and quota risks (the “Reddit Hug of Death”).
Production Optimization
To deliver a production‑grade experience I created a Deterministic Simulation Engine. It mimics the streaming “typing effect” of an LLM but draws from an optimized local knowledge graph. This reduced perceived API latency from ~400 ms to < 5 ms, eliminated running costs, and retained the “sentient” feel of the terminal.
Deploying to Google Cloud Run
Choosing Cloud Run gave me “scale‑to‑zero” capability. A multi‑stage Dockerfile shrank the final container size by ~80 %, allowing the portfolio to spin up instantly on request while costing $0 when idle.
What I’m Most Proud Of
1. The “Halt Sequence” (sudo delete)
sudo delete confirm
A hidden “kill switch” that triggers a dramatic system‑wide crash simulation—turning the screen black and forcing a reboot sequence. It adds gamification and encourages users to explore the interface’s boundaries.
2. Engineering the “Simulation Engine”
Instead of relying on a live Gemini API connection, I built a deterministic mock stream that replicates exact typing patterns and latency of an LLM. Reliability is a feature: the engine removes quota and network‑latency risks while preserving the AI‑like experience.
3. Secure Live Data (Gas Tracker)
I implemented a real‑time Ethereum Gas Tracker that fetches live data from Etherscan. To keep API keys secret, I created a Next.js server‑side proxy that injects the credentials on the server before forwarding the request.
4. The “Cyberpunk” Polish
Fine‑tuning visual details—glitch effects, neon accents, and responsive typography—while staying within performance budgets was a rewarding frontend optimization challenge, especially using Tailwind CSS v4.