<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">Jaisen Mathai</title>
<generator uri="https://github.com/mojombo/jekyll">Jekyll</generator>
<link rel="self" type="application/atom+xml" href="https://jaisenmathai.com/feed.xml" />
<link rel="alternate" type="text/html" href="https://jaisenmathai.com/" />
<updated>2026-09-29T20:59:51-07:00</updated>
<id>https://jaisenmathai.com/</id>
<author>
  <name>Jaisen Mathai</name>
  <uri>https://jaisenmathai.com/</uri>
  <email>jaisen@jmathai.com</email>
</author>


<entry>
  <title type="html"><![CDATA[Letters To My Kids]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/letters-to-my-kids/"/>
  <id>https://jaisenmathai.com/articles/letters-to-my-kids</id>
  <published>2026-09-29T00:00:00-07:00</published>
  <updated>2026-09-29T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#letters" term="letters" />
  <content type="html">
    &lt;p&gt;When my son turned 2, I decided to set up an email address for him. It wasn’t to secure an email address with his name. It was so I could send him notes and give them to him once he became an adult. If you’ve ever been a parent, you know too well those fleeting moments which pass you by and vanish. I wanted to capture them and I thought being able to do so in an email was a good idea.&lt;/p&gt;

&lt;p&gt;That was in 2012. Fast forward over a decade and it turns out that my wife and I stuck with it. I checked last week and there are over 120 emails in there. Fleeting moments which we were able to capture. I’m really grateful for each one of them.&lt;/p&gt;

&lt;p&gt;He’s 16 and I’m planning to create a hardback book of all the emails to give him when he turns 18. So I’ve been going through those emails reliving some of the richest memories of my life. Most of the emails are of fun moments but I’ve sent some rather raw ones too. A couple of emails talk about the challenges and frustrations of trying to parent well. But they all end on the same note of unconditional love. I’m most excited for him to read those. As he grows into adulthood, I think those letters will be especially meaningful to him.&lt;/p&gt;

&lt;p&gt;Being on this side of it, 14 years later, it feels a bit surreal. 14 years of writing letters is a long time and it’s unlikely that I would have stuck with it. There were plenty of other ideas that I’m sure lasted a week or month before I got out of the habit. What made this stick was having the ability to send an email while lying in bed at night or attaching a note to a photo shortly after taking it.&lt;/p&gt;

&lt;p&gt;I have 3 other kids and fortunately I set up email addresses for them as well. My daughter is 14 and I’m pretty excited to go through the emails I’ve sent her. I have a unique relationship with each of my kids and it comes through in these letter. My 5 year old twins will have to wait a while and we’ve sent them fewer emails. But the gratefulness I feel for having them for my older kids is plenty motivation to make up for lost letters for my younger ones.&lt;/p&gt;

&lt;p&gt;If you have kids, I really recommend setting something like this up. It doesn’t feel like much at the start but as you approach the finish line it truly is a gift that’s hard to describe.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/letters-to-my-kids/&quot;&gt;Letters To My Kids&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on September 29, 2026.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Sojourn for iOS Was 45 One-Shot Prompts]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/sojourn-for-ios-was-45-one-shot-prompts/"/>
  <id>https://jaisenmathai.com/articles/sojourn-for-ios-was-45-one-shot-prompts</id>
  <published>2026-09-10T00:00:00-07:00</published>
  <updated>2026-09-10T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#sojourn" term="sojourn" /><category scheme="https://jaisenmathai.com/tags/#ai" term="ai" />
  <content type="html">
    &lt;p&gt;&lt;a href=&quot;https://trysojourn.app&quot;&gt;Sojourn: Topical Bible Study&lt;/a&gt; is an app I published without typing a single line of its code.&lt;/p&gt;

&lt;p&gt;That part isn’t interesting anymore. Plenty of people are writing code with AI. What I think is interesting is the process. Since ChatGPT 3.5, I’ve been a little bit obsessed about LLMs writing code. Not assisting me writing code, doing it all for me. While the process has evolved &lt;strong&gt;a lot&lt;/strong&gt;, I’m going to talk about where it’s at now and give an explaination.&lt;/p&gt;

&lt;h3 id=&quot;about-the-app&quot;&gt;About the app&lt;/h3&gt;
&lt;p&gt;The app is an iOS app written in Swift. It has a streaming chat interface which parses the incoming text in real time. This is done to eliminate hallucinations of scripture by replacing LLM generated citations with text from an app-bundled database. All scripture references are guaranteed to be correct and users can tap on them to explore surrounding verses and chapters. The UX of the app holds a high bar in terms of performance and usability.&lt;/p&gt;

&lt;p&gt;The app talks to a backend written in Python that connects to an LLM provider’s API. The backend exposes a &lt;code&gt;tool&lt;/code&gt; for scripture lookups instead of relying on the model to do it itself. Nothing about the user’s chats or identity is stored on the backend. It all lives only within the app itself.&lt;/p&gt;

&lt;h3 id=&quot;about-the-process&quot;&gt;About the process&lt;/h3&gt;
&lt;p&gt;I should define what I mean by &lt;em&gt;one-shot&lt;/em&gt;. It’s a single prompt that’s sufficient to implement an end-to-end feature regardless of complexity. In reality, there may be a couple follow up prompts to tweak something here and there. But mostly, it should be 0 follow up prompts.&lt;/p&gt;

&lt;h3 id=&quot;baseline-context&quot;&gt;Baseline context&lt;/h3&gt;
&lt;p&gt;I spent multiple days co-drafting the user experience and features I wanted in the app using Claude Design. The home page of the website embeds the artifact of that work as an iframe - you can see it on the app’s &lt;a href=&quot;https://trysojourn.app&quot;&gt;Sojourn: Topical Bible Study&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;This iframe ended up becoming a major input source for when I started creating the actual iOS app. Turns out Claude Code can understand a functional prototype quite deeply. So much so that the user experience of the app is nearly identical to what Claude Design generated. This was a pleasant surprise.&lt;/p&gt;

&lt;p&gt;I also created a bunch of markdown content that’s stored in &lt;code&gt;CLAUDE.md&lt;/code&gt; and adjacent artifacts which outline product definitions and constraints. For example, privacy is a cornerstone and it explicitly states that the app should never collect personally identifiable analytics.&lt;/p&gt;

&lt;p&gt;This baseline context is created once, updated automatically, and guides the following steps.&lt;/p&gt;

&lt;h3 id=&quot;spec&quot;&gt;&lt;code&gt;/spec&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Ever feature starts by me using a skill named &lt;code&gt;/spec&lt;/code&gt;. This is where I take my time collaborating with AI to fully define everything about the feature including happy path, failure modes, look &amp;amp; feel, architecture and testing.&lt;/p&gt;

&lt;p&gt;Every feature is stored as a GitHub issue. Once I feel the feature is adequately described, I give it the go ahead to create the GitHub issue based on a template in the skill. The issue title is a short summary of the feature and the description is a detailed explanation of it.&lt;/p&gt;

&lt;h3 id=&quot;gh-issue&quot;&gt;&lt;code&gt;/gh-issue&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Implementing a feature is as simple as me using the &lt;code&gt;/gh-issue&lt;/code&gt; skill and passing the &lt;em&gt;issue number&lt;/em&gt; to it. I generally get up and leave the room at this point. The skill does all sorts of cool things like looking up other issues or pull requests if they’re mentioned. Sometimes I’ll have two unimplemented features each with their own GitHub issue and I make sure they reference each other. This way, when implementing the first it knows to look up the second and proceed accordingly.&lt;/p&gt;

&lt;p&gt;Once finished, it automatically creates a pull request.&lt;/p&gt;

&lt;p&gt;I often kick this off before going to bed and wake up to a new feature in my app.&lt;/p&gt;

&lt;h3 id=&quot;publishing-and-deploying&quot;&gt;Publishing and deploying&lt;/h3&gt;
&lt;p&gt;I still do this by hand. But it’s still fully automated through scripts like &lt;code&gt;run.sh&lt;/code&gt; which runs the app in the simulator, &lt;code&gt;deploy-to-device.sh&lt;/code&gt; which installs it directly on my iPhone, and &lt;code&gt;release.sh&lt;/code&gt; which publishes it App Store Connect to be published.&lt;/p&gt;

&lt;p&gt;Nothing is one-off or done by hand. If I have to do it once, it gets automated into a skill or script. I recently switched laptops and getting up and running was quite smooth once I transferred App Store Connect keys.&lt;/p&gt;

&lt;p&gt;For other projects, I have a &lt;code&gt;/gh-pr&lt;/code&gt; skill which merges the pull request and deploys it. Works great for web apps but I don’t want every feature to be published to Test Flight or the App Store - so I batch them as I see fit.&lt;/p&gt;

&lt;h3 id=&quot;some-examples&quot;&gt;Some examples&lt;/h3&gt;
&lt;p&gt;A feature I really enjoy is the &lt;em&gt;home screen widget&lt;/em&gt;. It was 2,466 lines of code across 27 files. This included a new WidgetKit extension, a shared app group, a verse pool, deep links back into the app, and the XcodeGen config to build it. One issue. One prompt. One PR.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2026-09-10-sojourn-widget.png&quot; alt=&quot;The Sojourn home screen widget showing a Psalms 88 passage under the heading DESPAIR&quot; /&gt;
	&lt;figcaption&gt;The home screen widget - one issue, one prompt, one PR.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Another feature I’m testing out is &lt;em&gt;emailing yourself a conversation&lt;/em&gt;. It was 2,412 lines of code across 21 files, and it spans the client, the backend, and an email delivery provider. Also one issue.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2026-09-10-sojourn-email-conversation.png&quot; alt=&quot;The bottom of a Sojourn conversation showing an Email this to me action above the message input&quot; /&gt;
	&lt;figcaption&gt;Emailing yourself a conversation, tucked in above the message field.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Neither of those is a small feature, and neither is a boilerplate feature. What made them work is that the spec had already settled the hard questions.&lt;/p&gt;

&lt;h3 id=&quot;hows-it-going&quot;&gt;How’s it going?&lt;/h3&gt;
&lt;p&gt;Excellent. The limiting factor is shepherding the user experience of the app. Just because you can add multiple features a day doesn’t mean you should. I take my time &lt;a href=&quot;/articles/latent-product-development/&quot;&gt;thinking through a feature until it feels right&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So far I’ve created 49 GitHub issues and closed 45 of them in a matter of weeks. That’s 45 features implemented. The 4 open issues are features or bug fixes I haven’t felt are important enough to do yet.&lt;/p&gt;

&lt;p&gt;Now that you know how the sausage is made, download &lt;a href=&quot;https://apps.apple.com/us/app/trysojourn/id6792011966&quot;&gt;Sojourn: Topical Bible Study&lt;/a&gt; and let me know what you think by clicking my email address in the footer.&lt;/p&gt;

&lt;h3 id=&quot;caveats&quot;&gt;Caveats&lt;/h3&gt;
&lt;p&gt;I happen to have an immense breadth of experience. I’ve been building things professionally for decades including launching several startups. That’s given me pretty deep expertise across design, development, infrastructure, marketing…you name it. It’s a unique advantage when paired with AI and one I’m grateful for.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/sojourn-for-ios-was-45-one-shot-prompts/&quot;&gt;Sojourn for iOS Was 45 One-Shot Prompts&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on September 10, 2026.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Big Tech Wants To Be Your Bible Translator]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/faith-and-ai/big-tech-wants-to-be-your-bible-translator/"/>
  <id>https://jaisenmathai.com/faith-and-ai/big-tech-wants-to-be-your-bible-translator</id>
  <published>2026-09-01T00:00:00-07:00</published>
  <updated>2026-09-01T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#sojourn" term="sojourn" /><category scheme="https://jaisenmathai.com/tags/#ai" term="ai" />
  <content type="html">
    &lt;p&gt;Throughout history, immense trust has been placed in those who could translate the Bible. Either into a new language or into layman’s terms. Mediation, what stands between you and the original text, is sacred.&lt;/p&gt;

&lt;p&gt;Every new technology has pushed the envelope on mediation. The printing press, the Internet, mobile devices. But they all shared one thing in common: they increased accessibility to trusted versions of scripture.&lt;/p&gt;

&lt;p&gt;AI is the first widely adopted technology which doesn’t have that in common.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The incentive is to keep you in chat, not direct you to scripture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Googles and Facebooks of the world make more money the longer you stay on their platform. This is because they can show you more ads. If you spend 20 minutes on Facebook instead of 10, they make twice as much money because they can show you double the number of ads.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Big Tech really want to be a mediator?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Set aside the financial motivation. You only have to look at how Google Search has evolved.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2026-09-01-google-ai-overview.png&quot; alt=&quot;Google search for &apos;what does Luke 12:13 say?&apos; showing an AI Overview that paraphrases the passage inline&quot; /&gt;
	&lt;figcaption&gt;Ask Google today and it mediates in place...an AI Overview that keeps you on the results page.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2026-09-01-google-bible-gateway.png&quot; alt=&quot;The same Google search showing a Bible Gateway result linking to Luke 12:13-21&quot; /&gt;
	&lt;figcaption&gt;The same query once led here...a link out to Bible Gateway and the actual text.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;This is more subtle than a wrong verse&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I’ve &lt;a href=&quot;/faith-and-ai/the-risk-and-opportunity-of-ai-for-faith/&quot;&gt;written before&lt;/a&gt; about AI misquoting scripture, and that’s a real problem. But a wrong citation is at least catchable. You can check it.&lt;/p&gt;

&lt;p&gt;A mediator who is motivated to be a persistent interpreter is harder to notice, because it doesn’t quite feel like you’re losing anything. They are helpful, warm, encouraging and talk about scripture. But they don’t want you to leave and become immersed in the word and that’s where convenience turns harmful.&lt;/p&gt;

&lt;p&gt;Paul lays out an example of how we’re to engage in scripture in Acts.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Now these were more noble than those in Thessalonica, in that they received the word with all readiness of mind, &lt;strong&gt;examining the Scriptures&lt;/strong&gt; daily to see whether these things were so. - &lt;button type=&quot;button&quot; class=&quot;peek-trigger&quot; data-peek-open=&quot;acts-17&quot;&gt;Acts 17:11 WEB&lt;/button&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They didn’t rely on the mediator. They went to the source.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does good faith-based AI look?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, then, what does AI that’s helpful to deepen our faith look? I think it starts with incentive.&lt;/p&gt;

&lt;p&gt;My exploration into this space, &lt;a href=&quot;https://trysojourn.app&quot;&gt;Sojourn: Topical Bible Study&lt;/a&gt;, measures success when &lt;a href=&quot;/faith-and-ai/getting-people-out-of-chat-and-into-scripture/&quot;&gt;you get out of chat and into scripture&lt;/a&gt; and is free to use. I’m learning first hand the incentives which point this new technology towards a deepened faith.&lt;/p&gt;

&lt;p&gt;AI is a powerful tool for good … when in the right hands.&lt;/p&gt;

&lt;div class=&quot;peek-backdrop&quot; data-peek-backdrop=&quot;&quot; aria-hidden=&quot;true&quot;&gt;&lt;/div&gt;

&lt;aside class=&quot;peek&quot; data-peek=&quot;acts-17&quot; role=&quot;dialog&quot; aria-modal=&quot;true&quot; aria-label=&quot;Acts 17:10 to 12&quot;&gt;
	&lt;div class=&quot;peek-head&quot;&gt;
		&lt;div class=&quot;peek-grip&quot;&gt;&lt;/div&gt;
		&lt;div class=&quot;row&quot;&gt;
			&lt;div&gt;
				&lt;div class=&quot;peek-kicker&quot;&gt;The Bereans examine the Scriptures&lt;/div&gt;
				&lt;h2&gt;Acts 17:10&amp;ndash;12&lt;/h2&gt;
			&lt;/div&gt;
			&lt;button class=&quot;peek-close&quot; data-peek-close=&quot;&quot; aria-label=&quot;Close&quot;&gt;&amp;times;&lt;/button&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;peek-body&quot;&gt;
		&lt;p&gt;
			&lt;span class=&quot;vn&quot;&gt;10&lt;/span&gt;The brothers immediately sent Paul and Silas away by night to Beroea. When they arrived, they went into the Jewish synagogue.
			&lt;span class=&quot;vn&quot;&gt;11&lt;/span&gt;Now these were more noble than those in Thessalonica, in that they received the word with all readiness of mind, examining the Scriptures daily to see whether these things were so.
			&lt;span class=&quot;vn&quot;&gt;12&lt;/span&gt;Many of them therefore believed; also of the prominent Greek women, and not a few men.
		&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class=&quot;peek-foot&quot;&gt;
		&lt;span&gt;World English Bible &amp;middot; public domain&lt;/span&gt;
	&lt;/div&gt;
&lt;/aside&gt;

