Skip to main content
Claude Code Experiment: Modernizing a Java Tutorial from 1997
  1. Posts/

Claude Code Experiment: Modernizing a Java Tutorial from 1997

·753 words·4 mins·
Artur Tyloch
Author
Artur Tyloch
AI | Startup | SaaS
Working with Claude - This article is part of a series.
Part : This Article

TL;DR
Notes from working with Claude Code – modernizing a 17-file Java tutorial from 1997 was just a testing ground. The old course, full of <font> tags, ISO‑8859‑2 encoding andTelePort Pro artifacts, served to check how AI handles real projects. Result? Modern, responsive (with unchanged content) Hugo site plus preserved, “museum” original version and lots of experience with Claude Code

Why Modernize Code from 1997?
#

I wanted to test Claude Code on a real task, not made-up examples. The perfect candidate was lying on disk and hanging on the internet: my Java tutorial from 1997 “Java - new programming standard on the Internet”.

This tutorial had its history. At its peak, the visitor counter showed over 500,000 views. Universities asked for permission to copy for educational purposes - I always agreed, back then I wasn’t thinking about monetization. It was simply about sharing knowledge at a time when Java was new and Polish materials were scarce.

But the HTML code generated once by Microsoft FrontPage (yes I know…) looked terrible. ISO-8859-2 encoding turned Polish characters into “tre�ci”, “ko�cowe”, “osob�”. <font> tags everywhere, tables for layout, TelePort Pro artifacts. Good test case for AI.

Check the results (same historical content but different look&feel):

Working with Claude Code – Context Engineering, CLAUDE.md and Slash Commands
#

In working with Claude Code I applied context engineering principles (see principles). This experiment also became a testing ground for custom slash commands and using MCP servers (Model Context Protocol):

  • context7 - access to current Hugo documentation, libraries and frameworks
  • fetch - fetching content from internet, checking links, page analysis
  • filesystem - file operations, batch processing, transformations
  • playwright - browser automation, UI tests, responsiveness checking

These tools significantly accelerated the process, enabling direct access to documentation and automation of tasks that would normally require manual searching and copying.

Initially, a CLAUDE.md file was created with clearly defined project goals. Then, in plan mode on, a few iterations with Claude Code on a detailed plan that went into a separate Markdown file. As a result, CC performed among others:

  • Pattern analysis - AI extracted categories of <font> tags

    • Elements with warning/heading semantics
  • Encoding conversion - ISO-8859-2 → UTF-8 with validation

  • Intelligent rewriting - <font> → modern HTML/CSS

  • Quality gates - tests after each phase

Assessment: without AI I wouldn’t want to mess with old HTML. With Claude Code – the task became fun.

Professional Performance Testing
#

  • Lighthouse testing pipeline with Docker
  • Performance scores: SEO 100/100, Best Practices 100/100, Accessibility 96/100
  • AI-analyzable reports - JSON format for feedback loops

Production Deployment on Cloudflare
#

  • Production config with security headers and cache optimization
  • Docker-based build pipeline with GitHub integration
  • Complete DEPLOYMENT.md - step-by-step guide

Advanced Hugo Engineering
#

  • Custom render hooks - automatic target="_blank" for external links
  • Git submodule management - theme version lock (Blowfish v2.88.1)
  • Split configuration - separate dev/production settings
  • Multilingual i18n fixes - theme translation fixes

Docker Development Workflow
#

  • Environment consistency - ./scripts/dev.sh with Hugo v0.148.1+extended
  • Production testing - local Docker builds identical to Cloudflare
  • Dependency isolation - no conflicts with local Hugo

Result After a Few Days
#

Hugo 2025 version
#

  • Responsive layouts
  • Full-text search with Polish characters
  • Modern navigation and dark‑mode
  • Original content preserved 1:1 – only appearance changed
  • Two content appearance versions - modern and original under Hugo control

Original 1997 version
#

  • Unpolished charm of Web 1.0
  • Colorful fonts, tables, visitor counter
  • “Time‑Machine” switch between eras
  • This version, despite looking old, has modernized HTML underneath

Bonuses
#

  • Better understanding of Hugo capabilities
  • CICD pipeline with Cloudflare deployment
  • Lighthouse performance tests added via Claude Code
  • Practical AI tests on legacy code
  • Preserving a piece of Polish IT history

Conclusions
#

AI in development
#

  • Genius at routine, repetitive, boring tasks
  • Requires human supervision but can surprise
  • Pattern recognition is its superpower

Legacy modernization
#

  • Historical context can be more valuable than clean code
  • Dual‑version strategy works for archival content
  • Character encoding – always check twice

Education and archiving
#

  • Open knowledge sharing long-term value
  • Early web deserves a digital museum

Summary
#

The experiment showed that AI isn’t magic, but a solid assistant sometimes junior developer. Thanks to it, I refreshed a 90s tutorial, learned a new tool and saved a piece of history.

Check the results:

Not every line of code deserves eternal life, but those that built foundations are worth nurturing.


Got a similar project in the drawer? Let me know – I’d be happy to help!

Working with Claude - This article is part of a series.
Part : This Article

Found this helpful? Share it with others!