Back to projects

Full-Stack Developer (self)

sriaravindan.com — This Portfolio Site

Yes — the page you're reading is itself one of the projects. A self-documenting showcase that demonstrates its own CI/CD, auth, CMS, and commenting system.

Live CI/CD Dashboard — /devops

Visit /devops to see this site's own GitHub Actions runs, deployment history, and container health — pulled in real time. A portfolio that shows its own build pipeline is the best proof of competence.

Reddit-Style Threaded Comments — /blog

Every blog post has nested replies with parent_id (FK to comments.id, ON DELETE CASCADE), per-comment likes via comment_likes with UNIQUE(comment_id, user_id), and live updates over Supabase Realtime (Phoenix Channels) — no polling. Replies nest like Reddit / Hacker News. Try it on any blog post.

OTP Auth — no passwords, no magic links

Sign-in and sign-up at /auth/verify use a pure OTP flow via /api/auth/send-otp + /api/auth/verify-otp. Supabase Auth + custom session cookies. 6-digit codes via SMTP. Magic-link click-through not required.

Custom CMS — /dashboard

The dashboard at /dashboard is a content admin that lives inside the app. Blog posts use the Tiptap rich-text editor. Site content is stored in a Supabase JSON column (site_content) and RLS-gated per user.

What Stands Out

  • Live /devops dashboard: GitHub Actions + deployments + container health
  • Reddit-style threaded comments (parent_id + likes + Realtime)
  • OTP auth (send-otp + verify-otp) — no passwords, no magic links
  • Custom CMS at /dashboard: blog editor + content + profile
  • Custom design system: tokens, neon-glow card-line, mono-label, display-head
  • 21 pages, 3 API routes, 9 DB tables
  • framer-motion animations + Cmd+K command palette
  • Self-hosted Docker + Nginx + Let's Encrypt on Oracle Cloud VPS

Tech Stack

Next.js 16React 19TypeScriptTailwind v4SupabasePostgresRLSSupabase Realtimeframer-motionTiptaplucide-reactDockerNginxLet's Encrypt

sriaravindan.com

Sri Aravindan