&lt;script src=&quot;/assets/js/nocturne-peek.js&quot;&gt;&lt;/script&gt;


    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/faith-and-ai/big-tech-wants-to-be-your-bible-translator/&quot;&gt;Big Tech Wants To Be Your Bible Translator&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on September 01, 2026.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Getting People Out Of Chat And Into Scripture]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/faith-and-ai/getting-people-out-of-chat-and-into-scripture/"/>
  <id>https://jaisenmathai.com/faith-and-ai/getting-people-out-of-chat-and-into-scripture</id>
  <published>2026-08-25T00:00:00-07:00</published>
  <updated>2026-08-25T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#sojourn" term="sojourn" /><category scheme="https://jaisenmathai.com/tags/#ai" term="ai" />
  <content type="html">
    &lt;p&gt;I wanted to explore how AI could help deepen my faith. I enjoyed using Claude to research topics which were on my mind. It does a good job finding and quoting scripture but a poor job of letting me explore surrounding verses. I wanted an experience similar to what I was having but optimized to get me into scripture and not stay in chat.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Let’s set aside the fact that LLMs hallucinate scripture, Sojourn solves that but it’s for another post.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I used &lt;a href=&quot;/articles/latent-product-development/&quot;&gt;a few weeks of latent time&lt;/a&gt; to think about what was missing in my experience with Claude. I wanted a very lightweight way to peek into scripture with similar lightweight ways to fully immerse myself in it. I also wanted a way to work back to earlier context. I sketched out how that would look and it turned out that I loved the experience - &lt;em&gt;(see &lt;a href=&quot;https://trysojourn.app&quot;&gt;Sojourn - Bible Study&lt;/a&gt;)&lt;/em&gt;. Here’s how it looks.&lt;/p&gt;

&lt;figure class=&quot;shots&quot;&gt;
	&lt;div class=&quot;shots-row shots-row--4&quot;&gt;
		&lt;figure&gt;
			&lt;img src=&quot;/images/photos/2026-08-25-sojourn-envy-chat-response.png&quot; alt=&quot;TODO: describe this screenshot&quot; /&gt;
			&lt;figcaption&gt;1. Citations are exact, tappable&lt;/figcaption&gt;
		&lt;/figure&gt;
		&lt;figure&gt;
          	&lt;img src=&quot;/images/photos/2026-08-25-sojourn-envy-verse-card.png&quot; alt=&quot;TODO: describe this screenshot&quot; /&gt;
			&lt;figcaption&gt;2. The full verse, one tap away&lt;/figcaption&gt;
		&lt;/figure&gt;
		&lt;figure&gt;
			&lt;img src=&quot;/images/photos/2026-08-25-sojourn-envy-chapter-view.png&quot; alt=&quot;TODO: describe this screenshot&quot; /&gt;
			&lt;figcaption&gt;3. Read the full chapter&lt;/figcaption&gt;
		&lt;/figure&gt;
		&lt;figure&gt;
			&lt;img src=&quot;/images/photos/2026-08-25-sojourn-envy-chapter-highlight.png&quot; alt=&quot;TODO: describe this screenshot&quot; /&gt;
			&lt;figcaption&gt;4. Access the surrounding chapters&lt;/figcaption&gt;
		&lt;/figure&gt;
	&lt;/div&gt;
&lt;/figure&gt;

&lt;p&gt;I thought that others may appreciate exploring scripture this way. I published the app to TestFlight and shared it with people I knew. Turns out that they did like it!&lt;/p&gt;

&lt;figure class=&quot;shots&quot;&gt;
	&lt;div class=&quot;shots-row&quot;&gt;
		&lt;img src=&quot;/images/photos/2026-08-25-sojourn-feedback-fruits-of-it.jpg&quot; alt=&quot;Text message reading: I wanted to hear more about your development and hopes with the Sojourn app. I&apos;ve been pretty engaged with it. Really enjoying the fruits of it&quot; /&gt;
		&lt;img src=&quot;/images/photos/2026-08-25-sojourn-feedback-loved-it.jpg&quot; alt=&quot;Text messages reading: Excellent, I&apos;ll check it out. Woah, that was unlike any devotional experience I&apos;ve had with an app. It prompted me in challenging ways using scriptural support. I am set to pray a short line when I brew my coffee tomorrow. Loved it&quot; /&gt;
		&lt;img src=&quot;/images/photos/2026-08-25-sojourn-feedback-name-of-app.jpg&quot; alt=&quot;Text message reading: Jaisen, what is the name of your Bible App?&quot; /&gt;
    &lt;/div&gt;
	&lt;figcaption&gt;Notes from early TestFlight users.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The feedback motivated me to publish it on the App Store to the world for free. Would strangers find it as useful as friends? Turns out, yes. They also liked it!&lt;/p&gt;

&lt;p&gt;Devotional time is deeply personal and &lt;a href=&quot;https://trysojourn.app/privacy/&quot;&gt;Sojourn: Topical Bible Study’s privacy policy&lt;/a&gt; reflects that. The app doesn’t ask for any information before you can use it and chats are never saved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting people out of chat and into scripture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So how do I know strangers find it useful? Well, two anonymous metrics. Many use the app multiple times a week and many exit the chat and get deep into scripture. Here’s an example of a conversation that lasted 18 minutes and followed a common pattern of &lt;em&gt;chat ⭢ scripture ⭢ chat ⭢ scripture&lt;/em&gt;. Notice they spent 13 minutes in scripture. That’s 13 minutes well spent!&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2026-08-25-sojourn-conversation-tap.png&quot; alt=&quot;A timeline of an 18 minute Sojourn conversation: three messages, then a citation tap into James 1:17 and the full chapter, thirteen minutes of silence, then a fourth message and a tap into 2 Corinthians 9:15&quot; /&gt;
	&lt;figcaption&gt;Circles are chat turns. Diamonds are moments the person left chat for scripture.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;This has me really optimistic about positive uses of AI for faith. I encourage other Christ followers to do the same and think about ways AI can be a means and not the end.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/faith-and-ai/getting-people-out-of-chat-and-into-scripture/&quot;&gt;Getting People Out Of Chat And Into Scripture&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on August 25, 2026.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[The Risk and Opportunity of AI for Faith]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/faith-and-ai/the-risk-and-opportunity-of-ai-for-faith/"/>
  <id>https://jaisenmathai.com/faith-and-ai/the-risk-and-opportunity-of-ai-for-faith</id>
  <published>2026-08-12T00:00:00-07:00</published>
  <updated>2026-08-12T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#sojourn" term="sojourn" /><category scheme="https://jaisenmathai.com/tags/#ai" term="ai" />
  <content type="html">
    &lt;p&gt;Generative AI is simultaneously the most powerful and most dangerous technology to our faith.&lt;/p&gt;

&lt;p&gt;Scripture has always taken the shape of the medium which carried it. In the Old Testament, Israel carried God’s word across generations through oral tradition.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;We will not hide them from their children, telling to the generation to come the praises of Yahweh, his strength, and his wondrous works that he has done. - &lt;button type=&quot;button&quot; class=&quot;peek-trigger&quot; data-peek-open=&quot;psalm-78&quot;&gt;Psalm 78:4 WEB&lt;/button&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As time went on, oral traditions evolved to writing, copying, and preserving. God instructed Isaiah to do exactly that and these manuscripts remain in existence today.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Now go, write it before them on a tablet, and inscribe it in a book, that it may be for the time to come forever and ever. - &lt;button type=&quot;button&quot; class=&quot;peek-trigger&quot; data-peek-open=&quot;isaiah-30&quot;&gt;Isaiah 30:8 WEB&lt;/button&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Scripture then crossed language boundaries. It started becoming translated; from Hebrew to Greek to Latin to over a thousand languages today.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;He said, “How can I, unless someone explains it to me?” He begged Philip to come up and sit with him. - &lt;button type=&quot;button&quot; class=&quot;peek-trigger&quot; data-peek-open=&quot;acts-8&quot;&gt;Acts 8:31 WEB&lt;/button&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then the printing press made scripture reproducible at scale. The internet made it accessible. The mobile phone put it in everyone’s pocket. Now AI makes it conversational.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it goes wrong&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI isn’t held accountable by the truth. Whatever it tells you, it says it with confidence. Even when it performs verifiable tasks incorrectly. Like misquoting scripture; which the YouVersion CEO claims it can do 15-60% of the time. We trust the response without understanding how it was formed. It’s simply too large of a responsibility to hand companies like Google, OpenAI or Anthropic.&lt;/p&gt;

&lt;p&gt;And the risk isn’t new or hypothetical; there’s research backing it up. John Dyer surveyed Bible app users for his book, &lt;em&gt;&lt;a href=&quot;https://global.oup.com/academic/product/people-of-the-screen-9780197636350&quot;&gt;People of the Screen&lt;/a&gt;&lt;/em&gt;, and found that 30% of screen readers came away confused, compared to 16% of print readers, and fewer of them felt spiritually nourished. That’s Bible apps without AI. Extend that research to a chat interface and you can envision the direction it goes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it goes right&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the same breath, AI can be immensely powerful. It makes scripture accessible across languages and reading levels in ways study Bibles and apps cannot. I’ve personally asked AI questions I would only ask 1 or 2 people I trust - but at 1am when no one was awake. I’ve also asked it some questions I’m not courageous enough to ask anyone.&lt;/p&gt;

&lt;p&gt;I’m exploring this topic with optimism. Can AI deepen faith? Can it direct people away from itself? Can it be made free to use? I’m finding the answers to be &lt;em&gt;yes&lt;/em&gt; and that has me excited. As Christ followers, we are called to spread the good news. We need to take the reins before the Googles of the world doing it inadvertently.&lt;/p&gt;

&lt;p&gt;For those curious - my current exploration is through an app I created named &lt;a href=&quot;https://trysojourn.app&quot;&gt;Sojourn: Topical Bible Study&lt;/a&gt;. I think it’s doing a good job of &lt;a href=&quot;/faith-and-ai/getting-people-out-of-chat-and-into-scripture/&quot;&gt;getting people out of chat and into scripture&lt;/a&gt;. If you’re exploring, I’d love to chat.&lt;/p&gt;

&lt;div class=&quot;peek-backdrop&quot; data-peek-backdrop=&quot;&quot; aria-hidden=&quot;true&quot;&gt;&lt;/div&gt;

&lt;aside class=&quot;peek&quot; data-peek=&quot;psalm-78&quot; role=&quot;dialog&quot; aria-modal=&quot;true&quot; aria-label=&quot;Psalm 78:1 to 4&quot;&gt;
	&lt;div class=&quot;peek-head&quot;&gt;
		&lt;div class=&quot;peek-grip&quot;&gt;&lt;/div&gt;
		&lt;div class=&quot;row&quot;&gt;
			&lt;div&gt;
				&lt;div class=&quot;peek-kicker&quot;&gt;Asaph&apos;s call to remember&lt;/div&gt;
				&lt;h2&gt;Psalm 78:1&amp;ndash;4&lt;/h2&gt;
			&lt;/div&gt;
			&lt;button class=&quot;peek-close&quot; data-peek-close=&quot;&quot; aria-label=&quot;Close&quot;&gt;&amp;times;&lt;/button&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;peek-body&quot;&gt;
		&lt;p&gt;
			&lt;span class=&quot;vn&quot;&gt;1&lt;/span&gt;Hear my law, my people. Turn your ears to the words of my mouth.
			&lt;span class=&quot;vn&quot;&gt;2&lt;/span&gt;I will open my mouth in a parable. I will utter dark sayings of old,
			&lt;span class=&quot;vn&quot;&gt;3&lt;/span&gt;which we have heard and known, our fathers have told us.
			&lt;span class=&quot;vn&quot;&gt;4&lt;/span&gt;We will not hide them from their children, telling to the generation to come the praises of Yahweh, his strength, and his wondrous works that he has done.
		&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class=&quot;peek-foot&quot;&gt;
		&lt;span&gt;World English Bible &amp;middot; public domain&lt;/span&gt;
	&lt;/div&gt;
&lt;/aside&gt;

&lt;aside class=&quot;peek&quot; data-peek=&quot;isaiah-30&quot; role=&quot;dialog&quot; aria-modal=&quot;true&quot; aria-label=&quot;Isaiah 30:8 to 11&quot;&gt;
	&lt;div class=&quot;peek-head&quot;&gt;
		&lt;div class=&quot;peek-grip&quot;&gt;&lt;/div&gt;
		&lt;div class=&quot;row&quot;&gt;
			&lt;div&gt;
				&lt;div class=&quot;peek-kicker&quot;&gt;Why God tells Isaiah to write it down&lt;/div&gt;
				&lt;h2&gt;Isaiah 30:8&amp;ndash;11&lt;/h2&gt;
			&lt;/div&gt;
			&lt;button class=&quot;peek-close&quot; data-peek-close=&quot;&quot; aria-label=&quot;Close&quot;&gt;&amp;times;&lt;/button&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;peek-body&quot;&gt;
		&lt;p&gt;
			&lt;span class=&quot;vn&quot;&gt;8&lt;/span&gt;Now go, write it before them on a tablet, and inscribe it in a book, that it may be for the time to come forever and ever.
			&lt;span class=&quot;vn&quot;&gt;9&lt;/span&gt;For it is a rebellious people, lying children, children who will not hear the law of Yahweh;
			&lt;span class=&quot;vn&quot;&gt;10&lt;/span&gt;who tell the seers, &amp;ldquo;Don&amp;rsquo;t see;&amp;rdquo; and to the prophets, &amp;ldquo;Don&amp;rsquo;t prophesy to us right things, speak to us smooth things, prophesy deceits,
			&lt;span class=&quot;vn&quot;&gt;11&lt;/span&gt;get you out of the way, turn aside out of the path, cause the Holy One of Israel to cease from before us.&amp;rdquo;
		&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class=&quot;peek-foot&quot;&gt;
		&lt;span&gt;World English Bible &amp;middot; public domain&lt;/span&gt;
	&lt;/div&gt;
&lt;/aside&gt;

&lt;aside class=&quot;peek&quot; data-peek=&quot;acts-8&quot; role=&quot;dialog&quot; aria-modal=&quot;true&quot; aria-label=&quot;Acts 8:26 to 31&quot;&gt;
	&lt;div class=&quot;peek-head&quot;&gt;
		&lt;div class=&quot;peek-grip&quot;&gt;&lt;/div&gt;
		&lt;div class=&quot;row&quot;&gt;
			&lt;div&gt;
				&lt;div class=&quot;peek-kicker&quot;&gt;Philip and the Ethiopian&lt;/div&gt;
				&lt;h2&gt;Acts 8:26&amp;ndash;31&lt;/h2&gt;
			&lt;/div&gt;
			&lt;button class=&quot;peek-close&quot; data-peek-close=&quot;&quot; aria-label=&quot;Close&quot;&gt;&amp;times;&lt;/button&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class=&quot;peek-body&quot;&gt;
		&lt;p&gt;
			&lt;span class=&quot;vn&quot;&gt;26&lt;/span&gt;But an angel of the Lord spoke to Philip, saying, &amp;ldquo;Arise, and go toward the south to the way that goes down from Jerusalem to Gaza. This is a desert.&amp;rdquo;
			&lt;span class=&quot;vn&quot;&gt;27&lt;/span&gt;He arose and went. Behold, there was a man of Ethiopia, a eunuch of great authority under Candace, queen of the Ethiopians, who was over all her treasure, who had come to Jerusalem to worship.
			&lt;span class=&quot;vn&quot;&gt;28&lt;/span&gt;He was returning and sitting in his chariot, and was reading the prophet Isaiah.
			&lt;span class=&quot;vn&quot;&gt;29&lt;/span&gt;The Spirit said to Philip, &amp;ldquo;Go near, and join yourself to this chariot.&amp;rdquo;
			&lt;span class=&quot;vn&quot;&gt;30&lt;/span&gt;Philip ran to him, and heard him reading Isaiah the prophet, and said, &amp;ldquo;Do you understand what you are reading?&amp;rdquo;
			&lt;span class=&quot;vn&quot;&gt;31&lt;/span&gt;He said, &amp;ldquo;How can I, unless someone explains it to me?&amp;rdquo; He begged Philip to come up and sit with him.
		&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class=&quot;peek-foot&quot;&gt;
		&lt;span&gt;World English Bible &amp;middot; public domain&lt;/span&gt;
	&lt;/div&gt;
&lt;/aside&gt;

&lt;script src=&quot;/assets/js/nocturne-peek.js&quot;&gt;&lt;/script&gt;


    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/faith-and-ai/the-risk-and-opportunity-of-ai-for-faith/&quot;&gt;The Risk and Opportunity of AI for Faith&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on August 12, 2026.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Giving In To Generosity]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/generosity/giving-in-to-generosity/"/>
  <id>https://jaisenmathai.com/generosity/giving-in-to-generosity</id>
  <published>2026-03-04T00:00:00-08:00</published>
  <updated>2026-03-04T00:00:00-08:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#generosity" term="generosity" />
  <content type="html">
    &lt;p&gt;The Bible has a lot to say about generosity. While it doesn’t only talk about money, that’s what I’m writing about today.&lt;/p&gt;

&lt;p&gt;Secularly speaking, I’ve had a very healthy relationship with money. I live within my means and save diligently.&lt;/p&gt;

&lt;p&gt;Biblically speaking, I’ve struggled. I tithe regularly and often give generously beyond that. But money has a way of pulling me toward security and status. Financial security, early retirement and proving to myself and others that &lt;em&gt;I made it&lt;/em&gt; are all real ways that money takes my eyes off what really matters. Biblical generosity has nothing to do with the money and everything to do with honoring God. It’s a subtle but massively important distinction.&lt;/p&gt;

&lt;p&gt;In my core, I know that I want unadulterated devotion in my faith. While I can be ruthless to myself, my faith lets me be equally gracious. This means I get to be fully honest and really explore my motives. Because, on the surface they are fine. Financial security can be masked as providing for my family.&lt;/p&gt;

