<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: arya</title>
    <description>The latest articles on DEV Community by arya (@arya422).</description>
    <link>https://dev.to/arya422</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4170365%2F9ed9b6a0-a6ab-4e40-8b91-940f58f3e9ee.png</url>
      <title>DEV Community: arya</title>
      <link>https://dev.to/arya422</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arya422"/>
    <language>en</language>
    <item>
      <title>I used GitHub as the backend for a shared photo album</title>
      <dc:creator>arya</dc:creator>
      <pubDate>Thu, 08 Oct 2026 06:27:35 +0000</pubDate>
      <link>https://dev.to/arya422/i-used-github-as-the-backend-for-a-shared-photo-album-3pfp</link>
      <guid>https://dev.to/arya422/i-used-github-as-the-backend-for-a-shared-photo-album-3pfp</guid>
      <description>&lt;p&gt;Our trip photos always ended up scattered across group chats and different cloud accounts. I didn't want to run a photo server or charge a subscription, so I built &lt;strong&gt;&lt;a href="https://albummoa.app" rel="noopener noreferrer"&gt;Moa&lt;/a&gt;&lt;/strong&gt;: a shared photo album where &lt;strong&gt;every album is a private GitHub repo in your own account&lt;/strong&gt;.&lt;br&gt;
It's my first real project, built mostly with Claude Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One album = one private repo.&lt;/strong&gt; Originals, previews and thumbnails are committed into day folders. Friends you invite become collaborators, and you can clone the repo anytime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Saving at the same time.&lt;/strong&gt; Every change is a small op (add photos, tag, like). Before each commit, the app replays the ops on the latest state and retries if someone else committed first, so nobody's changes are lost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional encryption.&lt;/strong&gt; AES-GCM in the browser, so GitHub only stores ciphertext.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;View-only links.&lt;/strong&gt; Friends without GitHub can look. Encrypted copies go into secret gists, and the key lives only after the &lt;code&gt;#&lt;/code&gt; in the URL, which browsers never send to a server.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Limits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Creating an album or uploading needs a GitHub account.&lt;/li&gt;
&lt;li&gt;About 10 GB per album is recommended.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Free for one album, $3.99 once for more (no subscription): &lt;strong&gt;&lt;a href="https://albummoa.app" rel="noopener noreferrer"&gt;albummoa.app&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
Would "Sign in with GitHub" stop your non-developer friends? I'd love to hear.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>github</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
