<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: sozan alkouz</title>
    <description>The latest articles on DEV Community by sozan alkouz (@sozan_alkouz_1e9a5fc2a2a1).</description>
    <link>https://dev.to/sozan_alkouz_1e9a5fc2a2a1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4190566%2F0d928879-8b1d-483f-97b2-ede2f29b22fc.jpg</url>
      <title>DEV Community: sozan alkouz</title>
      <link>https://dev.to/sozan_alkouz_1e9a5fc2a2a1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sozan_alkouz_1e9a5fc2a2a1"/>
    <language>en</language>
    <item>
      <title>404 Afterlife: Bringing Forgotten Websites Back to Life with Open-Weight AI</title>
      <dc:creator>sozan alkouz</dc:creator>
      <pubDate>Sat, 31 Oct 2026 20:55:55 +0000</pubDate>
      <link>https://dev.to/sozan_alkouz_1e9a5fc2a2a1/404-afterlife-bringing-forgotten-websites-back-to-life-with-open-weight-ai-2h1a</link>
      <guid>https://dev.to/sozan_alkouz_1e9a5fc2a2a1/404-afterlife-bringing-forgotten-websites-back-to-life-with-open-weight-ai-2h1a</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dead Websites. Reborn Experiences. Preserved Memories.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What happens when a website is forgotten?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Behind an outdated website, an abandoned domain, or a broken link, there may be a story worth preserving: someone's first portfolio, a small business, an old community, or a piece of internet history.&lt;/p&gt;

&lt;p&gt;Inspired by the &lt;strong&gt;Ghost in the Machine&lt;/strong&gt; theme, our three-member team created &lt;strong&gt;404 Afterlife&lt;/strong&gt;, an AI-assisted website preservation and modernization application powered by locally running open-weight artificial intelligence.&lt;/p&gt;

&lt;p&gt;Our mission is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bring forgotten websites back to life without erasing their original identity.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of asking AI to invent an unrelated website, 404 Afterlife analyzes original web pages, examines their structure, and applies a modern design direction while preserving existing content, navigation references, and assets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Website Recovery and Import&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Users can upload an existing website as a ZIP archive or recover historical website snapshots by entering a URL.&lt;/p&gt;

&lt;p&gt;Our archive recovery workflow attempts to use the Internet Archive's Wayback Machine first, with Arquivo.pt as an alternative source when needed.&lt;/p&gt;

&lt;p&gt;Archive recovery depends on snapshot availability and external service access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Website Structure Analysis&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our analyzer examines HTML documents and extracts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Page titles, headings, and paragraphs.&lt;/li&gt;
&lt;li&gt;Navigation links and internal references.&lt;/li&gt;
&lt;li&gt;Images and referenced assets.&lt;/li&gt;
&lt;li&gt;HTML structure and layout information.&lt;/li&gt;
&lt;li&gt;Broken links and missing resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The extracted information helps the system understand the original website before redesigning it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. AI-Powered Design Planning with Gemma&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We integrated &lt;strong&gt;Google Gemma 3 1B&lt;/strong&gt;, running locally through &lt;strong&gt;Ollama&lt;/strong&gt;, to generate structured website design plans.&lt;/p&gt;

&lt;p&gt;Rather than allowing AI to independently redesign every page, the model examines an overview of the website and selects a shared visual theme and layout.&lt;/p&gt;

&lt;p&gt;This helps create a more consistent experience across multiple pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Multi-Page Website Modernization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Python-based transformation layer applies responsive HTML/CSS styling to the website's original documents.&lt;/p&gt;

&lt;p&gt;Our approach separates the AI's design decisions from the actual file transformations, reducing the risk of accidentally replacing original content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Safe CSS Refresh — An AI-Free Alternative&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;404 Afterlife also provides a lightweight CSS-only redesign option.&lt;/p&gt;

&lt;p&gt;Users can select &lt;strong&gt;Safe CSS Refresh&lt;/strong&gt; to modernize a website's visual appearance without running a local AI model.&lt;/p&gt;

&lt;p&gt;Unlike the Gemma-powered workflow, this mode uses a deterministic CSS-based styling approach rather than AI-generated design planning.&lt;/p&gt;