&lt;p&gt;Giving in to generosity means I need to systematize it. It needs to be on autopilot to avoid the risk of me mucking around with it. I’m still learning how to do this but here’s what I’ve come up with so far.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Donor Advised Funds&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I initially looked into DAFs because of their tax efficiency. I do love that about them. But what I love more is that they let you take large steps of faith. We donated 5 years worth of charitable giving at the start of 2026 to our DAF. It was quite frightening because once I clicked that button, there was no way to claw the money back.&lt;/p&gt;

&lt;p&gt;I contemplated doing it for weeks. But once I did it, I felt complete relief. All the fear I had vanished. I was surprised.&lt;/p&gt;

&lt;p&gt;I was more surprised in the weeks after as my attitude towards the funds in our DAF shifted from &lt;em&gt;we will spend this over 5 years&lt;/em&gt; to &lt;em&gt;I think we can probably spend it all this year&lt;/em&gt;. Taking that first step and clicking the button flooded my heart with generosity. It’s a couple months later, and that hasn’t changed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Charitable Business Ventures&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I have a penchant for building things, trying to get others to use them, and trying to turn that into a business.&lt;/p&gt;

&lt;p&gt;If it’s inevitable that I do that, why not try and weave generosity into it?&lt;/p&gt;

&lt;p&gt;I’m interested in how artificial intelligence changes what a business model has to be. Work that used to take a team and a budget can now be done by one person for almost nothing. When building and running something costs close to zero, charging for it stops being a requirement.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://trysojourn.app&quot;&gt;Sojourn: Topical Bible Study&lt;/a&gt; is my example. It’s free to use with nothing to buy, so the only thing it has to do is get people further into scripture.&lt;/p&gt;

&lt;p&gt;This idea particularly interests me because it lets me pursue something that feels natural to me while orienting it towards generosity from the start.&lt;/p&gt;

&lt;p&gt;Sometimes I think that in the grand scheme of things that all of this is silly. And in some ways, from the outside, it is. But when we lift our eyes to God, He begins work on the inside.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/generosity/giving-in-to-generosity/&quot;&gt;Giving In To Generosity&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on March 04, 2026.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[My Ridiculously Robust Photo Management System (Immich Edition)]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/my-ridiculously-robust-photo-management-system-immich-edition/"/>
  <id>https://jaisenmathai.com/articles/my-ridiculously-robust-photo-management-system-immich-edition</id>
  <published>2026-01-16T00:00:00-08:00</published>
  <updated>2026-01-16T00:00:00-08:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#photo-management" term="photo-management" />
  <content type="html">
    &lt;p&gt;TL;DR: Changes to albums, descriptions, location, date/time and favorites through Immich are stored in the photo’s EXIF and automatically backed up to my Synology NAS and into Dropbox; no database needed. Below is a video for those who prefer to watch instead of read.&lt;/p&gt;

&lt;p&gt;I created a simpler version of the plugin I use that is suitable for those with their own workflows which might differ from mine. It’s available at &lt;a href=&quot;https://github.com/jmathai/immich-exif&quot;&gt;immich-exif&lt;/a&gt;.&lt;/p&gt;

&lt;div style=&quot;position: relative; padding-bottom: 62.5%; height: 0;&quot; id=&quot;inline-embed-container&quot;&gt;
  &lt;/div&gt;
&lt;script&gt;window.neetoRecord = window.neetoRecord || { embed: function(){(neetoRecord.q=neetoRecord.q||[]).push(arguments)} };&lt;/script&gt;

&lt;script async=&quot;&quot; src=&quot;https://lattice.neetorecord.com/javascript/embed.js&quot;&gt;
  &lt;/script&gt;

&lt;script&gt;
    neetoRecord.embed({
      type: &quot;inline&quot;,
      id: &quot;c1ad81a2-5f96-443b-9f74-83f4065c957e&quot;,
      organization: &quot;lattice&quot;,
      elementSelector: &quot;#inline-embed-container&quot;,
      styles: &quot;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none;&quot;, 
    });
  &lt;/script&gt;

&lt;hr /&gt;

&lt;p&gt;I’ve been working on my photo management and archiving workflow for over 2 decades. It’s changed a lot over that time but usually in bursts. It works really well and I don’t have to touch it much.&lt;/p&gt;

&lt;p&gt;By far, the most durable aspect of my photo management workflow is that it &lt;strong&gt;only&lt;/strong&gt; relies on EXIF to store metadata about photos. No reliance on an external database to keep track of descriptions, favorites or albums. I’m not sure of any other workflow which does this but I think they all should. But we’re not here to talk about that. I want to tell you all how I’m using Immich.&lt;/p&gt;

&lt;p&gt;I outlined my philosophy for photo management in detail in &lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;another post&lt;/a&gt; but I’ll summarize them here in order of importance.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Preserve.&lt;/strong&gt; My photo library needs to be future-proof for decades into the future.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Unify.&lt;/strong&gt; Photos from my wife and my phones need to be combined into a single library.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Experience.&lt;/strong&gt; The photos and videos need to come to life and help us re-experience the moments when they were taken.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I was &lt;a href=&quot;/articles/my-automated-photo-workflow-using-google-photos-and-elodie/&quot;&gt;using Google Photos as a read-only viewer&lt;/a&gt; of my photos and fell in love with the discovery features. But a &lt;a href=&quot;https://blog.google/products-and-platforms/products/photos/simplifying-google-photos-and-google-drive/&quot;&gt;change&lt;/a&gt; back in 2019 to how Google Photos and Google Drive worked together broke my workflow.&lt;/p&gt;

&lt;p&gt;The primary source of my photos is my Synology NAS at home. I organize my photos using a &lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;simple command-line tool, named Elodie, &lt;/a&gt; that I wrote over 10 years ago that’s grown to 10k lines of code, 1,300 stars and 150 forks. The best way to describe it is that it materializes your photo library onto the file system using only the EXIF. It’s my canonical organizer.&lt;/p&gt;

&lt;p&gt;I clobbered together a plugin for Elodie that would &lt;a href=&quot;https://github.com/jmathai/elodie/tree/master/elodie/plugins/googlephotos&quot;&gt;replace the Google Drive + Google Photos capabilities&lt;/a&gt; that Google deprecated. This let me continue using Google Photos as a read-only viewer for my photos. But I was growing tired of relying on Google services and especially handing over all of the data embedded in my photos. So I stopped using Google Photos.&lt;/p&gt;

&lt;p&gt;I was left with several years of not having a great way to view my photos. I desire a richer experience than the folder-based default experience I have with Synology and Dropbox. I was very optimistic about Synology Photos but it was unfortunately underwhelming. Maybe because my Synolgoy NAS is 10 years old but I also didn’t want to upgrade it.&lt;/p&gt;

&lt;p&gt;I’ve been hearing a lot of positive feedback from others about Immich and had been keeping a close eye on it. At the end of 2025, I decided to take a closer look. The aha moment was when I learned about &lt;a href=&quot;https://docs.immich.app/guides/external-library/&quot;&gt;external libraries&lt;/a&gt;. If you’re not familiar with them, they’re existing folders that you can tell Immich about and it’ll add them to your photo library. Most importantly, you can mount them as read-only.&lt;/p&gt;

&lt;p&gt;I immediately drew paralells to my prior use of Google Photos. I quickly determined that I could restore what I lost with Google Photos using Immich. But I wondered … what if I could do more? Been wondering for a few years, actually.&lt;/p&gt;

&lt;figure&gt;
	&lt;a href=&quot;https://x.com/jmathai/status/1587163999900037121&quot;&gt;
		&lt;img src=&quot;/images/photos/2022-10-31-elodie-easier-interface-tweet.png&quot; alt=&quot;Tweet from @jmathai: I’ve been thinking, for years, about an easier interface to manage my photos using @getelodie (the Github version) than the command line.&quot; /&gt;
	&lt;/a&gt;
	&lt;figcaption&gt;Wondering about an easier interface than the command line. October 31, 2022.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Turns out the answer is yes. I was able to turn Immich from a read-only viewer to a full fledged way to organize my photos while relying only on EXIF. Now, Immich doesn’t modify EXIF of photos. Instead, it stores information into its Postgres database. Immich &lt;em&gt;can&lt;/em&gt; &lt;a href=&quot;https://docs.immich.app/features/xmp-sidecars/&quot;&gt;read from and write to XMP sidecar files&lt;/a&gt;. But sidecars are too clunky for me. I want &lt;em&gt;everything&lt;/em&gt; embeded in the photo file itself. As far as I understand, Immich authors don’t want to edit the original photo file. I get their reasoning but I still want to be able to.&lt;/p&gt;

&lt;p&gt;What I thought would require a 4 hour session with Claude Code turned into a two week rendevous learning a lot more than I anticipated about how Immich works. External libraries are great but there are some obvious gotchas with how Elodie works. If you add a photo to an album using Elodie then it will update the photo’s EXIF and &lt;em&gt;also&lt;/em&gt; move the photo into a folder with the name of the album. To Immich, this is interpretted as deleting the original file and creating a new one. This creates all sorts of challenges but I was able to solve it using an &lt;a href=&quot;https://en.wikipedia.org/wiki/Eventual_consistency&quot;&gt;eventually consistent&lt;/a&gt; approach. This means, all of the changes are stored and will eventually materialize.&lt;/p&gt;

&lt;p&gt;There were other smaller challenges but I was able to overcome them all with some elbow grease. Immich’s API is pretty great and I’m probably just scratching the surface. But for now, I’ve been spending a lot of time enjoying my photos like I haven’t been able to for a while without compromising my core principles for making sure they’re around in a couple decades.&lt;/p&gt;

&lt;p&gt;A detailed technical explanation is outside the scope of this post but if folks want to know I’ll write it up separately. For now, follow &lt;a href=&quot;https://github.com/jmathai/elodie/issues/496&quot;&gt;GitHub issue 496&lt;/a&gt; to track progress and see the code.&lt;/p&gt;


    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/my-ridiculously-robust-photo-management-system-immich-edition/&quot;&gt;My Ridiculously Robust Photo Management System (Immich Edition)&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on January 16, 2026.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Latent Product Development]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/latent-product-development/"/>
  <id>https://jaisenmathai.com/articles/latent-product-development</id>
  <published>2025-01-05T00:00:00-08:00</published>
  <updated>2025-01-05T00:00:00-08:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  
  <content type="html">
    &lt;p&gt;The best products and features emerge naturally from within your subconscious.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;la·tent:&lt;/strong&gt; lying dormant or hidden until circumstances are suitable for development or manifestation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There’s something special about a good product. They’re malleable and composable within its intended use while holding onto some opinions. This doesn’t mean that they are full of features. In fact, it’s often the opposite. Many have few features which tend to be quite simple. A great product doesn’t have to do many things. It just needs to do all of the things it does exceptionally well.&lt;/p&gt;

&lt;p&gt;What happens when you let ideas simmer in your subconscious? Their rough edges start getting slowly sanded away one by one. But something more important happens. You arrive at an inflection point where it &lt;em&gt;feels&lt;/em&gt; right in ways the original version of your idea didn’t. Sometimes it’s a single breakthrough idea and other times it’s the culmination of many smaller ideas. This is the point where you &lt;em&gt;really&lt;/em&gt; fall in love with it. Fielding questions you’ve never considered before will feel natural and your confidence talking about it will increase.&lt;/p&gt;

&lt;p&gt;I get pitched a lot of ideas and I almost always encourage people to think deeper about them. Not in a forced way though - that does not yield novel results. Then how, I wondered. This is what’s worked well for me.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Take breaks often while working before your brain feels overloaded.&lt;/li&gt;
    &lt;li&gt;Perform activities which require low mental attention like walking or showering.&lt;/li&gt;
    &lt;li&gt;Start your morning with something relaxing like sitting on a couch drinking coffee (no devices).&lt;/li&gt;
    &lt;li&gt;End some evenings early and to go lay down in bed before you&apos;re tired.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The common thread is that latent thinking will happen naturally when your brain is in a restful state for 15 minutes to 30 minutes. Not much to ask in exchange for great ideas.&lt;/p&gt;

&lt;p&gt;Latent product development is easier to do on smaller teams where everyone pays attention to craftsmanship. You can tell if the craftsmanship is ingrained into every aspect of the product including what the user does and does not see. I’d say it’s part of the team’s culture.&lt;/p&gt;

&lt;p&gt;If your product has a well defined 24 month roadmap, forget it. There’s no room for latent product development. The entire product is extruded through the machine. The incentives are aligned elsewhere for reasons that are important for some.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/latent-product-development/&quot;&gt;Latent Product Development&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on January 05, 2025.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Life of a Blockchain Transaction - (Proof of Work)]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/life-of-a-blockchain-transaction-proof-of-work/"/>
  <id>https://jaisenmathai.com/articles/life-of-a-blockchain-transaction-proof-of-work</id>
  <published>2021-10-29T00:00:00-07:00</published>
  <updated>2021-10-29T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#web3" term="web3" />
  <content type="html">
    &lt;p&gt;This article is also available as a thread on Twitter.&lt;/p&gt;
&lt;figure&gt;
	&lt;a href=&quot;https://web.archive.org/web/20211029161212/https://twitter.com/jmathai/status/1454110729867464710&quot;&gt;
		&lt;img src=&quot;/images/photos/2021-10-29-blockchain-transaction-thread-tweet.png&quot; alt=&quot;Tweet from @jmathai: The life of a crypto/blockchain transaction. Proof of Work version. #web3 // THREAD //&quot; /&gt;
	&lt;/a&gt;
	&lt;figcaption&gt;The thread this article is based on. October 29, 2021.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The life of a crypto/blockchain transaction. Proof of Work version.&lt;/p&gt;
&lt;style type=&quot;text/css&quot;&gt;
  ol.blockchain-thread li {
    padding-bottom: 20px;
  }
&lt;/style&gt;

&lt;ol class=&quot;blockchain-thread&quot;&gt;
&lt;li&gt;You use your favorite app to purchase 1 ETH. The app creates a transaction and broadcasts it to the network. The transaction includes metadata including transaction and gas fees that you are offering to someone (aka a miner) for adding your transaction to the blockchain.&lt;/li&gt;

&lt;li&gt;Your transaction enters a pool of unvalidated transactions waiting to be added to the blockchain by a miner. The likelihood of your transaction being selected by a miner is based on the amount of fees you are offering. Most apps will determine this fee on your behalf.&lt;/li&gt;

&lt;li&gt;Many miners compete to add the next block to the blockchain. A block can contain any number of transactions greater than zero as long as it fits within a certain size. The winning miner is rewarded some of the cryptocurrency as well as all the transaction and gas fees.&lt;/li&gt;

&lt;li&gt;Adding a block to the blockchain requires miners to find a hash. The hash is based on the data within the transactions AND the hash from the previous block. This is what makes it a chain because each block’s hash includes the hash from the prior block.&lt;/li&gt;

&lt;li&gt;A hashing algorithm takes input data and gives back a string of characters. The SHA256 algorithm used by Ethereum generates a 64 character hash - making it practically impossible for any two input data to have the same hash.&lt;/li&gt;

&lt;li&gt;The hash must meet certain criteria before it can be validated. It must be correct AND be lower than the “target hash” set by the network. For example, the hash “zzz” is HIGHER than “000”. Think of it as a sorted column in a spreadsheet.&lt;/li&gt;

&lt;li&gt;It’s rare that the hash of the transaction data plus the prior block’s hash will be lower than the target hash. In order to generate a valid hash, miners will add a number (aka nonce) as part of the input data in hopes that it’s lower than the target hash.&lt;/li&gt;

&lt;li&gt;The network dynamically sets the target hash to varying levels of difficulty based on the number of miners. The more difficult a target hash, the less profitable it is to be a miner &amp;amp; vice versa. This regulates the # of miners and adds a level of consistency to the network.&lt;/li&gt;

&lt;li&gt;Miners end up trying LOTS of nonces before finding one that generates a valid hash. The energy required to do this is what is referred to as the “work”. The faster a miner can generate hashes (aka hash rate), the more likely they win the chance to add the next block.&lt;/li&gt;

&lt;li&gt; When a miner generates a hash they believe to be valid, they send the hash, nonce and transactions to be validated by a node on the network. Validators can quickly determine if the proposed block meets all of the criteria before adding it to the blockchain.&lt;/li&gt;

&lt;li&gt; This process starts all over each time a new block is added to the blockchain. Miners have to repick unvalidated transactions and start generating hashes.

