Skip to content

[React.js] My Tumblr account, a personal photo journal for me since 2010, entirely exported & rebuilt in a React setting. Python scripts made extracting the captions possible. Using infinite scroll avoids pagination when a user is traveling back in time. Continuous deploy revision on Netlify in early 2025, then migrated from CRA → Vite in late fall

Notifications You must be signed in to change notification settings

jonathanschimpf/from-tumblr-to-react-app

Repository files navigation

 

 

License License License License License License

 


 

✍️ About This Project

 

Data is stored in a .json file which holds an array of objects—each representing a photo and its original caption. The media was exported from my Tumblr archive and parsed using custom Python scripts to extract and structure the metadata.

The UI is built in React and uses Infinite Scroll for seamless navigation. A few custom icons enable smooth top/bottom jumping to make browsing an old photo journal more enjoyable.

This site is now continuously deployed using Netlify — pushing updates straight from GitHub.

 


 

⚡ Migration to Vite (2025+)

 

This project was originally built on Create React App (CRA) in 2023. The foundation was solid and the architecture held up through hundreds of photos, captions, and countless UX tweaks. But in late 2025, it became clear that CRA’s build pipeline and dev server were slowing things down.

The entire project was migrated to Vite, giving it:

A dramatically faster local dev server (instant start-up, instant reloads)

A modern ES module build process

Lighter configuration with less tooling overhead

Faster production builds on Netlify

Cleaner control over the index.html, assets, and preview images

All core functionality stayed intact: the infinite scroll, the Python-generated metadata, the hover interactions, the archive navigation, and your UI flow. Vite simply took an already established system and gave it a faster engine.

The transition required updating the project structure, handling the new index.html root, and ensuring all asset paths (including the public/images/FromTumblrToReact_v2.jpg logo and the new hover “easter egg”) stayed stable in production. Everything now builds and deploys smoothly on Netlify’s 2025+ environment using the updated build image.

Your photo journal runs the same — it just runs faster and is easier to maintain going forward.

 

Credits

 

Third-party assets:

  • React.js — A declarative JavaScript library for building user interfaces
  • React-Bootstrap — Bootstrap components rebuilt for React
  • Bootstrap — Open-source CSS framework
  • GitHub Pages — Former deployment method 🚫
  • Netlify — Current deployment platform (CD enabled) ✅

 


 

Questions?

 

Shoot me an email → [email protected]

 


📸 Preview
Photo journal rebuilt from Tumblr → React (2010–2023+)

 

Project Preview

 

Migrated from Create React App (2023) → React+Vite in November '25 (2025+)

 

 

✍️ README co-authored by a GPT

✨ A GPT helped write this README — because it’s 2025.

 

About

[React.js] My Tumblr account, a personal photo journal for me since 2010, entirely exported & rebuilt in a React setting. Python scripts made extracting the captions possible. Using infinite scroll avoids pagination when a user is traveling back in time. Continuous deploy revision on Netlify in early 2025, then migrated from CRA → Vite in late fall

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published