&lt;p&gt;This provides an alternative when Ollama or Gemma is unavailable, or when users prefer a simpler redesign method.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Content Preservation and Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our validation workflow checks whether redesigned pages retain their original visible text, links, image references, and protected script content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Interactive Streamlit Application&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our application brings together website ingestion, analysis, redesign method selection, before-and-after previews, and ZIP export.&lt;/p&gt;

&lt;p&gt;Users can choose between two redesign methods directly in the interface:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local Gemma (Ollama)&lt;/strong&gt; — AI-assisted design planning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safe CSS Refresh&lt;/strong&gt; — Deterministic CSS-based modernization without AI inference.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;8. Experimental Missing-Page Reconstruction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We also developed an experimental workflow that identifies missing linked HTML pages and generates proposed reconstructions based on available evidence.&lt;/p&gt;

&lt;p&gt;These reconstructions are clearly labeled as proposals rather than authentic historical recoveries.&lt;/p&gt;

&lt;h3&gt;
  
  
  Our Goal
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Modernize the experience. Preserve the history.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;404 Afterlife explores how open-weight AI and practical web development tools can support digital preservation while respecting the websites that people originally created.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Watch 404 Afterlife in Action
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://drive.google.com/drive/folders/1EIe1AczGOdrVrvru9vjBlcXVCFJPwJel?usp=sharing" rel="noopener noreferrer"&gt;404 Afterlife — Demo Video and Project Files&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our application runs locally using Python, Streamlit, Ollama, and Gemma 3 1B.&lt;/p&gt;

&lt;h3&gt;
  
  
  Demonstration Workflow
&lt;/h3&gt;

&lt;p&gt;Our demo showcases the following workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Import an old website as a ZIP archive.&lt;/li&gt;
&lt;li&gt;Analyze its HTML structure, navigation, and assets.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Local Gemma (Ollama)&lt;/strong&gt; for AI-assisted modernization.&lt;/li&gt;
&lt;li&gt;Generate a shared design plan and apply it across the website pages.&lt;/li&gt;
&lt;li&gt;Validate the preservation of important content.&lt;/li&gt;
&lt;li&gt;Compare the website before and after modernization.&lt;/li&gt;
&lt;li&gt;Export the updated website as a ZIP archive.&lt;/li&gt;
&lt;li&gt;Demonstrate the alternative &lt;strong&gt;Recover from URL&lt;/strong&gt; input method.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The interface also offers &lt;strong&gt;Safe CSS Refresh&lt;/strong&gt;, allowing users to modernize a website without running Gemma.&lt;/p&gt;

&lt;p&gt;This gives users flexibility between AI-assisted redesign and a lightweight CSS-based alternative.&lt;/p&gt;

&lt;h3&gt;
  
  
  Before and After: Retro Tech Store
&lt;/h3&gt;

&lt;p&gt;For our demonstration, we used a fictional retro technology store website containing multiple HTML pages, a stylesheet, and an SVG logo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before — Original Website&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The original website featured a beige background, traditional typography, basic text navigation, and a simple content layout.&lt;/p&gt;

&lt;p&gt;It included a Featured Collection section, an Our Mission section, an SVG logo, and a basic search interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After — AI-Assisted Modernization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The redesigned website introduced a more structured layout, a coordinated purple-toned design, improved typography, clearer navigation buttons, and better visual organization.&lt;/p&gt;

&lt;p&gt;The before-and-after comparison was captured directly from our Streamlit application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgdlpcpw6a76977866fkc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgdlpcpw6a76977866fkc.png" alt="Before and after comparison of Retro Tech Store in 404 Afterlife, showing the original beige website and redesigned purple website with clearer navigation and improved layout" width="800" height="352"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  A Real Gemma Design Decision
&lt;/h3&gt;

&lt;p&gt;During local testing, Gemma 3 1B generated the following shared design configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"theme"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sunset"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"layout"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"minimal"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our execution log confirmed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AI used: True
Fallback:
PASS: Malak validator
PASS: Original HTML pages preserved
PASS: Images and other assets unchanged
PASS: Final ZIP verified
END-TO-END TEST SUCCESS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The empty fallback field confirmed that Gemma generated a valid design plan rather than relying on the default configuration in this test.&lt;/p&gt;

&lt;p&gt;In this integration test, the input website contained two HTML documents, one CSS stylesheet, and one SVG asset.&lt;/p&gt;

&lt;p&gt;The resulting website passed the preservation validator, retained the original pages and non-HTML assets, and produced a valid ZIP archive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Improving the User Experience
&lt;/h3&gt;