Your transaction is confirmed once it is included in a block that is added to the blockchain.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a name=&quot;references&quot;&gt;&lt;/a&gt;
I’ve read a lot of documentation and articles which helped me understand how blockchain transactions work. Read the articles below or contact me if you have questions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ethereum.org/en/developers/docs/consensus-mechanisms/pow/&quot;&gt;https://ethereum.org/en/developers/docs/consensus-mechanisms/pow/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/ethereum-grid/ethereum-101-how-are-transactions-included-in-a-block-9ae5f491853f&quot;&gt;https://medium.com/ethereum-grid/ethereum-101-how-are-transactions-included-in-a-block-9ae5f491853f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.goodaudience.com/blockchain-for-beginners-what-is-blockchain-519db8c6677a&quot;&gt;https://blog.goodaudience.com/blockchain-for-beginners-what-is-blockchain-519db8c6677a&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.goodaudience.com/how-a-miner-adds-transactions-to-the-blockchain-in-seven-steps-856053271476&quot;&gt;https://blog.goodaudience.com/how-a-miner-adds-transactions-to-the-blockchain-in-seven-steps-856053271476&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dummies.com/personal-finance/investing/cryptocurrency-mining-and-proof-of-work-algorithms/&quot;&gt;https://www.dummies.com/personal-finance/investing/cryptocurrency-mining-and-proof-of-work-algorithms/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.dummies.com/personal-finance/the-structure-of-blockchains/&quot;&gt;https://www.dummies.com/personal-finance/the-structure-of-blockchains/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/life-of-a-blockchain-transaction-proof-of-work/&quot;&gt;Life of a Blockchain Transaction - (Proof of Work)&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on October 29, 2021.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[How To Protect Your Photos From Bit Rot]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/how-to-protect-your-photos-from-bit-rot/"/>
  <id>https://jaisenmathai.com/articles/how-to-protect-your-photos-from-bit-rot</id>
  <published>2016-12-19T00:00:00-08:00</published>
  <updated>2016-12-19T00:00:00-08:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#photo-management" term="photo-management" />
  <content type="html">
    &lt;figure&gt;
	&lt;img src=&quot;/images/photos/2016-12-19-bit-rot-1.jpg&quot; alt=&quot;Crocodile River, Johannesburg, South Africa&quot; /&gt;
	&lt;figcaption&gt;Crocodile River, Johannesburg, South Africa&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;Download&lt;/em&gt; &lt;a href=&quot;https://getelodie.com&quot;&gt;&lt;em&gt;Elodie, the EXIF-based photo organizer app&lt;/em&gt;&lt;/a&gt; &lt;em&gt;I made to manage my photos, and easily replicate the workflow in this post. You can also view the&lt;/em&gt; &lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;&lt;em&gt;open source command-line version&lt;/em&gt;&lt;/a&gt; &lt;em&gt;on GitHub.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Bit rot, or more accurately data rot, is when one of the bits in a file gets flipped. This happens for a multitude of reasons including inadequate insulation and humidity. A single corrupt bit can result in an viewable photo or video.&lt;/p&gt;

&lt;p&gt;Of all the failure scenarios, bit rot is one of the more difficult to know about and prevent. The primary reason is because bit rot happens silently. You won’t know about it until after it’s already happened and by then it’s often too late.&lt;/p&gt;

&lt;p&gt;Want to feel despair? Do a Google search for how to protect against bit rot.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It’s all just a matter of risk management. Except bit rot. That shit’s inevitable.
 — kngspook &lt;a href=&quot;https://news.ycombinator.com/item?id=8103386&quot;&gt;via HackerNews&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4 id=&quot;what-if-bit-rot-wasnt-inevitable&quot;&gt;What if bit rot wasn’t inevitable?&lt;/h4&gt;

&lt;p&gt;One way to protect your photos against bit rot is to know all the correct bits for every single photo. The best way to do this is to keep a checksum or fingerprint of every photo in a database. That way you can take a photo, calculate its checksum and compare it what’s stored in the database. If the fingerprints don’t match then you know that the photo has changed.&lt;/p&gt;

&lt;p&gt;That’s as far as any of the articles you read will go.&lt;/p&gt;

&lt;p&gt;I wanted to find a solution that was easy and required little to no effort on my part. If a photo became corrupt I’d like to be told. Perhaps an email or something.&lt;/p&gt;

&lt;h4 id=&quot;how-i-built-bit-rot-protection-into-my-photoarchive&quot;&gt;How I built bit rot protection into my photo archive&lt;/h4&gt;

&lt;p&gt;It turned out that I already had a database with a checksum of every photo and video in my archive. I wrote some software that automatically organizes and archives my entire photo library (&lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;source code&lt;/a&gt;).&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Sound interesting? Get a free chapter from my book, &lt;a href=&quot;https://photoarchivingfornerds.com&quot;&gt;Photo Archiving for Nerds&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It was really easy to add a command to check every photo in my archive against the checksum database. Here’s what I got when I ran it the first time.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2016-12-19-bit-rot-2.png&quot; alt=&quot;*sigh of relief*&quot; /&gt;
	&lt;figcaption&gt;*sigh of relief*&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h4 id=&quot;scheduling-an-automated-daily-bit-rotcheck&quot;&gt;Scheduling an automated daily bit rot check&lt;/h4&gt;

&lt;p&gt;Checking my photo archive for any bit rot is a simple command. Now I can schedule that command to run every day. Since my photo archive is replicated to 3 different locations I could easily retrieve a known good copy.&lt;/p&gt;

&lt;p&gt;It made sense for me to schedule the bit rot check on my Synology NAS at home since 1 of my 3 archives is on it. How you choose to schedule the check is entirely up to you. You can use cron (Linux, MacOS), Automator (MacOS) or Task Scheduler (Windows).&lt;/p&gt;

&lt;h4 id=&quot;getting-notified-when-bit-rot-isdetected&quot;&gt;Getting notified when bit rot is detected&lt;/h4&gt;

&lt;p&gt;I scheduled the nightly script to email me if it detects any bit rot to one or more of my photo or video files. If I get this email I can verify the file and replace it from a known good copy from my Laptop or from Google Drive since those are 2 of my 3 backup sources; the Synology being the 1st.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2016-12-19-bit-rot-3.png&quot; alt=&quot;An email I got when bit rot was detected in one of my photos&quot; /&gt;
	&lt;figcaption&gt;An email I got when bit rot was detected in one of my photos&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;For the time being, I’m perfectly okay getting this email and taking some manual action on the corrupted photo. It shouldn’t happen very often and when it does I am okay taking 5 minutes of my day to do a quick sanity check.&lt;/p&gt;

&lt;p&gt;I could automate the script further to look through revisions of the file until it finds a checksum match. But I’ll save that for another blog post.&lt;/p&gt;

&lt;p&gt;Make sure you read my other posts in this series.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;Understanding My Need for an Automated Photo Workflow&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;Introducing Elodie; Your Personal EXIF-based Photo and Video Assistant&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/my-automated-photo-workflow-using-google-photos-and-elodie/&quot;&gt;My Automated Photo Workflow using Google Photos and Elodie&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/one-year-of-using-an-automated-photo-organization-and-archiving-workflow/&quot;&gt;One Year of Using an Automated Photo Organization and Archiving Workflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;/articles/how-to-protect-your-photos-from-bit-rot/&quot;&gt;How To Protect Your Photos From Bit Rot&lt;/a&gt; was originally published in &lt;a href=&quot;https://medium.com/vantage&quot;&gt;Vantage&lt;/a&gt; on Medium, where people are continuing the conversation by highlighting and responding to this story.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/how-to-protect-your-photos-from-bit-rot/&quot;&gt;How To Protect Your Photos From Bit Rot&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on December 19, 2016.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[One Year of Using an Automated Photo Organization and Archiving Workflow]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/one-year-of-using-an-automated-photo-organization-and-archiving-workflow/"/>
  <id>https://jaisenmathai.com/articles/one-year-of-using-an-automated-photo-organization-and-archiving-workflow</id>
  <published>2016-12-13T00:00:00-08:00</published>
  <updated>2016-12-13T00:00:00-08:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#photo-management" term="photo-management" />
  <content type="html">
    &lt;figure&gt;
	&lt;img src=&quot;/images/photos/2016-12-13-photo-archiving-one-year-1.jpg&quot; alt=&quot;Crater Lake. Crater Lake National Park, Oregon&quot; /&gt;
	&lt;figcaption&gt;Crater Lake. Crater Lake National Park, Oregon&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;Download&lt;/em&gt; &lt;a href=&quot;https://getelodie.com&quot;&gt;&lt;em&gt;Elodie, the EXIF-based photo organizer app&lt;/em&gt;&lt;/a&gt; &lt;em&gt;I made to manage my photos, and easily replicate the workflow in this post. You can also view the&lt;/em&gt; &lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;&lt;em&gt;open source command-line version&lt;/em&gt;&lt;/a&gt; &lt;em&gt;on GitHub.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Since I wrote this, Google Photos and Google Drive have&lt;/em&gt; &lt;a href=&quot;https://www.blog.google/products/photos/simplifying-google-photos-and-google-drive/&quot;&gt;&lt;em&gt;stopped working together&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. I’m now using a&lt;/em&gt; &lt;a href=&quot;https://github.com/jmathai/elodie/tree/master/elodie/plugins/googlephotos&quot;&gt;&lt;em&gt;Google Photos plugin for Elodie&lt;/em&gt;&lt;/a&gt; &lt;em&gt;I wrote to simulate the same functionality which existed prior to this change.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It’s been a year since I put &lt;em&gt;all&lt;/em&gt; of my photos on autopilot. All I need to do is AirDrop the photos and videos I want to keep and they’re organized and archived automagically. How, you ask?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Every media file gets de-duplicated against my entire photo collection.&lt;/li&gt;
  &lt;li&gt;The metadata is carefully inspected and geolocation coordinates are turned into city names.&lt;/li&gt;
  &lt;li&gt;The media file is deterministically placed in an appropriate folder based on date, location and other EXIF attributes.&lt;/li&gt;
  &lt;li&gt;A normalized filename including the date and EXIF title attributes are used when moving the media file to its final destination.&lt;/li&gt;
  &lt;li&gt;The source media file resides on my laptop in a folder based on date, location and other EXIF attributes. Here’s an example.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── 2015-07-Jul│   ├── Mountain View│   │   ├── 2015-07-19_17-16-37-img_9426-walking-around-downtown.jpg
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;One copy of the media file is escorted to my Synology NAS to serve as a local-remote copy using the identical folder hierarchy and file name as my laptop.&lt;/li&gt;
  &lt;li&gt;A second copy of the media file is whisked away to Google’s servers to serve as a remote copy using, again, the identical folder hierarchy and file name as my laptop and Synology.&lt;/li&gt;
  &lt;li&gt;Google Photos indexes, analyzes, and applies machine learning to the photos and makes them accessible via web and mobile apps.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;current-statistics&quot;&gt;Current Statistics&lt;/h4&gt;

&lt;p&gt;The size of my photo library is smaller than a lot of people I speak with because I only keep about 25% of the photos and videos I take. The rest are shown the trash can. Here’s a breakdown.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;13,105 photos&lt;/li&gt;
  &lt;li&gt;142 videos&lt;/li&gt;
  &lt;li&gt;30 audio recordings&lt;/li&gt;
  &lt;li&gt;828 folders&lt;/li&gt;
  &lt;li&gt;228 gigabytes&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;grading-myworkflow&quot;&gt;Grading My Workflow&lt;/h4&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2016-12-13-photo-archiving-one-year-2.png&quot; alt=&quot;A workflow diagram: photos from a phone or camera flow into a Macbook, through Elodie&apos;s rules engine, into an organized library mirrored to Google Photos and a Synology. Only the first step is marked manual.&quot; /&gt;
&lt;/figure&gt;

&lt;p&gt;I originally intended on this being an experiment to see if I could archive my photos without using any sort of database besides the filesystem itself.&lt;/p&gt;

&lt;p&gt;Answer: yes.
Grade: A+.&lt;/p&gt;

&lt;p&gt;The full list of things I learned is too long for a blog post. That’s why I’m writing a book named &lt;a href=&quot;https://photoarchivingfornerds.com/&quot;&gt;&lt;em&gt;Photo Archiving for Nerds&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;h4 id=&quot;exif-is-more-powerful-than-ithought&quot;&gt;EXIF Is More Powerful Than I Thought&lt;/h4&gt;

&lt;p&gt;Relying on EXIF was a critical hypothesis I made early on. I knew reading EXIF from JPEGs was doable.&lt;/p&gt;

&lt;p&gt;It turns out that EXIF is supported by many RAW formats and while I don’t shoot in RAW it’s nice for when friends send me their RAW files from times we’re together.&lt;/p&gt;

&lt;p&gt;Videos were the biggest question mark for me. I wasn’t sure how widely they supported EXIF. I was pleasantly surprised when I found out videos shot on iPhones have date and location EXIF embedded into them.&lt;/p&gt;

&lt;p&gt;Turns out audio files, of the m4a persuasion, also support EXIF and iPhones embed them with date and location EXIF as well.&lt;/p&gt;

&lt;p&gt;It felt like Christmas over and over again. But why stop while you’re ahead?&lt;/p&gt;

&lt;p&gt;I moved on to investigating if I could reliably write EXIF. You know, for times like when you take photos with an SLR and location information is missing. Ultimately, I was able to edit EXIF on photo, video, and audio files.&lt;/p&gt;

&lt;p&gt;Basically, every photo in my library has an embedded database with date, location, title, album, and more information.&lt;/p&gt;

&lt;h4 id=&quot;a-few-words-onbackups&quot;&gt;A Few Words On Backups&lt;/h4&gt;

&lt;p&gt;My goal for backups was simple. It should be statistically impossible to lose a photo. Further, I wanted my backups to retain all of the edits and organization effort I put into the photos I browse while on the train or share with my family.&lt;/p&gt;

&lt;p&gt;To make it impossible to lose a photo I needed to make sure there wasn’t any single point of failure. That ruled out relying on a cloud service like Dropbox or Google Drive as my “backup”.&lt;/p&gt;

&lt;p&gt;I went with a workflow that kept a copy of each photo on my laptop, on my Synology and in Google Drive. I was safe unless Google Drive deleted my photos at the same time my house was on fire while I was there. Not to mention both my Synology and Google Drive keep multiple versions of each file. Statistically impossible enough for me.&lt;/p&gt;

&lt;p&gt;Make sure you read my other posts in this series.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;Understanding My Need for an Automated Photo Workflow&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;Introducing Elodie; Your Personal EXIF-based Photo and Video Assistant&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/my-automated-photo-workflow-using-google-photos-and-elodie/&quot;&gt;My Automated Photo Workflow using Google Photos and Elodie&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;/articles/one-year-of-using-an-automated-photo-organization-and-archiving-workflow/&quot;&gt;One Year of Using an Automated Photo Organization and Archiving Workflow&lt;/a&gt; was originally published in &lt;a href=&quot;https://medium.com/art-marketing&quot;&gt;ART + marketing&lt;/a&gt; on Medium, where people are continuing the conversation by highlighting and responding to this story.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/one-year-of-using-an-automated-photo-organization-and-archiving-workflow/&quot;&gt;One Year of Using an Automated Photo Organization and Archiving Workflow&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on December 13, 2016.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[My Automated Photo Workflow using Google Photos and Elodie]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/my-automated-photo-workflow-using-google-photos-and-elodie/"/>
  <id>https://jaisenmathai.com/articles/my-automated-photo-workflow-using-google-photos-and-elodie</id>
  <published>2015-12-07T00:00:00-08:00</published>
  <updated>2015-12-07T00:00:00-08:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#photo-management" term="photo-management" />
  <content type="html">
    &lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-07-photo-workflow-google-photos-1.jpg&quot; alt=&quot;Summit at Mission Peak. Fremont, California&quot; /&gt;
	&lt;figcaption&gt;Summit at Mission Peak. Fremont, California&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;Download&lt;/em&gt; &lt;a href=&quot;https://getelodie.com&quot;&gt;&lt;em&gt;Elodie, the EXIF-based photo organizer app&lt;/em&gt;&lt;/a&gt; &lt;em&gt;I made to manage my photos, and easily replicate the workflow in this post. You can also view the&lt;/em&gt; &lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;&lt;em&gt;open source command-line version&lt;/em&gt;&lt;/a&gt; &lt;em&gt;on GitHub.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Since I wrote this, Google Photos and Google Drive have&lt;/em&gt; &lt;a href=&quot;https://www.blog.google/products/photos/simplifying-google-photos-and-google-drive/&quot;&gt;&lt;em&gt;stopped working together&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. I’m now using a&lt;/em&gt; &lt;a href=&quot;https://github.com/jmathai/elodie/tree/master/elodie/plugins/googlephotos&quot;&gt;&lt;em&gt;Google Photos plugin for Elodie&lt;/em&gt;&lt;/a&gt; &lt;em&gt;I wrote to simulate the same functionality which existed prior to this change.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is a story of how two complete strangers, Google Photos and &lt;a href=&quot;/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;Elodie&lt;/a&gt;, with their own lives and ambitions met and fell in love. It’s the last of three posts on how I created an automated workflow for my photos and videos. You should understand &lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;why I wanted an automated workflow&lt;/a&gt; and how &lt;a href=&quot;/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;the software I wrote (Elodie)&lt;/a&gt; achieves that.&lt;/p&gt;

&lt;p&gt;This post is long despite my efforts to keep it short. There are a lot of facets which coalesce into my workflow but I think you’ll find it worthwhile.&lt;/p&gt;

&lt;p&gt;Let’s get started, shall we?&lt;/p&gt;

&lt;h4 id=&quot;google-photos-helps-me-find-share-and-experience-photos&quot;&gt;Google Photos helps me find, share and experience photos&lt;/h4&gt;

&lt;p&gt;Google Photos is spectacular; something I can’t recall saying about another online photo service. The best features are search and Assistant.&lt;/p&gt;

&lt;p&gt;Sharing photos and videos taken by me or created by Assistant is really easy. You can share the photos themselves or you can share links which work well for videos.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-07-photo-workflow-google-photos-2.png&quot; alt=&quot;A video created by Assistant which I shared with Rachel. (URL modified)&quot; /&gt;
	&lt;figcaption&gt;A video created by Assistant which I shared with Rachel. (URL modified)&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Search works exceptionally well. Training Google Photos to recognize people in your photos requires virtually no effort and it’s really accurate. Kudos to the team for making search actually work on a personal photo library.&lt;/p&gt;

