A photography app I built over a decade ago just came back to life

A little over a decade ago, two developers and I built a photography CMS called Koken. The story of how we built it, lost it, and recently got it back.

Share
A photography app I built over a decade ago just came back to life

A little over a decade ago, Brad Daily, Lauren Smith, and I built a photography-centric content management system named Koken. I handled the design, front-end code, and business related things, while Brad and Lauren engineered the system itself. The CMS was free and self-installable with most web hosting providers. We set out to build a complete website and content publishing platform for photographers, visual artists, and really anyone who needed to share their work online. The app included a robust Library management interface, a rich text editor for publishing blog posts and pages, and a flexible website builder with support for custom themes and plugins.

As for the name, a koken is a stagehand in traditional Japanese theater. Clad in black, they work behind the scenes, supporting performers on stage. For me, it was the perfect metaphor for a content management system, quietly publishing and presenting the work of artists, while staying out of the way.

Library interface in Koken
Library interface in Koken

Koken was designed to be different. Most content management systems (like WordPress) treated images as add-ons to blog posts. With Koken, images were the atomic unit of the system. A single image could serve as the source for multiple outputs, from slideshows to blog posts to portfolio galleries, all managed through an interface that felt like a desktop photo app.

One of my favorite features was the ability to replace uploaded images. If I wanted to swap out an image in my portfolio, a blog post, an embedded slideshow, or anywhere else it appeared, I could do it without breaking URLs or digging through galleries, pages and posts to find the old image. This was especially helpful when an image was re-edited in Lightroom and needed to be republished online.

Speaking of Lightroom, we also built a syncing plugin so local collections could be uploaded along with their metadata. Photographers could edit all their image information locally on their desktop, then publish to their website without ever opening a web browser.

The downfall

A year or so after Koken launched, our small team began splintering off. All three of us had great professional opportunities come our way, and after months of not drawing a salary and investing my own savings to keep things going, I needed to earn a steady paycheck. I continued to handle the business side and commit updates here and there, but the vast majority of my time was now spent at Mailchimp, where I was leading the company's product and marketing design team.

I wanted Koken to keep growing and improving, but couldn't commit the time to it. Neither could Brad or Lauren. What Koken needed was a new home with people who could work on it full time. After speaking with a number of interested parties, a company called NetObjects acquired Koken in 2015. They had extensive experience with web publishing software and appeared to be a good fit for the product going forward.

Within a couple of years, NetObjects was struggling to turn Koken into a viable, self-supporting business. The costs of development, maintenance, and support were simply too much. Updates stopped, the app began breaking, and eventually Koken stopped functioning for everyone, ourselves included. With no one left at the helm to fix it, the app was effectively dead.

A second life

Recently, I was talking with Brad about Koken, and we shared our disappointment over how it all ended. The three of us had invested so much of ourselves into it, and even though many years had passed, we still missed it. We still thought about it often and wondered where we'd be today if we had continued developing it. More than anything, we were bothered by the app sitting in a state of limbo, broken and buried in a dusty GitHub repo.

We wanted it back.

NetObjects had since gone out of business. It took some research and trial and error, but eventually I tracked down my old contact at the now-defunct company. We spoke, and he agreed to return all Koken-related assets.

A little over a decade later, I'm happy to share that Koken is officially back in our hands.

Tinkering with its broken code, Brad had an idea: What could AI do? Specifically, Claude Code? He dropped in the entire Koken app, tens of thousands of lines of custom code, prompted the AI for help, and thirty minutes later, nearly all of the problems were fixed.

Brad set up a test install, which I used to record the following video:

Seeing Koken again, years after I'd assumed our work was gone for good, was a rollercoaster of emotion. I couldn't believe I was actually using the app again. I kept being surprised by one feature after another, wondering how we built this from scratch so long ago, and what could have been if we had the means to stick it out.

What's next?

Where do we go from here? Honestly, right now we're just happy to have Koken back, and to be able to share it with others again after so many years. Until now, all we had were old screenshots! And yet here it is, a decade after it was acquired, working pretty much just like it used to.

We don't have any grand plans right now to relaunch the CMS, but are actively discussing next steps. We'll continue ironing out bugs, testing the waters, and considering options for the future.

If you're interested in Koken and have thoughts, ideas, or just want to say hi, feel free to drop me an email.