&lt;p&gt;Our first visual tests revealed an important challenge: preserving the original HTML structure does not automatically guarantee a good user experience.&lt;/p&gt;

&lt;p&gt;Some early redesigns had CSS conflicts that caused poor text contrast, navigation labels that were difficult to read, and inconsistent styling between pages.&lt;/p&gt;

&lt;p&gt;We investigated these issues and refined the presentation.&lt;/p&gt;

&lt;p&gt;Our later Retro Tech Store comparison demonstrated clearer navigation buttons, improved title readability, and a more structured content layout.&lt;/p&gt;

&lt;p&gt;This experience reinforced one of our most important lessons:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A successful modernization needs both technical correctness and thoughtful UI/UX design.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;h3&gt;
  
  
  GitHub Repository
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Afterlife-Team/After_life" rel="noopener noreferrer"&gt;404 Afterlife — GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;404 Afterlife is built primarily with Python and combines website analysis, local AI inference, HTML/CSS transformation, validation, and an interactive Streamlit application.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technology Stack
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt; — Core backend logic, website processing, and transformation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Streamlit&lt;/strong&gt; — Interactive application, website import, redesign method selection, before-and-after previews, and ZIP export.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BeautifulSoup&lt;/strong&gt; — HTML parsing, content extraction, and structural analysis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemma 3 1B&lt;/strong&gt; — Open-weight AI model used for website design planning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ollama&lt;/strong&gt; — Local AI model inference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML and CSS&lt;/strong&gt; — Website modernization and responsive styling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wayback Machine and Arquivo.pt&lt;/strong&gt; — Sources used by the historical website recovery workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pytest&lt;/strong&gt; — Automated testing and validation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git and GitHub&lt;/strong&gt; — Version control and team collaboration.&lt;/p&gt;

&lt;h3&gt;
  
  
  Project Architecture
&lt;/h3&gt;

&lt;p&gt;Our application is divided into cooperating components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website Ingestion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Receives user-uploaded ZIP files or retrieves available archived website snapshots from a URL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website Analysis&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Examines original HTML pages, navigation references, images, and structural information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Redesign Method Selection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Users select one of two approaches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local Gemma (Ollama)&lt;/strong&gt; for AI-assisted design planning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safe CSS Refresh&lt;/strong&gt; for deterministic styling without AI inference.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI Design Planning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When Gemma is selected, the model chooses a shared visual direction from an overview of the website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML/CSS Transformation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Applies the selected styling approach across the original documents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Preservation Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Checks that modified documents satisfy important content-preservation requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Streamlit Application&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Brings together website processing, redesign options, previews, and ZIP export in a user-facing experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Important Implementation Components
&lt;/h3&gt;

&lt;p&gt;Our development work includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;analyzer.py&lt;/code&gt; — Website content and structure analysis.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ai_engine.py&lt;/code&gt; — Local AI redesign logic.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;whole_site_adapter.py&lt;/code&gt; — Shared design planning and whole-site transformation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;html_renderer.py&lt;/code&gt; — HTML rendering for reconstruction workflows.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;html_validator.py&lt;/code&gt; — Generated HTML validation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;missing_page_recovery.py&lt;/code&gt; — Experimental missing-page reconstruction.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;multi_page_redesign.py&lt;/code&gt; — Multi-page redesign experiments.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;full_site/app.py&lt;/code&gt; — Streamlit application.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;full_site/services/ai_bridge.py&lt;/code&gt; — AI integration and preservation checks.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;full_site/services/site_bundle.py&lt;/code&gt; — Website file processing and packaging.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project was developed collaboratively using Git branches, shared interfaces, and automated tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Starting with Website Preservation
&lt;/h3&gt;

&lt;p&gt;Our first challenge was understanding existing websites before attempting to modernize them.&lt;/p&gt;

&lt;p&gt;An old website is more than its visible text. It may contain interconnected pages, images, navigation elements, stylesheets, scripts, and additional resources.&lt;/p&gt;

&lt;p&gt;We developed HTML analysis functionality to inspect these elements and extract useful structural information.&lt;/p&gt;

&lt;p&gt;This provided a foundation for making informed design decisions rather than blindly replacing the original website.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Choosing an Open-Weight AI Model
&lt;/h3&gt;

