The site is the proof.
A static portfolio is a CV with better typography. This one is a small distributed system — a Next.js front-end, a Spring Boot back-end I wrote and operate, a chat endpoint trained on my work history, and a /status page that polls the live process. The point of building it this way is the point: this is what shipping looks like for me.
- The chat endpoint really queries a Spring service. If the back-end is down, the inline ask & floating chat both degrade gracefully and tell you so.
- The competitive-programming ratings are pulled from upstream APIs on a schedule, cached, and served fresh.
- /status is wired straight to a status endpoint that exposes uptime, request counters, cache hit rate, and upstream latencies. Refreshes every 30s.
- The Open Graph preview is generated at the edge by
/opengraph-image. Share a link in Slack and you'll see it.
I could have used a portfolio template. The reason I didn't is the same reason I write the case studies with "what I'd revisit" sections — the most useful thing I can show a hiring manager is how I make decisions, not what decisions I made. A real system in the open is a better signal than a list of frameworks.
If you ask the chat "how was this site built?" — it answers from this page. The system is its own documentation.
The homepage ships zero JavaScript above the fold. The client islands (Chat, AskMe, CmdK, ScrollProgress) are lazily mounted and run only when actually used.
The front-end and the Spring Boot back-end are being prepared for public release. If you're curious about a specific decision in the meantime, the chat will answer — or email me and I'll walk you through it.