&lt;p&gt;Assistant is a feature of Google Photos which continuously combs through your photos looking for fun things to make for you. I’ve had it make collages, animated gifs, panoramas and movies. What it creates is almost always awesome. Receiving a notification that Assistant has created something for me continues to be exciting. &lt;a href=&quot;https://medium.com/u/d8e76fc84359&quot;&gt;Paul Stamatiou&lt;/a&gt; summed it up well.&lt;/p&gt;

&lt;h3 id=&quot;paul-stamatiou-on-twitter&quot;&gt;Paul Stamatiou on Twitter&lt;/h3&gt;

&lt;p&gt;Still LOVING Google Photos. (and still uploading). Assistant is always making me cool shit. It’s my lil’ butler. pic.twitter.com/WYqr89UuBw&lt;/p&gt;

&lt;h4 id=&quot;elodie-helps-me-automatically-archive-my-photolibrary&quot;&gt;Elodie helps me automatically archive my photo library&lt;/h4&gt;

&lt;p&gt;Elodie was created to &lt;a href=&quot;/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;automate the burden of organizing and archiving my photo library&lt;/a&gt;. It does this by relying entirely on EXIF instead of a proprietary database and keeping the folder structure in sync with what’s in EXIF.&lt;/p&gt;

&lt;p&gt;Elodie does a lot of things well but 3 of them are the most important.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Organize photos and videos into folders while ensuring file names follow a consistent format.&lt;/li&gt;
  &lt;li&gt;Provide ways to wirelessly add photos to my library by using AirDrop, Google Photos’ iOS app or something else I might come up with.&lt;/li&gt;
  &lt;li&gt;Update the folder structure when changing or adding EXIF to photos and videos.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4 id=&quot;using-google-photos-withelodie&quot;&gt;Using Google Photos with Elodie&lt;/h4&gt;

&lt;p&gt;Google Photos and Elodie work entirely independent of one another. But it turns out they also compliment one another nearly perfectly.&lt;/p&gt;

&lt;p&gt;I’d love to use Google Photos by itself but it fails to &lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;future-proof my photo library&lt;/a&gt;. That’s where Elodie comes in.&lt;/p&gt;

&lt;p&gt;Combining Google Photos and Elodie means I have amazing search, machine learning, artificial intelligence and sharing combined with a future-proof archive of my entire photo and video library.&lt;/p&gt;

&lt;p&gt;The workflow starts with a single manual step and the rest is fully automated. The first manual manual step can be automated but I prefer to curate the photos which end up in my library. Here’s what the workflow looks like.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-07-photo-workflow-google-photos-3.png&quot; alt=&quot;My automated workflow using an iPhone, Macbook, Google Photos, Elodie and a Synology.&quot; /&gt;
	&lt;figcaption&gt;My automated workflow using an iPhone, Macbook, Google Photos, Elodie and a Synology.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;This is how it works. I install the Google Drive desktop app and set &lt;a href=&quot;https://support.google.com/photos/answer/6156103?hl=en&quot;&gt;Google Photos and Google Drive to work together&lt;/a&gt;. Then I ask Elodie to organize my photos into &lt;em&gt;~/Google Drive/Google Photos&lt;/em&gt;. At this point all of my photos, which Elodie has organized, are accessible through Google Photos.&lt;/p&gt;

&lt;p&gt;As the diagram shows, I’m able to &lt;a href=&quot;/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;replicate a copy of my entire photo and video library to my Synology at home&lt;/a&gt; giving me 3 distributed copies of my photo library that’s automatically kept in sync.&lt;/p&gt;

&lt;p&gt;That’s pretty awesome but there are some advanced uses which really puts my workflow over the top.&lt;/p&gt;

&lt;h4 id=&quot;saving-google-photos-assistants-work-to-mylibrary&quot;&gt;Saving Google Photos Assistant’s work to my library&lt;/h4&gt;

&lt;p&gt;I mentioned that Assistant creates some great pieces from my photos. The downside is that they are not available outside of the Google Photos app. It’s of little value to me unless I can archive them into my library; something Google Photos doesn’t easily support yet.&lt;/p&gt;

&lt;p&gt;My favorite creations from Assistant are the collages and movies. There’s a lot of smarts going on behind the scenes. The photos selected are always good which results in creations I continually want to save back into my library.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-07-photo-workflow-google-photos-4.jpg&quot; alt=&quot;A “stylized” photo created by Assistant being exported to Elodie using AirDrop.&quot; /&gt;
	&lt;figcaption&gt;A “stylized” photo created by Assistant being exported to Elodie using AirDrop.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Google Photos does support the ability to share Assistant’s creations. This means I’m able to AirDrop them to my MacBook which triggers Elodie organizing the photo or video into my library. All of it works almost too well.&lt;/p&gt;

&lt;p&gt;I was very pleased to find out Google Photos retains the date and location of the photos it uses and puts them in the EXIF. That attention to detail lets Elodie organize photos precisely where they belong.&lt;/p&gt;

&lt;h4 id=&quot;albums-in-elodie-and-googlephotos&quot;&gt;Albums in Elodie and Google Photos&lt;/h4&gt;

&lt;p&gt;Elodie lets you group photos within a folder into an album. Since Elodie only understands EXIF she does this by adding a custom EXIF tag. Now when Elodie processes the photo or video it will be placed in a folder named the same as the album.&lt;/p&gt;

&lt;p&gt;Google Photos also has a notion of albums (sometimes called Collections in the UI). But these albums do not exist outside of Google Photos which you may have guessed by now have little value to me.&lt;/p&gt;

&lt;p&gt;The great part is that Google Photos understands the folder structure enough to group photos in a folder together. You can search or view photos in an album with Google Photos’ great visual UI. The option to share is present but has never worked for me. I don’t know if this is a bug or not but it’s minor in the bigger picture of what I’m able to do.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-07-photo-workflow-google-photos-5.jpg&quot; alt=&quot;An album in I created using Elodie of a hike to Mission Peak which I can view through Google Photos.&quot; /&gt;
	&lt;figcaption&gt;An album in I created using Elodie of a hike to Mission Peak which I can view through Google Photos.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h4 id=&quot;using-google-photos-to-add-photos-to-mylibrary&quot;&gt;Using Google Photos to add photos to my library&lt;/h4&gt;

&lt;p&gt;My preferred method of getting photos off my phone and into my library is using AirDrop. Turns out my laptop isn’t always on and it’s not always near me. Thankfully Elodie can watch arbitrary folders to trigger her rules engine and Google Photos deterministically chooses where to upload photos.&lt;/p&gt;

&lt;p&gt;This means I simply need to ask Elodie to watch &lt;em&gt;~/Google Drive/Google Photos/2016&lt;/em&gt; and I’m able to use the Google Photos app the same way I use AirDrop. The workflow which gets enacted is a bit different but the end result is identical. See the workflow diagram earlier to understand the differences.&lt;/p&gt;

&lt;p&gt;I can get photos and videos from my phone and onto my laptop without being in proximity to my laptop. Elodie then organizes them.&lt;/p&gt;

&lt;h4 id=&quot;replacing-the-photos-app-on-myphone&quot;&gt;Replacing the Photos app on my phone&lt;/h4&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-07-photo-workflow-google-photos-6.jpg&quot; alt=&quot;The cloud icon on the top left photo indicates it isn’t synced.&quot; /&gt;
	&lt;figcaption&gt;The cloud icon on the top left photo indicates it isn’t synced.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;It’s been a long unrealized dream of mine to replace the Photos app on my phone with something that was as good or better while allowing me to not run out of space. Lots of apps promise this but I haven’t been able to do it until this combination of Google Photos and Elodie.&lt;/p&gt;

&lt;p&gt;In the Google Photos iOS app’s main view it merges the photos on your Camera Roll with the ones in Google Photos. A small cloud icon on the thumbnail indicates that it has not yet been synced to Google Photos.&lt;/p&gt;

&lt;p&gt;There’s some brilliance wrapped up in that cloud icon. It gets a little tricky since I don’t have any single way to get a photo or video into my library. I might AirDrop it from my Camera Roll or upload it through the Google Photos app. Either way it’s an offline workflow which invokes Elodie on my laptop to move it to its final destination.&lt;/p&gt;

&lt;p&gt;Let’s take the example of the screenshot above. If I AirDrop that photo of myself with a latte to my laptop it will get organized by Elodie into my Google Photos folder. That photo gets synced via Google Drive and when I come back to my Google Photos app the cloud icon will be gone; even though I never uploaded the photo via the Google Photos app.&lt;/p&gt;

&lt;p&gt;I couldn’t really ask Google Photos and Elodie to play together any better.&lt;/p&gt;

&lt;h4 id=&quot;final-thoughts-on-my-automated-workflow&quot;&gt;Final thoughts on my automated workflow&lt;/h4&gt;

&lt;p&gt;I’ve spent a lot of time over the past decade coming up with something that helps ease the burden of having tens of thousands of photos. This current setup is my holy grail. It turned out an order of magnitude better than I had expected.&lt;/p&gt;

&lt;p&gt;Elodie has evolved quite a bit since I started using her two months ago and now I consider her indispensable. You can &lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;find Elodie on Github&lt;/a&gt; and help me make her even better.&lt;/p&gt;

&lt;p&gt;Make sure you read my other posts in this series.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;Understanding My Need for an Automated Photo Workflow&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;Introducing Elodie; Your Personal EXIF-based Photo and Video Assistant&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/one-year-of-using-an-automated-photo-organization-and-archiving-workflow/&quot;&gt;One Year of Using an Automated Photo Organization and Archiving Workflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-07-photo-workflow-google-photos-7.jpg&quot; alt=&quot;Commit graph from Github.&quot; /&gt;
	&lt;figcaption&gt;Commit graph from Github.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;jmathai/elodie&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;/articles/my-automated-photo-workflow-using-google-photos-and-elodie/&quot;&gt;My Automated Photo Workflow using Google Photos and Elodie&lt;/a&gt; was originally published in &lt;a href=&quot;https://medium.com/swlh&quot;&gt;The Startup&lt;/a&gt; on Medium, where people are continuing the conversation by highlighting and responding to this story.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/my-automated-photo-workflow-using-google-photos-and-elodie/&quot;&gt;My Automated Photo Workflow using Google Photos and Elodie&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on December 07, 2015.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Understanding My Need for an Automated Photo Workflow]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/understanding-my-need-for-an-automated-photo-workflow/"/>
  <id>https://jaisenmathai.com/articles/understanding-my-need-for-an-automated-photo-workflow</id>
  <published>2015-12-01T00:00:00-08:00</published>
  <updated>2015-12-01T00:00:00-08:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#photo-management" term="photo-management" />
  <content type="html">
    &lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-need-automated-photo-workflow-1.jpg&quot; alt=&quot;Tuolumne Meadows. Yosemite, California.&quot; /&gt;
	&lt;figcaption&gt;Tuolumne Meadows. Yosemite, California.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;Download&lt;/em&gt; &lt;a href=&quot;https://getelodie.com&quot;&gt;&lt;em&gt;Elodie, the EXIF-based photo organizer app&lt;/em&gt;&lt;/a&gt; &lt;em&gt;I made to manage my photos, and easily replicate the workflow in this post. You can also view the&lt;/em&gt; &lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;&lt;em&gt;open source command-line version&lt;/em&gt;&lt;/a&gt; &lt;em&gt;on GitHub.&lt;/em&gt;&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-need-automated-photo-workflow-2.jpg&quot; alt=&quot;Looking for Methuselah while motorbiking from Vegas to Yosemite through Death Valley.&quot; /&gt;
	&lt;figcaption&gt;Looking for Methuselah while motorbiking from Vegas to Yosemite through Death Valley.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;I wanted a better way to archive, unify and experience my photos and videos. Of all the great software that’s available today none of them addressed my needs.&lt;/p&gt;

&lt;p&gt;I came up with a solution and I wanted to write about it because I don’t think I’m alone in wanting a workflow that brings sanity to the tens of thousands of photos and videos I have.&lt;/p&gt;

&lt;h4 id=&quot;my-goals-in-order-of-importance&quot;&gt;My goals in order of importance&lt;/h4&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;&lt;em&gt;Preserve.&lt;/em&gt;&lt;/strong&gt; My photo library needs to be future-proof for decades into the future.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;&lt;em&gt;Unify.&lt;/em&gt;&lt;/strong&gt; Photos from my wife and my phones need to be combined into a single library.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;&lt;em&gt;Experience.&lt;/em&gt;&lt;/strong&gt; The photos and videos need to come to life and help us re-experience the moments when they were taken.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Given the plethora of software I should briefly explain why I continue to have this problem.&lt;/p&gt;

&lt;h4 id=&quot;iphoto-aperture-lightroom-and-other-desktopapps&quot;&gt;iPhoto, Aperture, Lightroom and other desktop apps&lt;/h4&gt;

&lt;p&gt;Most desktop apps rely on an internal database which they use to keep track of photos in your library. They also store files on your hard drive in ways that make most sense to them; not you.&lt;/p&gt;

&lt;p&gt;Proprietary databases and file structures fail to future-proof my photo library. It’s difficult to stop using these programs once you’ve invested a lot of time in them.&lt;/p&gt;

&lt;p&gt;Preserve? D-
Unify? C
Experience? B+&lt;/p&gt;

&lt;h4 id=&quot;flickr-500px-etcsorry&quot;&gt;Flickr, 500px, etc.? Sorry.&lt;/h4&gt;

&lt;p&gt;Online photo services also store information in their own database. It’s not so bad if they give you a programmatic API to manage your library but it still falls short. If you’ve ever tried to move all of your photos from one service to another then you’ve felt this pain. I do not envy the person tasked with that job.&lt;/p&gt;

&lt;p&gt;The experience they provide is pretty great since you can share and converse around photos but the lack of preservation is a deal breaker.&lt;/p&gt;

&lt;p&gt;Preserve? F+
Unify? B-
Experience? A-&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you really like Google Photos you’ll want to read through this series because I come back to using it later.&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;building-a-better-mousetrap&quot;&gt;Building a Better Mouse Trap&lt;/h3&gt;

&lt;p&gt;I’ve been doing this long enough to know whatever I end up choosing needs to be simple, feel natural and be rewarding.&lt;/p&gt;

&lt;p&gt;So daunting.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-need-automated-photo-workflow-3.jpg&quot; alt=&quot;Breaking apart various NAS devices to get our Trovebox software running on them. (circa 2014)&quot; /&gt;
	&lt;figcaption&gt;Breaking apart various NAS devices to get our Trovebox software running on them. (circa 2014)&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h4 id=&quot;lets-start-with-thebasics&quot;&gt;Let’s start with the basics&lt;/h4&gt;

&lt;p&gt;I started thinking about what my utopia would look like. I wanted something simple and elegant; not complex or cumbersome. In addition to meeting the goals listed above the workflow needs to do a few things well.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Work entirely off the file system and EXIF contained within each photo and video.&lt;/li&gt;
  &lt;li&gt;Provide an easy way to get photos and videos from my wife and my phone into our library.&lt;/li&gt;
  &lt;li&gt;Be fast enough that I didn’t have to wait minutes at a time to add videos which could be up to 1GB in size.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There’s more but it’s good to start with a small list and let your experience of using the software influence how it expands.&lt;/p&gt;

&lt;h4 id=&quot;why-use-the-filesystem&quot;&gt;Why use the file system?&lt;/h4&gt;

&lt;p&gt;The file system is the lowest common denominator. Everything else we use is built on top of it. Once you start building too much magic on top of the file system is when you start getting into trouble.&lt;/p&gt;

&lt;p&gt;Unfortunately, using the file system by itself is very limiting. You can’t access it remotely across your devices, for example. It’s something we’ll have to figure out a solution to but we don’t need to know how yet.&lt;/p&gt;

&lt;h4 id=&quot;why-useexif&quot;&gt;Why use EXIF?&lt;/h4&gt;

&lt;p&gt;EXIF makes every photo in your library portable. If you store information about the photo in EXIF then you keep it with you by simply copying the file somewhere else. This is probably the most important decision from which I expect all sorts of good things to flow. We don’t need to know and understand the benefits of leveraging EXIF. You’ll have to trust my gut on this.&lt;/p&gt;

&lt;p&gt;Bonus, videos support EXIF.&lt;/p&gt;

&lt;p&gt;Extra bonus, iPhones store time and location information in EXIF of videos. Android users aren’t entirely out of luck because we can always add EXIF where it doesn’t exist.&lt;/p&gt;

&lt;h4 id=&quot;getting-photos-and-videos-off-our-phones-quickly-andeasily&quot;&gt;Getting photos and videos off our phones quickly and easily&lt;/h4&gt;

&lt;p&gt;We take all of our photos on our phones (iPhones, at the moment). Getting those photos off has proven to be pretty tedious. Transferring videos over the Internet is too slow and connecting cables to my laptop was a pain.&lt;/p&gt;

&lt;p&gt;AirDrop seems to be a sane candidate but we’ll have to figure out how to make that work for our needs.&lt;/p&gt;

&lt;h3 id=&quot;start-small-thinkbig&quot;&gt;Start small, think big&lt;/h3&gt;

&lt;p&gt;If you make the right choices up front then the latter work tends to be pretty easy. There’s a lot we don’t know and some of those things are a pretty big deal.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-need-automated-photo-workflow-4.jpg&quot; alt=&quot;Setting up load balancers for Photagious before racking them at Level3 a decade ago. (circa 2004)&quot; /&gt;
	&lt;figcaption&gt;Setting up load balancers for Photagious before racking them at Level3 a decade ago. (circa 2004)&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;How will my wife and I be able to see all of these photos on our phones and how will we be able to easily search for the photos we want to see?&lt;/p&gt;