&lt;p&gt;We selected &lt;strong&gt;Google Gemma 3 1B&lt;/strong&gt;, running locally through Ollama.&lt;/p&gt;

&lt;p&gt;We wanted a lightweight model that would allow us to experiment with AI-assisted website modernization without depending on a paid hosted inference API.&lt;/p&gt;

&lt;p&gt;Our initial approach involved redesigning individual pages independently.&lt;/p&gt;

&lt;p&gt;However, this introduced a problem.&lt;/p&gt;

&lt;p&gt;Different pages could receive different themes or layouts, making the website feel visually disconnected.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Introducing Whole-Site AI Planning
&lt;/h3&gt;

&lt;p&gt;To address this challenge, we developed the &lt;strong&gt;Whole-Site AI Adapter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of asking Gemma to rewrite every HTML file, the adapter prepares a compact overview of the website, including page titles and headings.&lt;/p&gt;

&lt;p&gt;Gemma then selects a single theme and layout for the entire website.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"theme"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"forest"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"layout"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"editorial"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Python translates the selected design into a shared responsive CSS layer.&lt;/p&gt;

&lt;p&gt;This gives the AI responsibility for high-level design decisions while allowing deterministic code to control the actual transformations.&lt;/p&gt;

&lt;p&gt;We found this separation more predictable and easier to validate than asking a small language model to regenerate every page from scratch.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Designing for Content Preservation
&lt;/h3&gt;

&lt;p&gt;One of our biggest concerns was preventing AI-assisted redesign from losing original website information.&lt;/p&gt;

&lt;p&gt;If an AI model completely regenerates an old website, it may unintentionally remove text, links, images, or other important details.&lt;/p&gt;

&lt;p&gt;To reduce this risk, we introduced an integration contract based on the website's original file paths.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"files"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"index.html"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;!doctype html&amp;gt;..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"about.html"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;!doctype html&amp;gt;..."&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The redesigned output is expected to contain the original HTML pages.&lt;/p&gt;

&lt;p&gt;Our backend checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coverage of original HTML pages.&lt;/li&gt;
&lt;li&gt;Approximate preservation of visible text.&lt;/li&gt;
&lt;li&gt;Original anchor references.&lt;/li&gt;
&lt;li&gt;Original image references.&lt;/li&gt;
&lt;li&gt;Protection of existing scripts and inline event handlers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Non-HTML assets remain part of the original website bundle.&lt;/p&gt;

&lt;p&gt;These checks help ensure that modernization focuses on improving presentation without unnecessarily changing the original content.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Integrating Gemma with Streamlit
&lt;/h3&gt;

&lt;p&gt;We used Streamlit to create the interactive application.&lt;/p&gt;

&lt;p&gt;The website processing system handles ingestion, analysis, preview generation, validation, and export.&lt;/p&gt;

&lt;p&gt;The AI components are responsible for design planning.&lt;/p&gt;

&lt;p&gt;Gemma is connected to the Streamlit workflow through our integration components, allowing AI-assisted modernization to participate in the application pipeline.&lt;/p&gt;

&lt;p&gt;Our modular architecture separates AI inference, website transformation, and user interaction.&lt;/p&gt;

&lt;p&gt;This made it possible to develop and test individual components before evaluating the integrated workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Safe CSS Refresh: An Alternative Redesign Method
&lt;/h3&gt;

&lt;p&gt;In addition to Gemma-powered modernization, we implemented a &lt;strong&gt;Safe CSS Refresh&lt;/strong&gt; mode.&lt;/p&gt;

&lt;p&gt;Users can choose between &lt;strong&gt;Local Gemma (Ollama)&lt;/strong&gt; and &lt;strong&gt;Safe CSS Refresh&lt;/strong&gt; directly in the Streamlit interface.&lt;/p&gt;

&lt;p&gt;The Gemma option uses an open-weight AI model to generate design decisions.&lt;/p&gt;

&lt;p&gt;Safe CSS Refresh follows a deterministic CSS-based workflow without requiring AI inference.&lt;/p&gt;

&lt;p&gt;This makes the application more flexible, particularly when users want a lightweight redesign or do not have Ollama running.&lt;/p&gt;

&lt;p&gt;Importantly, Safe CSS Refresh is a styling alternative, not a claim that the application can recover every missing CSS file from an archived website.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Exploring Missing-Page Reconstruction
&lt;/h3&gt;

