For readers
- Seven journeys that organize the family’s time in Sweden.
- Dated stories with writing, photographs, and optional films.
- Search across journal entries and photographs.
- Photo viewers, captions, and clear routes back to the story.
From Bill · Taavo family journal
Taavo started as a way to share our family’s visits to northern Sweden. Years later, the stories, photographs, and films were still worth keeping, but the website behind them had aged out. I rebuilt it as a family journal with a new design, recovered content, and tools for adding the next chapter.

The starting point
The old site used an early version of ExpressionEngine. What survived was spread across website files, archived pages, Flickr photographs, and older video formats. Rebuilding the design was only part of the job. First, I had to find and reconnect the material that made the site worth rebuilding.
I recovered journal writing from archived pages, matched photographs and captions to their journeys, and converted recovered films into browser-playable copies. Original source files stayed intact, and recovery records kept track of where the material came from. Gaps stayed visible in those records rather than being filled with unrelated photographs.
What I built
Reading the story
The site follows a simple structure: Journey → Journal entry → Gallery. A journey is a chapter of the family’s life; each entry holds the writing and images from a day, an outing, or a stretch of ordinary moments. An entry can also be mostly photographs.
Readers can follow a journey in order, jump to a month, search for a memory, or explore photographs and films. Previous and next links keep the reading inside the same journey. The design uses warm paper colors, forest green, serif headings, and family photography to give the stories room.

Keeping it current
The private editor lets the owner create a journey, write an entry, upload photographs, add captions, and choose the cover and image order. Saved changes stay in draft until publication. Revisions provide a way back, and version checks help prevent one edit from silently overwriting another.
Publishing creates a complete content snapshot and rebuilds the public pages. Readers browse a static website; the editing system works separately behind it. The journal can keep growing without turning every new photograph into a development task.

The reusable foundation
I separated the content, presentation, and publishing tools so the same foundation can support another family’s journal. A starter creates an independent project with sample content, its own branding, and separate hosting and editor setup. It does not copy our family’s photographs or writing.
The public site is generated with Python; the editor uses a separate database and media store. Stories and their relationships can be exported in a portable format. This gives me a repeatable starting point while leaving room for each family’s design, chapters, and way of telling a story.
The result
Taavo is back on its own domain, bringing the recovered writing, photographs, and films into one connected reading experience. I’m continuing to improve the site and its editing tools as I use them.
The project also gave me a reusable foundation for helping another family bring its own stories together, with design, content, and editing tools shaped around the people who will use them.
Explore TaavoTell me what you have: an older website, a collection of photographs, or journals you’d like to share. We can talk through a useful first version, what needs recovering, and how you’d like to keep adding to it. Scope, hosting, and ongoing care are agreed individually.
Discuss a family journal