← All posts

Rebuilding joegrieco.com from a compiled bundle

When my laptop’s hard drive died, it took the source code for this site with it. The site itself was still running on Hostinger, but all I had was the compiled output: one minified JavaScript bundle and one CSS file.

Getting the content back

The old site was a React single-page app built with Vite. A minified React bundle still contains every string the app renders, because they are just arguments to jsx() calls. Searching the bundle for children:"…" recovered every heading, paragraph and list item. The skills and certifications came back as plain JavaScript arrays.

What changed

  • Astro instead of a client-side React app. Every page is now pre-rendered HTML, so it loads faster and search engines can read it.
  • A Git repository. Lesson learned: the source now lives on GitHub, not on one laptop.
  • Automatic deploys. Pushing to main builds the site with GitHub Actions and uploads it to Hostinger.
  • New sections, including this blog and a portfolio.

The moral of the story: back up your source code somewhere other than one laptop.