&lt;p&gt;How will we get all of our existing photos into this library and more importantly how will future photos be added?&lt;/p&gt;

&lt;p&gt;We’ll figure all of this out but you’ll need to read my other posts to see how.&lt;/p&gt;

&lt;p&gt;Make sure you read my other posts in this series.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;Introducing Elodie; Your Personal EXIF-based Photo and Video Assistant&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/my-automated-photo-workflow-using-google-photos-and-elodie/&quot;&gt;My Automated Photo Workflow using Google Photos and Elodie&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/one-year-of-using-an-automated-photo-organization-and-archiving-workflow/&quot;&gt;One Year of Using an Automated Photo Organization and Archiving Workflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;Understanding My Need for an Automated Photo Workflow&lt;/a&gt; was originally published in &lt;a href=&quot;https://medium.com/vantage&quot;&gt;Vantage&lt;/a&gt; on Medium, where people are continuing the conversation by highlighting and responding to this story.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;Understanding My Need for an Automated Photo Workflow&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on December 01, 2015.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Introducing Elodie; Your Personal EXIF-based Photo and Video Assistant]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/"/>
  <id>https://jaisenmathai.com/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant</id>
  <published>2015-12-01T00:00:00-08:00</published>
  <updated>2015-12-01T00:00:00-08:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#photo-management" term="photo-management" />
  <content type="html">
    &lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-introducing-elodie-1.jpg&quot; alt=&quot;Banfora Falls. Burkina Faso, Africa.&quot; /&gt;
	&lt;figcaption&gt;Banfora Falls. Burkina Faso, Africa.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;Download&lt;/em&gt; &lt;a href=&quot;https://getelodie.com&quot;&gt;&lt;em&gt;Elodie, the EXIF-based photo organizer app&lt;/em&gt;&lt;/a&gt; &lt;em&gt;I made to manage my photos, and easily replicate the workflow in this post. You can also view the&lt;/em&gt; &lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;&lt;em&gt;open source command-line version&lt;/em&gt;&lt;/a&gt; &lt;em&gt;on GitHub.&lt;/em&gt;&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-introducing-elodie-2.jpg&quot; alt=&quot;Collecting shells on the beach. Pescadero, California.&quot; /&gt;
	&lt;figcaption&gt;Collecting shells on the beach. Pescadero, California.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;I previously wrote about &lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;wanting a workflow which brings sanity to my photo and video library&lt;/a&gt;. This post explains my first iteration at a solution which supports that workflow.&lt;/p&gt;

&lt;p&gt;I was inspired by &lt;a href=&quot;https://liggat.org/a-robust-photo-workflow/&quot;&gt;Dave Liggat’s blog post&lt;/a&gt; outlining how he approached a very similar problem as mine. I decided to incorporate his ideas and extend them into something which suited my needs.&lt;/p&gt;

&lt;p&gt;I wrote the software and named it Elodie which you can find the &lt;a href=&quot;https://github.com/jmathai/elodie&quot;&gt;source code for on Github&lt;/a&gt;. It’s a work in progress :).&lt;/p&gt;

&lt;h4 id=&quot;form-followsfunction&quot;&gt;Form follows function&lt;/h4&gt;

&lt;p&gt;Elodie sifts through an entire library of unorganized photos and neatly places them into an organized folder structure. For the sake of simplicity we can refer to this process as &lt;em&gt;“Elodie applying rules”&lt;/em&gt; to a photo.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-introducing-elodie-3.png&quot; alt=&quot;The basic workflow which Elodie enables. Only the first task is manual.&quot; /&gt;
	&lt;figcaption&gt;The basic workflow which Elodie enables. Only the first task is manual.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Plenty of software exists to organize photos into a folder structure by date but I knew I wanted something more sophisticated than that. I decided on encoding the date, location, title and album from EXIF into the folder structure.&lt;/p&gt;

&lt;p&gt;Let’s say Elodie applied rules to an unorganized corpus of photos.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── Unorganized Photos│   ├── IMG_9426.JPG│   └── IMG_9432.JPG
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;She would turn it into something more meaningful.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── 2015-07-Jul│   ├── Mountain View│   │   ├── 2015-07-19_17-16-37-img_9426-walking-around-downtown.jpg│   │   └── 2015-07-24_19-06-33-img_9432-taking-the-caltrain.jpg
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Besides being a more meaningful representation of the photos and videos themselves this structure will prove extremely valuable as we go along.&lt;/p&gt;

&lt;h4 id=&quot;the-file-system-as-a-real-time-reflection-of-itscontents&quot;&gt;The file system as a real-time reflection of its contents&lt;/h4&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-introducing-elodie-4.png&quot; alt=&quot;The Elodie mascot: a cartoon girl with her hair in buns, holding a small chalkboard reading Elodie.&quot; /&gt;
&lt;/figure&gt;

&lt;p&gt;It wasn’t long before I began thinking of the file system as a real-time reflection of the files contained within it. If I add location information to the EXIF of photos taken on my dSLR then the file system should be updated to reflect that. Files should be renamed and moved according to their new meta-data.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Idempotence&quot;&gt;Idempotence&lt;/a&gt; is a term in computer science which states that the same operation can be safely applied over and over again. Idempotent systems are resilient, predictable and elegant.&lt;/p&gt;

&lt;p&gt;By making Elodie’s rules idempotent we could achieve synchronization between the folder structure and the files’ meta-data.&lt;/p&gt;

&lt;p&gt;I ran 11,000 photos and videos through Elodie’s rules engine and I got back an organized library of photos. I could add meta-data anywhere it didn’t exist or needed to be changed and Elodie would add it to the EXIF and reorganize the photos accordingly.&lt;/p&gt;

&lt;h4 id=&quot;giving-elodie-afacelift&quot;&gt;Giving Elodie a facelift&lt;/h4&gt;

&lt;p&gt;I never intended on creating a UI for Elodie. My intentions were that she remain &lt;em&gt;“headless”&lt;/em&gt;. But as the usefulness of the software increased it made sense to have a UI which matched the functionality.&lt;/p&gt;

&lt;p&gt;In keeping with the intended simplicity of Elodie I wanted an unobtrusive UI. Something tucked away that I didn’t have to think about opening unless I needed to use it.&lt;/p&gt;

&lt;p&gt;I wrapped the command line libraries in a taskbar app. An icon sits silently in the taskbar so you can drag photos over it which reveals a dialog. That dialog lets you quickly and easily batch edit the meta-data on photos. Like everything else that’s happened with Elodie the taskbar app has turned out much better than I originally envisioned.&lt;/p&gt;

&lt;h4 id=&quot;accounting-for-photos-taken-in-thefuture&quot;&gt;Accounting for photos taken in the future&lt;/h4&gt;

&lt;p&gt;What about photos taken in the future? I needed an easy way to get them flowing into my organized photo and video library. I knew what I didn’t want. No cables. No slow uploads over the Internet. No “auto backup” of my entire camera roll.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-introducing-elodie-5.jpg&quot; alt=&quot;El Capitan at Yosemite, CA&quot; /&gt;
	&lt;figcaption&gt;El Capitan at Yosemite, CA&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;That rules out the usual suspects for getting photos off a phone. Fortunately with El Capitan I’m able to AirDrop photos from my iPhone to Macbook. My wife can also AirDrop photos to my Macbook.&lt;/p&gt;

&lt;p&gt;AirDrop it is.&lt;/p&gt;

&lt;p&gt;Any photo I want to add to my library I can simply AirDrop to my laptop. Anyone else can, in fact, AirDrop photos and videos to my laptop and they are organized into my photo library.&lt;/p&gt;

&lt;p&gt;Easy. Fast. Automatic. Built-in.&lt;/p&gt;

&lt;h4 id=&quot;informing-elodie-of-new-photos-toprocess&quot;&gt;Informing Elodie of new photos to process&lt;/h4&gt;

&lt;p&gt;AirDrop puts files into your &lt;em&gt;~/Downloads&lt;/em&gt; folder so that’s a good place to start. Let’s have Elodie do her magic any time new photos or videos show up there. But if we can do this for &lt;em&gt;~/Downloads&lt;/em&gt; we can do it for any other folder too. Pretty cool.&lt;/p&gt;

&lt;p&gt;Elodie is sophisticated enough to not process random images or movies that show up in &lt;em&gt;~/Downloads&lt;/em&gt;. Your screenshots won’t end up in your library.&lt;/p&gt;

&lt;p&gt;I’ve been doing this for a few weeks and it works really well. AirDrop works great and I use it 95% of the time but I found myself in situations where I wanted to offload photos while my laptop wasn’t next to me.&lt;/p&gt;

&lt;p&gt;Is that even possible? Glad you asked.&lt;/p&gt;

&lt;h4 id=&quot;using-elodie-with-dropbox-or-googledrive&quot;&gt;Using Elodie with Dropbox or Google Drive&lt;/h4&gt;

&lt;p&gt;I have Elodie watching &lt;em&gt;~/Downloads&lt;/em&gt; for new photos and videos so I can use AirDrop. I could just as easily have her watch another folder inside &lt;em&gt;~/Dropbox&lt;/em&gt; or &lt;em&gt;~/Google Drive&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;That lets me use their respective mobile app to upload photos from my phone to the cloud and my laptop will eventually sync the files down into the additional folder which Elodie is watching. It works really well because it is completely asynchronous.&lt;/p&gt;

&lt;p&gt;Further you can select a folder in your Dropbox or Google Drive as the location which Elodie puts your organized photo library. This gives you a simple offsite backup. You can even use their mobile apps to access your photo library. I originally did this with Dropbox and it worked really well.&lt;/p&gt;

&lt;h4 id=&quot;using-synology-cloudsync-for-a-3rdbackup&quot;&gt;Using Synology CloudSync for a 3rd backup&lt;/h4&gt;

&lt;p&gt;You can never have too many backups and one of them should absolutely be in your home. Since I’m sync’ed with a cloud service I can use Synology’s CloudSync program to automatically keep an updated local copy of my entire photo library safe within my home.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2015-12-01-introducing-elodie-6.jpg&quot; alt=&quot;Synology NAS (photo credits, CNET)&quot; /&gt;
	&lt;figcaption&gt;Synology NAS (photo credits, CNET)&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;With no additional work I obtained three geographically distributed copies of my entire photo library which automatically stays up to date.&lt;/p&gt;

&lt;h4 id=&quot;bringing-my-photos-tolife&quot;&gt;Bringing my photos to life&lt;/h4&gt;

&lt;p&gt;I’ve been really happy with Elodie so far. The only piece missing is the most rewarding.&lt;/p&gt;

&lt;p&gt;How can I enjoy my photos now that I have them organized, backed up and preserved?&lt;/p&gt;

&lt;p&gt;In my next post I’ll talk about &lt;a href=&quot;/articles/my-automated-photo-workflow-using-google-photos-and-elodie/&quot;&gt;how I use Google Photos&lt;/a&gt; along side of Elodie without compromising any of my originally stated goals. It’s pretty amazing so you’ll definitely want to read it.&lt;/p&gt;

&lt;p&gt;Make sure you read my other posts in this series.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/understanding-my-need-for-an-automated-photo-workflow/&quot;&gt;Understanding My Need for an Automated Photo Workflow&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/my-automated-photo-workflow-using-google-photos-and-elodie/&quot;&gt;My Automated Photo Workflow using Google Photos and Elodie&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/articles/one-year-of-using-an-automated-photo-organization-and-archiving-workflow/&quot;&gt;One Year of Using an Automated Photo Organization and Archiving Workflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/introducing-elodie-your-personal-exif-based-photo-and-video-assistant/&quot;&gt;Introducing Elodie; Your Personal EXIF-based Photo and Video Assistant&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on December 01, 2015.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Startup Acquisition Video Log]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/openphoto-trovebox/video-log/"/>
  <id>https://jaisenmathai.com/openphoto-trovebox/video-log</id>
  <published>2014-09-15T00:00:00-07:00</published>
  <updated>2014-09-15T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#trovebox" term="trovebox" />
  <content type="html">
    &lt;h3 id=&quot;2014-01-21-january-21st-2014&quot;&gt;2014-01-21 (January 21st, 2014)&lt;/h3&gt;

&lt;p&gt;My initial video documenting the last 5 months before Trovebox was acquired. At this point my primary focus was on sales. I was cold calling customers and trying to close a sales deal with Columbia Law University.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/O_--7c6IEEk&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-02-12-february-12th-2014&quot;&gt;2014-02-12 (February 12th, 2014)&lt;/h3&gt;

&lt;p&gt;We arranged to have booths at 3 conferences. Columbia Law University got back with us that our proposal was too high. We were also working with University of Southern California to partner on a solution to have digital yearbooks in schools.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/snTCh40VkUw&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-02-13-february-13th-2014&quot;&gt;2014-02-13 (February 13th, 2014)&lt;/h3&gt;

&lt;p&gt;We were hitting some pretty large headwinds with proposals not landing well with regard to pricing. Our other discussions were dragging on too. Overall the long sales cycle were not looking favorable given our runway.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/tXy8z3cVrhA&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-03-05-march-5th-2014&quot;&gt;2014-03-05 (March 5th, 2014)&lt;/h3&gt;

&lt;p&gt;My co-founder and I decided to shut Trovebox down. This decision kicked off several secondary initiatives. The first was to shut the service down while living up to the promise of data portability. The second was identifying a plan B to identify possible acquisitions.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/aIwNxWHAEZg&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-03-09-march-9th-2014&quot;&gt;2014-03-09 (March 9th, 2014)&lt;/h3&gt;

&lt;p&gt;We started talking to our mentors about what to expect when shutting down and what our options were. We wanted to make sure and deliver on our promise to users of data portability and felt confident we could do that.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/Rkc0kmHO0wM&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-03-18-march-18th-2014&quot;&gt;2014-03-18 (March 18th, 2014)&lt;/h3&gt;

&lt;p&gt;We had our first of many meetings with companies interested in an acquisition. This meeting was with 10 people at Western Digital including Directors, VPs and SVPs.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/purjPq03tRE&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-03-24-march-24th-2014&quot;&gt;2014-03-24 (March 24th, 2014)&lt;/h3&gt;

&lt;p&gt;This starts the cat and mouse game of waiting for a response from Western Digital. We presented to them 6 days prior. The attendance grew from 10 to 15 people to whom we demoed and answered questions.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/8c5ckPF0ULo&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-03-27-march-27th-2014&quot;&gt;2014-03-27 (March 27th, 2014)&lt;/h3&gt;

&lt;p&gt;We didn’t hear back from Western Digital yet so I sent a follow up email. They responded that they would like to set up a follow up meeting. In the meantime, I started coding a little bit to deal with the stress.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/f9EJejmb1KM&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-03-29-march-29th-2014&quot;&gt;2014-03-29 (March 29th, 2014)&lt;/h3&gt;

&lt;p&gt;We met with a Director at Dreamhost to discuss interest in an acquisition.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/TppVXBZaBt4&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-04-23-april-23rd-2014&quot;&gt;2014-04-23 (April 23rd, 2014)&lt;/h3&gt;

&lt;p&gt;We had an idea that I decided to file a provisional patent for before presenting the idea to Western Digital. The idea was to have Trovebox running on NAS devices and with the ability to communicate with other NAS devices. This would create a network of tens or hundreds of thousands of NAS devices which had the ability to communicate with each other. I demoed a working prototype of this on their MyCloud NAS devices.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/lSegb3K9K0A&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-04-29-april-29th-2014&quot;&gt;2014-04-29 (April 29th, 2014)&lt;/h3&gt;

&lt;p&gt;The idea of running Trovebox on NAS devices continued to take shape. We essentially took all the technology we created and quickly pivoted to an entirely different product. I installed Trovebox on several additional NAS devices and shipped them to family in Ohio and New York. We started showing the prototype to others with favorable feedback.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/RSLojtG76Ws&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-05-06-may-6th-2014&quot;&gt;2014-05-06 (May 6th, 2014)&lt;/h3&gt;

&lt;p&gt;More cat and mouse with Western Digital. New opportunities started to arise with NetGear and IdeaLabs. We considered pivoting to this new idea but ultimately decided not to pursue the idea and continue focusing on acquisition opportunities.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/70NMK6XepV8&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;hr /&gt;

&lt;h3 id=&quot;2014-05-12-may-12th-2014&quot;&gt;2014-05-12 (May 12th, 2014)&lt;/h3&gt;

&lt;p&gt;Demoed the prototype running on a NetGear ReadyNAS to an SVP at NetGear. Discussions with Western Digital were progressing slowly but showed signs of hope.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/WPTFJn403H4&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-05-14-may-14th-2014&quot;&gt;2014-05-14 (May 14th, 2014)&lt;/h3&gt;

&lt;p&gt;Western Digital asked us to come back and demo to an EVP who would be the final decision maker. NetGear wanted a follow up meeting as well.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/8KU9tOtoPm4&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-05-16-may-16th-2014&quot;&gt;2014-05-16 (May 16th, 2014)&lt;/h3&gt;

&lt;p&gt;Demoed the prototype to an EVP at Western Digital.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/_T8KbuwfvYo&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2014-05-19-may-19th-2014&quot;&gt;2014-05-19 (May 19th, 2014)&lt;/h3&gt;

