Skip to content
← all work

2025 — 2026 · Solo — design, frontend, backend, infra

Joey OS

A portfolio that is itself a live, full-stack serverless system.

Problem

A static CV can't show what a backend engineer actually does. I wanted the portfolio itself to be the proof — a running, full-stack, serverless product, not a page of bullet points.

Approach

  • Single Next.js front end on AWS Amplify, talking to one Python Lambda that routes by request shape.
  • Real-time live chat: visitor messages relay to my phone via the Telegram Bot API, and my replies push back to the browser over Pusher WebSockets.
  • An AI assistant grounded in a hand-written knowledge base with explicit anti-hallucination rules; unanswered questions are logged so the knowledge base can grow.
  • Abuse protection via Upstash serverless Redis (per-IP rate limiting) — no VPC, no ElastiCache cold-starts.

Architecture

  • Browser → API Gateway → one Lambda → fans out to: DynamoDB (chat logs), DeepSeek (LLM), Telegram Bot API, Pusher (realtime), Upstash Redis (rate limit).
  • Zero-dependency Lambda: native urllib only, so it pastes into the inline editor with no layers or zip uploads.
  • Hand-rolled HMAC request signing to call Pusher without the SDK.

Impact

  • A live system serving real visitors — not a mockup.
  • Visitors get grounded, on-brand answers about my background on demand.
  • Messages reach my phone in seconds and reply in the browser in real time.

Stack

Next.jsTypeScriptAWS LambdaDynamoDBAPI GatewayPusherTelegram Bot APIDeepSeek LLMUpstash RedisAWS Amplify