&lt;p&gt;During development, we encountered another preservation challenge.&lt;/p&gt;

&lt;p&gt;An archived homepage might link to &lt;code&gt;about.html&lt;/code&gt;, even when that page is missing from the available files.&lt;/p&gt;

&lt;p&gt;We developed a separate experimental reconstruction workflow that can create proposed replacement pages based on existing evidence.&lt;/p&gt;

&lt;p&gt;Importantly, these pages are labeled as proposed reconstructions instead of being presented as authentic historical content.&lt;/p&gt;

&lt;p&gt;This distinction reflects an important principle of responsible AI development:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI can help reconstruct an experience, but it should not invent history and present it as fact.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Automated Testing and Integration
&lt;/h3&gt;

&lt;p&gt;Testing played an important role throughout development.&lt;/p&gt;

&lt;p&gt;Our recorded results included:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;18 passing tests&lt;/strong&gt; in the most recent observed analyzer and AI test run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;35 passing tests&lt;/strong&gt; in a previously recorded full-site backend test run.&lt;/p&gt;

&lt;p&gt;We also performed live integration testing involving Gemma 3 1B, the Whole-Site Adapter, and the preservation validator.&lt;/p&gt;

&lt;p&gt;In a ZIP-based test, the original website contained:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Two HTML pages.&lt;/li&gt;
&lt;li&gt;One CSS stylesheet.&lt;/li&gt;
&lt;li&gt;One SVG image asset.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gemma successfully generated a shared design plan.&lt;/p&gt;

&lt;p&gt;The redesigned pages passed the validator, original non-HTML assets were retained, and the final ZIP passed an archive integrity check.&lt;/p&gt;

&lt;p&gt;These results describe our recorded tests on the relevant components and sample website, rather than exhaustive support for every historical website.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Improving UI/UX Through Testing
&lt;/h3&gt;

&lt;p&gt;One of our most valuable discoveries happened after automated tests succeeded.&lt;/p&gt;

&lt;p&gt;When we opened the generated website in a browser, we identified problems with visual consistency and readability.&lt;/p&gt;

&lt;p&gt;Some navigation elements had low contrast, and pages with different HTML structures did not receive the same visual treatment.&lt;/p&gt;

&lt;p&gt;This revealed a practical limitation of applying shared CSS to existing websites: different original structures and existing styles can produce unexpected results.&lt;/p&gt;

&lt;p&gt;We refined the presentation and continued evaluating the website through before-and-after comparisons.&lt;/p&gt;

&lt;p&gt;Our updated Retro Tech Store homepage showed clearer navigation buttons, improved title contrast, and better content organization.&lt;/p&gt;

&lt;p&gt;This reinforced an important engineering lesson:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Passing automated tests does not automatically mean that an interface provides a good user experience.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Lessons Learned
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;AI does not have to generate everything.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using Gemma for design planning and Python for controlled transformations made the workflow easier to understand and validate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Preservation must be a technical requirement.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A modern-looking page is not a successful restoration if it loses important original information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-page websites need a unified design system.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A website should feel like one connected experience rather than a collection of unrelated pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Providing multiple redesign methods improves flexibility.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gemma-powered design and Safe CSS Refresh serve different needs, allowing users to choose between AI-assisted planning and deterministic styling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automated testing and visual testing complement one another.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both are necessary for building reliable user-facing applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open innovation was central to our project.&lt;/p&gt;

&lt;p&gt;404 Afterlife explores how accessible technologies can support the preservation of forgotten parts of the web.&lt;/p&gt;

&lt;h3&gt;
  
  
  Local AI and Developer Control
&lt;/h3&gt;

&lt;p&gt;Gemma 3 1B runs locally through Ollama.&lt;/p&gt;

&lt;p&gt;This allows our design-planning workflow to operate without requiring a paid hosted inference service.&lt;/p&gt;

&lt;p&gt;It also gives developers greater control over the inference environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Accessible Experimentation
&lt;/h3&gt;

&lt;p&gt;Local inference allowed us to experiment with prompts, structured JSON responses, fallback handling, and design configurations without paying per-request model inference charges.&lt;/p&gt;

&lt;p&gt;This was especially valuable when debugging invalid AI design plans and improving output consistency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Transparency and Flexibility
&lt;/h3&gt;