&lt;p&gt;Demo with Western Digital went well. I ran into some technical difficulties preparing the demo but was able to improvise. Discussions moved forward with Western Digital and we ultimately sold the company to them. I spent the next 2 years integrating our software onto their NAS. We successfully completed this and had our apps approved in the Apple App Store and uploaded to the Google Play Store. In the final stretch, new leadership that recently joined decided to kill the product before launching. I left the company several months later.&lt;/p&gt;

&lt;p&gt;Our idea of an interconnected network of 10s of thousands of NAS devices that could safely store your photos while securely accessing your friends’ photos without the need of a centralized service never went beyond a prototype or outside the walls of Western Digital. Many of the ideas are resurfacing 5 years later as part of Web3.&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/0XyPS8-MFI0&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;


    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/openphoto-trovebox/video-log/&quot;&gt;Startup Acquisition Video Log&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on September 15, 2014.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[My Shuttleworth Fellowship]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/shuttleworth/"/>
  <id>https://jaisenmathai.com/articles/shuttleworth</id>
  <published>2014-09-11T00:00:00-07:00</published>
  <updated>2014-09-11T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#technology" term="technology" /><category scheme="https://jaisenmathai.com/tags/#article" term="article" />
  <content type="html">
    &lt;blockquote&gt;
  &lt;p&gt;&lt;a href=&quot;https://shuttleworthfoundation.org/&quot;&gt;We are the Shuttleworth Foundation and we fund people who are unafraid to re-imagine the world
and the way we live in it.&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There exists in Cape Town, South Africa a small group of people taking bold risks by investing in people ambitious enough to change the world through openness. I only came to know about the &lt;a href=&quot;https://shuttleworthfoundation.org/&quot;&gt;Shuttleworth Foundation&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt; in 2012 while we were looking for &lt;a href=&quot;../fundraising/&quot;&gt;funding sources&lt;/a&gt;. It’s founded and funded by entrepreneur &lt;a href=&quot;http://en.wikipedia.org/wiki/Mark_Shuttleworth&quot;&gt;Mark Shuttleworth&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;.&lt;/p&gt;

&lt;iframe src=&quot;//player.vimeo.com/video/54762523&quot; width=&quot;500&quot; height=&quot;281&quot; webkitallowfullscreen=&quot;&quot; mozallowfullscreen=&quot;&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;On the surface the Foundation looks like part venture capitalist and part foundational grant institution. It’s an accurate description but to say that’s &lt;em&gt;all&lt;/em&gt; the Foundation is would be a gross understatement.&lt;/p&gt;

&lt;p&gt;Bi-annually the Foundation gives up to 3 years of fellowship to individuals working on something &lt;a href=&quot;https://shuttleworthfoundation.org/thinking/thinking-openness/&quot;&gt;in an open manner&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;. That includes openness in education, science, data, government, software and more. The Foundation measures success not in dollars but in positive social change.&lt;/p&gt;

&lt;h2 id=&quot;my-fellowship-for-trovebox&quot;&gt;My fellowship for Trovebox&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://shuttleworthfoundation.org/fellows/jaisen-mathai/&quot;&gt;My fellowship&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt; was for &lt;a href=&quot;http://en.wikipedia.org/wiki/Trovebox&quot;&gt;Trovebox&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt; (originally OpenPhoto). We set out to make possible the preservation of digital photo archives for posterity. Openness is innate to solving that problem. Ideas like data ownership and portability need to be cornerstones; not an afterthought. Our approach of &lt;a href=&quot;https://github.com/photo&quot;&gt;open sourcing our software&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt; and experimenting with distributed storage for digital media are what made it a good fit to receive a fellowship.&lt;/p&gt;

&lt;figure class=&quot;half&quot;&gt;
	&lt;img src=&quot;/images/photos/2014-04-17-wd-mycloud-bricked.jpg&quot; alt=&quot;Restoring the image on a bricked Western Digital MyCloud device&quot; /&gt;
	&lt;img src=&quot;/images/photos/2014-04-17-wd-mycloud-internals.jpg&quot; alt=&quot;The internals of a Western Digital MyCloud device&quot; /&gt;
	&lt;figcaption&gt;We experimented with and prototyped having Trovebox installed on a NAS. Credit: &lt;a href=&quot;/&quot;&gt;Jaisen Mathai&lt;/a&gt; CC BY.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;a-mix-of-funding-and-community&quot;&gt;A mix of funding and community&lt;/h2&gt;

&lt;p&gt;The Foundation provides over $1,000,000 in funding over 3 years. It takes a lot of resources to do big things and the financial support provided by the Foundation is critical. But it’s the less interesting of two components.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I came for the money and stayed for the community. – Me&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s impossible to know how the community plays into a fellowship until you arrive at your first Gathering. The Foundation has bi-annual Gatherings where every fellow, current and alumni, converge in a single location. It’s a week crammed together in a room talking about everyone’s projects or around a dinner table discussing everything from the &lt;a href=&quot;https://shuttleworthfoundation.org/fellows/johnny-west/&quot;&gt;lack of transparency at large corporations&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt; to &lt;a href=&quot;https://shuttleworthfoundation.org/fellows/arthur-atwell/&quot;&gt;putting educational materials into the hands of the poor in South Africa&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2013-11-12-gathering-edinburgh.jpg&quot; alt=&quot;A dozen people seated around a large wooden table covered in laptops, notebooks and glasses, in a dim room with a projector screen and flip chart.&quot; /&gt;
	&lt;figcaption&gt;At a Gathering in Edinburgh, Scotland. Credit: &lt;a href=&quot;https://shuttleworthfoundation.org&quot;&gt;Jason Hudson&lt;/a&gt; CC BY.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;I’ve been surrounded by brilliance at many points in my life but I’ve never been inspired like I am when I’m with this group of people. The support system between fellows was unparalleled.&lt;/p&gt;

&lt;h2 id=&quot;experimenting-is-in-the-dna&quot;&gt;Experimenting is in the DNA&lt;/h2&gt;

&lt;p&gt;Each fellowship is unique despite sharing a common thread of openness. The Foundation understands that to get from point A to point B you might have to go through point C. And some of those times you end up at point Z which was more interesting than point B in the first place. I appreciated that they were always supportive of experimenting and changing course as a result.&lt;/p&gt;

&lt;p&gt;I recall my fellowship and some of the changes we made which led me to feel we weren’t making any progress. The Foundation remained patient and supportive as I eventually found my way back to where I started. But this time I arrived equipped with a war chest of knowledge and a completely new and novel approach.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It took us 3 years but it had to take us three years. - Me&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Most amazingly I remember talking to Helen and Karien in Budapest at the Gathering in May of 2014 about my contemplation of not applying for a third fellowship. I was excited about what we learned and the new approach we had at making permanence of media archives possible. At the same time I was exhausted and couldn’t see the path to sustainability. I’ll never forget Helen’s response urging me to apply again. That’s not the type of commitment or support you come across often.&lt;/p&gt;

&lt;p&gt;Ultimately I decided not to apply; one of the most difficult decisions during &lt;a href=&quot;../../openphoto-trovebox/&quot;&gt;this journey&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;becoming-an-alumni&quot;&gt;Becoming an alumni&lt;/h2&gt;

&lt;p&gt;By now I’ve been an alumni for just over a week. The Foundation published &lt;a href=&quot;https://shuttleworthfoundation.org/thinking/thinking-fellowship-exit-2014/&quot;&gt;Arthur and my exit from the fellowship program&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt; on their site today. Reading that page and watching the video made the transition from my fellowship to the next chapter quite concrete.&lt;/p&gt;

&lt;iframe src=&quot;//player.vimeo.com/video/103912044&quot; width=&quot;500&quot; height=&quot;281&quot; webkitallowfullscreen=&quot;&quot; mozallowfullscreen=&quot;&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;It’s hard to put into words how much my fellowship meant to me and how much I learned as a result. As I continue towards our original goal of permanence for digital media I’ll do it with more openness, more ambition and with the support of a small army of people around the world.&lt;/p&gt;

&lt;p&gt;Once a fellow, always a fellow.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/shuttleworth/&quot;&gt;My Shuttleworth Fellowship&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on September 11, 2014.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[Timeline]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/openphoto-trovebox/timeline/"/>
  <id>https://jaisenmathai.com/openphoto-trovebox/timeline</id>
  <published>2014-09-10T00:00:00-07:00</published>
  <updated>2014-09-10T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#trovebox" term="trovebox" />
  <content type="html">
    &lt;p&gt;Over the 3 years we spent building Trovebox there were countless successes and failures. All of which helped shape the company, product and founders.&lt;/p&gt;

&lt;p&gt;Below is a timeline view of events that makes it possible to quickly consume most of the ups and downs we had.&lt;/p&gt;

&lt;h2 id=&quot;may-2011---december-2011-before-funding&quot;&gt;May 2011 - December 2011 (before funding)&lt;/h2&gt;

&lt;p&gt;The first months were some of the most exciting. We built a product from scratch and gained a following.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;May&lt;/strong&gt; - I left my job to start OpenPhoto. The first milestone was &lt;a href=&quot;https://www.kickstarter.com/projects/jmathai/openphoto-a-photo-service-for-your-s3-or-dropbox-a&quot;&gt;a successful Kickstarter campaign&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Aug&lt;/strong&gt; - &lt;a href=&quot;http://blog.webfwd.org/post/9300091721/webfwd-welcomes-the-first-fellows&quot;&gt;OpenPhoto was accepted into Mozilla WebFWD&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Sep&lt;/strong&gt; - OpenPhoto was a standby for TechCrunch Disrupt. We didn’t get to participate in the contest but were offered the chance to have a table in Startup Alley.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Sep&lt;/strong&gt; - Pitched to Kapoor Foundation by way of intro from Marco DeMiroz. Did not get past first meeting.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Oct&lt;/strong&gt; - Version 1.2 of OpenPhoto was released (7 contributors).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Oct&lt;/strong&gt; - Initial beta version of iPhone app via TestFlight.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Oct&lt;/strong&gt; - Pitched to Khosla Ventures. I met Vinod Khosla at TC Disrupt who asked that I contact him afterwards. Did not get past first meeting.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Nov&lt;/strong&gt; - Version 1.3 of OpenPhoto was released (4 contributors).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;january-2012---july-2012-before-funding&quot;&gt;January 2012 - July 2012 (before funding)&lt;/h2&gt;

&lt;p&gt;The first half of 2012 was largly focused on securing funding.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Feb&lt;/strong&gt; - Was invited to interview with IO Ventures. This is a selective process and they receive 700 applications of which 40 get asked to interview. We did not get accepted.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Feb&lt;/strong&gt; - Was invited to pitch to Band of Angels. This is a selective process and we were 3 of 50 companies selected to pitch. Did not get past the pitch.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Apr&lt;/strong&gt; - OpenPhoto iPhone app released in the App Store.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;May&lt;/strong&gt; - Released “Import from Flickr”.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jun&lt;/strong&gt; - Released “Import from PicPlz”. This was our first initiative at providing an option for users of sites that were shutting down or making terms of use changes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jul&lt;/strong&gt; - Version 3.0 of OpenPhoto was released (18 contributors).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;august-2012---december-2012-after-funding&quot;&gt;August 2012 - December 2012 (after funding)&lt;/h2&gt;

&lt;p&gt;After receiving funding we got back to focusing on the product.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Aug&lt;/strong&gt; - Received Shuttleworth Foundation fellowship.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Nov&lt;/strong&gt; - Added support for 5 cloud storage providers.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Dec&lt;/strong&gt; - OpenPhoto Android app released in the Google Play store.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;2013-after-funding&quot;&gt;2013 (after funding)&lt;/h2&gt;

&lt;p&gt;As we entered 2013 we focused almost entirely on sales and marketing to fuel growth. We decided in May to &lt;a href=&quot;../the-pivot/&quot;&gt;pivot to targeting businesses&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Jan&lt;/strong&gt; - OpenPhoto relaunched as Trovebox (6 contributors).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Apr&lt;/strong&gt; - Archive.org support added.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;May&lt;/strong&gt; - iPad support added to iOS app.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;May&lt;/strong&gt; - Realized that growth with consumers was too low and that we needed to find an alternative.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;May&lt;/strong&gt; - Partnered with Insight Sales Dynamics (ISD) and worked with Brian to land large enterprise deals.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;May&lt;/strong&gt; - (ISD) Meeting with CEO from Topia Software. Had 3 calls but did not close.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jun&lt;/strong&gt; - (ISD) Meeting with VP at Sony. Met in person 4 times over 8 months but did not close.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jul&lt;/strong&gt; - Group support added to Trovebox.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jul&lt;/strong&gt; - Received 2nd year Shuttleworth Foundation fellowship.
&lt;!--* **Aug** - (ISD) Meeting with Directors initiated by EVP at Western Digital. This would result in numerous meetings finalizing in an acquisition a year later.--&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Sep&lt;/strong&gt; - (ISD) Meeting with VP at Roku. Had 2 calls but did not close.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Oct&lt;/strong&gt; - Switched Trovebox from consumers to businesses.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Dec&lt;/strong&gt; - Released Trovebox Collect.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;2014-after-funding&quot;&gt;2014 (after funding)&lt;/h2&gt;

&lt;p&gt;This was an important year for us as we focused on growing our customer base by targeting businesses. We tried everything from cold calling companies to exhibiting at trade shows.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Jan&lt;/strong&gt; - Began cold calling group travel vacation companies. This lasted a month and the results were terrible.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Feb&lt;/strong&gt; - Launched beta of video support.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mar&lt;/strong&gt; - Exhibited at 3 expos. This was sort of a last ditch effort to try and figure out a strategy or market which would provide significant growth for us with businesses. This wound up not working out and we decided that we couldn’t get the growth we needed.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mar&lt;/strong&gt; - Considered Kickstarting a TroveboxHome project which would be a physical network attached storage device that ran Trovebox software or otherwise communicated intelligently with Trovebox in the cloud. After speaking with Dr. Song we decided not to pursue this idea.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mar&lt;/strong&gt; - Reached out to prior ISD contacts about opportunities and Western Digital was interested. This resulted in a meeting with about 15 key people from Western Digital’s Branded Products group.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mar&lt;/strong&gt; - Met with Western Digital and demoed our product. We had met with them a year earlier to private label our software but nothing materialized.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mar&lt;/strong&gt; - Met with Dreamhost to discuss interest in an acquisition.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Apr&lt;/strong&gt; - Prototyped Trovebox running on a Western Digital MyCloud device. Demo’ed to Western Digital.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;May&lt;/strong&gt; - Prototyped Trovebox running on a Netgear ReadyNAS device. Demo’ed to Netgear.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;May&lt;/strong&gt; - Demo’ed to Drobo.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jun&lt;/strong&gt; - Signed Letter of Intent from Western Digital to be acquired.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Jul&lt;/strong&gt; - Joined Western Digital.&lt;/li&gt;
&lt;/ul&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/openphoto-trovebox/timeline/&quot;&gt;Timeline&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on September 10, 2014.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[The Struggle]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/openphoto-trovebox/the-struggle/"/>
  <id>https://jaisenmathai.com/openphoto-trovebox/the-struggle</id>
  <published>2014-08-07T00:00:00-07:00</published>
  <updated>2014-08-07T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#trovebox" term="trovebox" />
  <content type="html">
    &lt;p&gt;There were many days and even weeks where I was convinced all this was a huge mistake.
Ben Horrowitz, a well known venture capitalist, blogged on this topic in 2012 in blog post also called &lt;a href=&quot;http://www.bhorowitz.com/the_struggle&quot;&gt;The Struggle&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;.&lt;/p&gt;

&lt;h2 id=&quot;its-complicated&quot;&gt;It’s complicated&lt;/h2&gt;

&lt;p&gt;Us humans are neither binary or entirely logical; thank goodness.
We’re complex creatures and what constitutes happiness, contentment, joy or any of the opposite emotions depend on a large number of factors.
This makes &lt;em&gt;The Struggle&lt;/em&gt; even more acute.&lt;/p&gt;

&lt;p&gt;It started for me near the end of 2011 when we were failing to raise funding.
I knew we absolutely needed to secure funding to succeed.
I won’t go into the details of our fundraising journey in this article but you can &lt;a href=&quot;../fundraising/&quot;&gt;read about it here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;being-a-team&quot;&gt;Being a team&lt;/h2&gt;

&lt;p&gt;The pros of having a co-founder undoubtably outweigh the cons.
But I’d be lying if I didn’t admit that having a co-founder increased the pressure I put on myself.
If we couldn’t figure out how to make Trovebox successful then I’d feel some guilt along with it.&lt;/p&gt;

&lt;figure class=&quot;half&quot;&gt;
	&lt;img src=&quot;/images/photos/2012-05-06-patrick-santa-cruz.jpg&quot; alt=&quot;Patrick at Santa Cruz&quot; /&gt;
	&lt;img src=&quot;/images/photos/2012-05-06-jaisen-santa-cruz.jpg&quot; alt=&quot;Me at Santa Cruz with Rachel in the background&quot; /&gt;
	&lt;figcaption&gt;Santa Cruz with Patrick during his first visit. Credit: &lt;a href=&quot;/&quot;&gt;Jaisen Mathai&lt;/a&gt; CC BY.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;understanding-my-motivations&quot;&gt;Understanding my motivations&lt;/h2&gt;

