DEV Community

Manfred__
Manfred__

Posted on

Tired of HTTPs, GUIs? try SSH, try Tui - new year, new braincells

New Year, New You Portfolio Challenge Submission

_This is a submission for the New Year, New You Portfolio Challenge Presented by Google AI

Did I clickbait you?

Yes—but also no. Hear me out.

I'm exhausted by these AI-generated UIs. You know the ones: neon buttons slapped together with whatever AI chatbot tutorial is trending on YouTube. It’s giving WordPress circa 2008 (I'm not old i just spend a lot of time on yt)

About Me

Hi! I'm Uchindami (Manfred), a Full Stack Developer from Malawi 🇲🇼.
I am mostly

  • coding with antigravity
  • playing 5-a-side football
  • playing wildrift

The Portfolio

Live Demo: portfolio-tui-885989915110.us-central1.run.app

SSH?

This isn’t SSH (Cloud Run only exposes port 8080, so no dice), but it’s the closest legal hack I could ship: a web-based terminal streaming Ratatui over HTTP via ttyd. There’s also a “normal” version if you’re allergic to the command line.

When you visit, you choose your path:

  1. Terminal Mode (SSHish): A full Linux-like shell environment running in your browser.
  2. Web Mode (Normal): A standard, responsive modern portfolio website.

How I Built It

Tech Stack:

  • Core: Rust (Ratatui) for the TUI, Astro/Tailwind for the Web version.
  • Server: Docker (Multi-stage build) on Google Cloud Run (Serverless).
  • Web Terminal: Ttyd exposes the shell over WebSockets.
  • CI/CD: GitHub Actions -> Google Artifact Registry -> Cloud Run.

Google Gemini 3 was my pair programmer, helping critically with:

  • Rust/Ratatui Logic: Generating complex TUI layouts and the virtual filesystem.
  • Docker Config: Optimizing the multi-stage build to serve both apps.
  • Animation: Debugging the threaded boat animation logic.
  • I also used Opus 4.5, but the judges don't want to hear that.

Highlights

  • Real Shell Experience: Use ls, cd, cat, and tab completion.
  • Interactive Dashboard: Run ./dashboard for a TUI graphics overlay.
  • Easter Eggs: Try neofetch, matrix, fortune, or even sl.
  • Dual Mode: Seamless switching between CLI and GUI experiences.

Screenshots

The Choice (Landing Page)
Landing

Terminal Mode (TUI)
Dashboard

Resume

more terminal ui

Web Mode (Normal)
normal site

Thanks for checking it out! 🚀

Top comments (0)