&lt;p&gt;We can inspect and modify our AI integration, transformation logic, and validation rules.&lt;/p&gt;

&lt;p&gt;Our modular approach also provides opportunities to experiment with alternative compatible models in the future.&lt;/p&gt;

&lt;p&gt;The Safe CSS Refresh option further demonstrates that AI can be used selectively rather than being required for every operation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Preserving the Open Web
&lt;/h3&gt;

&lt;p&gt;Much of the early internet was built through creativity, experimentation, and accessible development tools.&lt;/p&gt;

&lt;p&gt;We wanted our preservation-oriented project to reflect that same spirit.&lt;/p&gt;

&lt;p&gt;By combining local AI with open development technologies, 404 Afterlife explores an accessible approach to preserving and modernizing older websites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The technology used to preserve digital history should remain accessible to the people who care about it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spirit of It
&lt;/h2&gt;

&lt;p&gt;The internet is full of forgotten places.&lt;/p&gt;

&lt;p&gt;Some old websites were built by people writing their first lines of HTML. Others belonged to small businesses, communities, portfolios, or personal projects.&lt;/p&gt;

&lt;p&gt;Their design may no longer meet modern expectations, but that does not mean their content has lost its value.&lt;/p&gt;

&lt;p&gt;Our project began with a simple question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if we could give old websites another chance without erasing their stories?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Throughout development, we learned that bringing a website back to life is not simply about changing colors or rearranging layouts.&lt;/p&gt;

&lt;p&gt;It is also about preserving original information, understanding what has been lost, and being transparent about what AI can and cannot reconstruct.&lt;/p&gt;

&lt;p&gt;Our journey included analyzing HTML, experimenting with local AI, debugging model responses, improving page consistency, and validating redesigned website files.&lt;/p&gt;

&lt;p&gt;For us, 404 Afterlife represents an attempt to connect artificial intelligence with digital memory.&lt;/p&gt;

&lt;p&gt;Because sometimes, a website deserves more than a 404.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It deserves an afterlife.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet the Team
&lt;/h2&gt;

&lt;p&gt;404 Afterlife was developed by three students combining website analysis, artificial intelligence, and application development.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sozan — Website Analysis and Preservation
&lt;/h3&gt;

&lt;p&gt;Responsible for HTML analysis, content extraction, broken-link and missing-asset detection, website structure examination, and analyzer testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEV:&lt;/strong&gt; &lt;a href="https://dev.to/sozan_alkouz_1e9a5fc2a2a1"&gt;@sozan_alkouz_1e9a5fc2a2a1&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Rana — AI Engineering and Redesign
&lt;/h3&gt;

&lt;p&gt;Responsible for Gemma integration, structured AI planning, HTML rendering and validation, whole-site redesign, and experimental missing-page reconstruction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEV:&lt;/strong&gt; &lt;a href="https://dev.to/rana_4a6f402a1eba49668fe1"&gt;@rana_4a6f402a1eba49668fe1&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Malak — Streamlit Application and Integration
&lt;/h3&gt;

&lt;p&gt;Responsible for the Streamlit application, website ingestion workflows, before-and-after previews, AI integration, ZIP export, and application testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DEV:&lt;/strong&gt; &lt;a href="https://dev.to/malak_mahmoud_383bb895703"&gt;@malak_mahmoud_383bb895703&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our collaboration brought together complementary technical skills to explore how AI can help preserve forgotten websites.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Use of Gemma
&lt;/h3&gt;

&lt;p&gt;We are entering the &lt;strong&gt;Best Use of Gemma&lt;/strong&gt; category.&lt;/p&gt;

&lt;p&gt;404 Afterlife uses Google's Gemma 3 1B open-weight model through Ollama to generate structured, site-wide design plans.&lt;/p&gt;

&lt;p&gt;The model contributes directly to the website modernization process by selecting a shared visual theme and layout.&lt;/p&gt;

&lt;p&gt;By combining Gemma with deterministic HTML/CSS transformations and preservation checks, our project demonstrates how an open-weight model can support a digital preservation workflow.&lt;/p&gt;

&lt;p&gt;The additional Safe CSS Refresh option also highlights how we designed the application to remain usable for basic modernization without requiring AI inference.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;404 Afterlife — Dead Websites. Reborn Experiences. Preserved Memories.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Built for Hacktoberfest 2026 — Ghost in the Machine.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