&lt;p&gt;There was a clear consequence of not getting investment; we’d have to abandon and shut down OpenPhoto.
Founders start companies for various reasons but there’s always a common thread of believing strongly in something.
It might be a belief that building something will improve people’s lives, make you a lot of money or change something that’s in need of change.
Most often it’s a combination of these that drive founders.&lt;/p&gt;

&lt;p&gt;I believed OpenPhoto needed to exist.
I’m a bit of a nostalgic.
I love to relive past moments.
Furthermore it became really important to me that we preserve the memories of our family’s everyday life.
One day I hope to sit with my kids and show them photos of their childhood; much like my own parents did with me.&lt;/p&gt;

&lt;p&gt;I believed something needed to be changed. Looking around at how everyone dealt with, or didn’t deal with, archiving photos I knew something had to change.&lt;/p&gt;

&lt;p&gt;I believed we could build a successful busines. I’ve always been driven to create businesses. In middle school I would buy &lt;a href=&quot;http://en.wikipedia.org/wiki/ZotZ_%28candy%29&quot;&gt;Zotz&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt; candy for $.03 and sell it for $.05. A hefty 66% margin.&lt;/p&gt;

&lt;p&gt;As with any strong belief it’s difficult to come to terms with the idea that things won’t pan out the way you believed.&lt;/p&gt;

&lt;p&gt;But there’s a tougher reality that had dawned on me.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Does shutting down mean failure?
How would I explain this to friends and family who thought I was making a mistake when I left Yahoo?
Do I just go back and get a normal job?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hello ego, pride and insecurity.
Not traits I’m particularly proud of but they helped motivate me to continue building OpenPhoto.
I imagine ego drives more entrepreneurs than you’d think.&lt;/p&gt;

&lt;h2 id=&quot;the-effect-of-having-no-money&quot;&gt;The effect of having no money&lt;/h2&gt;

&lt;p&gt;Louis C.K., a comedian, has a great bit titled &lt;em&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=J0rSXjVuJVg&quot;&gt;Being Broke&lt;/a&gt;&lt;/em&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;.
Besides being hilarious I felt like I could relate&lt;sup&gt;1&lt;/sup&gt;.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;You ever have negative money? You look at your bank account and you have negative $10. […] I wish I didn’t have anything but I have less than that. If it’s free I can’t f*****g afford it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It turns out that the lack of money can act as a crucial forcing function.
When you’re facing the reality of shutting down a startup because you can’t pay your bills you’ll quickly focus on what matters most.
Even in hindsight I know we didn’t waste much time focusing on the wrong things.
I have our dwindling bank account to thank for this.&lt;/p&gt;

&lt;h2 id=&quot;growth-is-everything&quot;&gt;Growth is everything&lt;/h2&gt;

&lt;p&gt;There was one thing that rang true on each day of Trovebox: &lt;em&gt;growth&lt;/em&gt;.
Growth shares many characteristics with fundraising.
Namely growth is largely out of your control and all you can do is try and make the stars align.&lt;/p&gt;

&lt;p&gt;The feeling of not acheiving growth was as stressful as when we couldn’t finding funding.
It was a sign that the product was headed in the wrong direction and it felt like we were trying to turn the Titanic around.&lt;/p&gt;

&lt;p&gt;I spent the beginning of 2014 going through a spreadsheet of 600 potential customers we could sell to.
I called them up on the phone and in the unlikely event there was interest it started a series of calls to close a sale.
None of them panned out.&lt;/p&gt;

&lt;p&gt;Perhaps our product wasn’t solving a need as critical as our earlier conversations with customers implied.
Maybe it was that we grossly underestimated the length of the sales cycle.&lt;/p&gt;

&lt;p&gt;I don’t believe we’ll ever know.&lt;/p&gt;

&lt;h2 id=&quot;dashed-hopes&quot;&gt;Dashed hopes&lt;/h2&gt;

&lt;p&gt;Then you have the golden opportunities.
Ones which have all the signs and promise of being a home run.
We had promising meetings with execs from Sony, Netgear, Roku and Western Digital.
We even met with Sony 4 times in San Diego.
Nothing.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2013-10-04-cigars-with-brian.jpg&quot; alt=&quot;Two men standing indoors smoking cigars, a large wall clock and shuttered windows behind them.&quot; /&gt;
	&lt;figcaption&gt;Smoking cigars with our sales lead to celebrate one of our meetings. Credit: &lt;a href=&quot;/&quot;&gt;Jaisen Mathai&lt;/a&gt; CC BY.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;These were particularly difficult because when we crashed we crashed hard.
Forging partnerships with companies is difficult because you have little insight into their roadmap.
A company maybe highly interested but then go silent for 6 months and come back to restart the conversation.
You can only do your best and stay on their radar.&lt;/p&gt;

&lt;h2 id=&quot;everyday-will-bring-a-struggle&quot;&gt;Everyday will bring a struggle&lt;/h2&gt;

&lt;p&gt;Those are some of the larger struggles I remember.
But every day brings struggles.
A lot of it is psychological and emotional.
Keeping on top of that without losing your sanity isn’t easy.&lt;/p&gt;

&lt;p&gt;That’s why it’s so critical to have a good &lt;a href=&quot;../support/&quot;&gt;support system&lt;/a&gt;.
Else you’ll got nuts and take your company down with you.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;small&gt;&lt;sup&gt;1&lt;/sup&gt; Just a disclaimer that I’m not implying I was poor.
When I think of people being poor it’s not just a lack of money but a lack of opportunity.
I empathize greatly with people who find themselves in that situation. 
I never considered myself poor despite not having money.&lt;/small&gt;&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/openphoto-trovebox/the-struggle/&quot;&gt;The Struggle&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on August 07, 2014.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[My Support System]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/openphoto-trovebox/support/"/>
  <id>https://jaisenmathai.com/openphoto-trovebox/support</id>
  <published>2014-06-05T00:00:00-07:00</published>
  <updated>2014-06-05T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#trovebox" term="trovebox" />
  <content type="html">
    &lt;p&gt;It was over 3 years ago when this journey started. I thought if things went terribly that it would last as little as 6 months and if things went really well it could have gone on for a decade.&lt;/p&gt;

&lt;p&gt;Curveballs.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href=&quot;http://brandonb.cc/what-happened-when-my-co-founder-quit-the-night-before-our-yc-interview&quot;&gt;It’s the part that makes startups hard: managing your own psychology when it looks like everything is falling apart.&lt;/a&gt; &lt;small&gt;&lt;i class=&quot;icon-external-link&quot;&gt;&lt;/i&gt;&lt;/small&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So many times it felt like everything was falling in around us. I can recall the 3 times Patrick and I talked about how there’s no light at the end of the tunnel. Twice on Castro St. in Mountain View where we worked when Patrick was in town we planned how we’d shut Trovebox down.&lt;/p&gt;

&lt;p&gt;When they say your chances of success increase if you have a great co-founder this is what they must have been talking about. On my worst days it felt like Patrick was the only one who could pull me out of the depths. Those days were plentiful.&lt;/p&gt;

&lt;h2 id=&quot;family&quot;&gt;Family&lt;/h2&gt;

&lt;p&gt;Despite the consuming nature of doing a startup my first commitment was always to Rachel and our 2 kids. Rachel didn’t know what she was signing up for on that day when I asked her what she thought about me leaving my job and decent health insurance along with it. Life threw us many curveballs but I had her unflinching support at every turn.&lt;/p&gt;

&lt;figure class=&quot;third&quot;&gt;
	&lt;img src=&quot;/images/photos/2014-09-23-tavin-at-gilroy-gardens.jpg&quot; alt=&quot;Tavin at Gilroy Gardens&quot; /&gt;
	&lt;img src=&quot;/images/photos/2014-09-23-elodie-at-gilroy-gardens.jpg&quot; alt=&quot;Elodie at Gilroy Gardens&quot; /&gt;
	&lt;img src=&quot;/images/photos/2010-11-08-jaisen-and-rachel-in-carmel.jpg&quot; alt=&quot;Rachel and I in Carmel&quot; /&gt;
	&lt;figcaption&gt;Mi familia. Credit: &lt;a href=&quot;/&quot;&gt;Jaisen Mathai&lt;/a&gt; CC BY.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Then there’s my parents who think I’m crazy. That gets reinforced each time I chase a startup idea. This is the second time I left a job to start something. They want nothing more than for me to get a job at a big stable company and be a loyal employee until I retire. Nonetheless they supported me as they have in the past despite thinking I was being foolish.&lt;/p&gt;

&lt;h2 id=&quot;the-shuttleworth-foundation&quot;&gt;The Shuttleworth Foundation&lt;/h2&gt;

&lt;p&gt;I wrote in more detail about &lt;a href=&quot;../../articles/shuttleworth/&quot;&gt;my experience as a Shuttleworth fellow&lt;/a&gt; if you wanted to read it. But to make a long post short they’ve been the best partner I could ask for. Not only did they provide nearly $1M in funding but they provided a network of the brightest and most ambitious people I’ve met. All working on something that makes the world a better place. There’s nothing else quite like it.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2013-05-27-shuttleworth-gathering-mit-media-lab.jpg&quot; alt=&quot;A wide panorama of about twenty people seated at long white tables with laptops in a bright, glass-walled room.&quot; /&gt;
	&lt;figcaption&gt;Shuttleworth Gathering at the MIT Media Lab. Credit: &lt;a href=&quot;/&quot;&gt;Jaisen Mathai&lt;/a&gt; CC BY.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;friends&quot;&gt;Friends&lt;/h2&gt;

&lt;p&gt;There were countless friends who believed in me as well. They helped me keep my sanity when I questioned if I had made a terrible mistake.&lt;/p&gt;

&lt;p&gt;It doesn’t take a village to build a startup but it helps to have people in your corner. You don’t need them every day but you will need them.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/openphoto-trovebox/support/&quot;&gt;My Support System&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on June 05, 2014.&lt;/p&gt;
  </content>
</entry>


<entry>
  <title type="html"><![CDATA[UX Nirvana ~ Elegant Pagination with Infinite Scrolling]]></title>
  <link rel="alternate" type="text/html" href="https://jaisenmathai.com/articles/ux-nirvana-elegant-pagination-with-infinite-scrolling/"/>
  <id>https://jaisenmathai.com/articles/ux-nirvana-elegant-pagination-with-infinite-scrolling</id>
  <published>2014-04-04T00:00:00-07:00</published>
  <updated>2014-04-04T00:00:00-07:00</updated>
  <author>
    <name>Jaisen Mathai</name>
    <uri>https://jaisenmathai.com</uri>
    <email>jaisen@jmathai.com</email>
  </author>
  <category scheme="https://jaisenmathai.com/tags/#technology" term="technology" /><category scheme="https://jaisenmathai.com/tags/#article" term="article" />
  <content type="html">
    &lt;figure&gt;
	&lt;img src=&quot;/images/photos/2014-04-04-infinite-scroll-pagination-1.jpg&quot; alt=&quot;Two young children walking across a sandy beach carrying plastic buckets, the ocean and a blue sky behind them.&quot; /&gt;
&lt;/figure&gt;

&lt;h4 id=&quot;we-just-pushed-the-impossible-to-production-infinite-scrolling-with-pagination-that-actuallyworks&quot;&gt;We just pushed the impossible to production; infinite scrolling with pagination that actually works.&lt;/h4&gt;

&lt;p&gt;Trovebox is a &lt;a href=&quot;https://trovebox.com/&quot;&gt;media management and sharing service for teams and organizations&lt;/a&gt;. &lt;a href=&quot;https://trovebox.com/plans&quot;&gt;Start your free trial&lt;/a&gt; today.&lt;/p&gt;

&lt;p&gt;Two years ago our photo gallery looked much different than it does today. It was a grid of cropped photos with pagination links. The user interface was terrible and the user experience worse.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2014-04-04-infinite-scroll-pagination-2.jpg&quot; alt=&quot;version 1.0 ~ our arcane grid layout with pagination&quot; /&gt;
	&lt;figcaption&gt;version 1.0 ~ our arcane grid layout with pagination&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Photo collections often contain tens of thousands of photographs and serve a single purpose; to be visually consumed. Moving your mouse cursor over a link and clicking to see the next twenty-five photos felt arcane. Infinite scrolling began gaining popularity many years ago but brought along new sets of problems. While I believe most users enjoy infinite scrolling there’s a vocal minority who abhor it. Rightfully so, perhaps.&lt;/p&gt;

&lt;p&gt;Infinite scrolling tends to break a number of behaviors we’ve become accustomed to on the web; mundane tasks like deep linking to content and using the browser’s back button. Tasks we take for granted until we can no longer do them.&lt;/p&gt;

&lt;p&gt;We didn’t have all the answers but knew that a user interface with infinite scrolling would be better than our older paginated one. Our primary goal was making it enjoyable to view as many photos as possible as quickly as possible. Our new gallery adopted a fixed height masonry layout that minimized cropping and automatically loaded more photos as you reached the bottom of the page.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2014-04-04-infinite-scroll-pagination-3.jpg&quot; alt=&quot;version 2.0 ~ our improved masonry layout with infinite scroll&quot; /&gt;
	&lt;figcaption&gt;version 2.0 ~ our improved masonry layout with infinite scroll&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The masonry layout required less mental energy to browse photos; leading to a more enjoyable viewing experience.&lt;/p&gt;

&lt;p&gt;We realized as you view photos you aren’t thinking about pages or having to click to see more. Our minds have been trained to do that but it‘s a disruptive experience. This is where infinite scroll shines.&lt;/p&gt;

&lt;p&gt;When we launched infinite scroll we knew we gave up some nice-to-haves. They weren’t critical for us but were important enough that we created a &lt;a href=&quot;https://github.com/photo/frontend/issues/1434&quot;&gt;couple&lt;/a&gt; &lt;a href=&quot;https://github.com/photo/frontend/issues/1435&quot;&gt;issues&lt;/a&gt; to track the progress of their solutions.&lt;/p&gt;

&lt;p&gt;Our infinite scrolling interface works so well you’ll find yourself on the twentieth page of photos without realizing it. That’s great news but users have become accustomed to copying a link with the expectation that it will point to what they just saw. Infinite scroll isn’t a reason we should ask our users to change their habits. The problem has many nuances though and the solution isn’t as straightforward once you put yourself in your users’ shoes.&lt;/p&gt;

&lt;p&gt;It seemed obvious that we could use &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Adding_and_modifying_history_entries&quot;&gt;pushstate&lt;/a&gt; to update the browser’s URL bar as the user scrolled through pages of photos. Links copied from the URL bar would load photos starting from the page they were looking at the moment they copied it.&lt;/p&gt;

&lt;p&gt;With a mix of &lt;a href=&quot;http://backbonejs.org/#Router&quot;&gt;Backbone.js&lt;/a&gt; and &lt;a href=&quot;http://imakewebthings.com/jquery-waypoints/#about&quot;&gt;Waypoints&lt;/a&gt; we were able to quickly get the URL bar updating as the user scrolled through photos. That’s when we realized a limitation of infinite scrolling we hadn’t previously thought of; infinite scrolling tends to work as you scroll down. What if you needed to scroll up to view photos from page 9 when the link started at page 10?&lt;/p&gt;

&lt;p&gt;I haven’t seen an implementation of infinite scrolling which handles this and we couldn’t come up with an intuitive way to make it. That led us back to the drawing board to come up with some ideas. At minimum we could let the user know there are prior pages of photos. We quickly realized that’s just as terrible as not indicating it at all.&lt;/p&gt;

&lt;p&gt;Shortly after realizing how terrible our idea was it dawned on us that we could include pagination similar to what we had in our older user interface. But only when the gallery was deep linked; starting on pages 2 and higher.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://current.trovebox.com/photos/page-8/list&quot;&gt;Here’s an example&lt;/a&gt; and a screenshot below where you can see the pagination near the top right.&lt;/p&gt;

&lt;figure&gt;
	&lt;img src=&quot;/images/photos/2014-04-04-infinite-scroll-pagination-4.jpg&quot; alt=&quot;The Trovebox photo gallery in a browser window, a grid of photo thumbnails with an arrow pointing to the numbered pagination controls above it.&quot; /&gt;
&lt;/figure&gt;

&lt;p&gt;Our infinite scroll interface started to show signs of having the best of both worlds. The most common navigation was easier by an order of magnitude and less common navigation was as easy as it’s always been.&lt;/p&gt;

&lt;p&gt;While we’re very happy with the results there’s more work to be done. How should the back button work? What about search engine optimization?&lt;/p&gt;

&lt;p&gt;We hope to tackle these issues next. But for the time being we believe we’re 90% of the way there. That last 10% will keep us busy.&lt;/p&gt;

&lt;p&gt;Footnotes: At Trovebox we not only use a tremendous amount of open source software but we release the majority of our work as open source. You can &lt;a href=&quot;https://github.com/photo&quot;&gt;follow the project on Github&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/jmathai&quot;&gt;follow me on Twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Photos in the screenshots were taken by &lt;a href=&quot;http://duncan.co/&quot;&gt;Duncan Rawlinson&lt;/a&gt;.&lt;/p&gt;

    &lt;p&gt;&lt;a href=&quot;https://jaisenmathai.com/articles/ux-nirvana-elegant-pagination-with-infinite-scrolling/&quot;&gt;UX Nirvana ~ Elegant Pagination with Infinite Scrolling&lt;/a&gt; was originally published by Jaisen Mathai at &lt;a href=&quot;https://jaisenmathai.com&quot;&gt;Jaisen Mathai&lt;/a&gt; on April 04, 2014.&lt;/p&gt;
  </content>
</entry>

</feed>
