ajithmjose.com

Ajith M Jose — Senior Frontend Developer

2026 · Design + build

This site: a portfolio that behaves like a real OS, with a lock screen, home screen and slide-up app sheets on mobile, and a macOS-style desktop with windows and a dock above 1024px.

Tech: Angular 20, TypeScript, GSAP, PHP, MySQL, Cloudinary, Claude API

Context

Most portfolios are a page you scroll. This one is a device you unlock: a lock screen with the time and a live-status card, a swipe to a home screen of app icons, and each section of the portfolio opening as a slide-up sheet, exactly like a phone.

Features

  • A five-blob animated mesh gradient wallpaper, pure CSS keyframes with zero JavaScript on the main thread, visible through glass cards everywhere
  • Signals-only navigation: isUnlocked, activeApp and activeDetail signals drive every screen transition, with the Angular Router used only as a thin entry point for deep links like /projects/:slug
  • A macOS-style desktop mode above 1024px, with a glass menubar, a dock, and windows with traffic-light controls, reusing the exact same feature components as the mobile app sheets
  • A PHP + MySQL admin CMS behind Firebase Auth, so every project, blog post and "now" update is content-managed rather than hardcoded
  • A Claude API-powered chat app, "Talk to Ajith", streamed through a PHP proxy so the API key never reaches the browser
  • SEO pages, sitemap and JSON-LD regenerated automatically on every admin save, so new content is crawlable without a redeploy

How it was built

Angular 20 standalone components throughout, strict TypeScript, no NgModule. GSAP handles every transition using only transform and opacity so animations stay on the compositor thread. The backend is intentionally thin: a framework-free PHP JSON API over PDO prepared statements, deployed straight to Hostinger shared hosting alongside static Angular SSG output.

What is different

Most "OS-themed" portfolio concepts stop at a visual skin. This one carries the metaphor through the state model itself — there is no page reload between apps, no route re-mount, and the same wallpaper animation runs continuously from lock screen through to desktop.

Live site