\

Show HN: Mail Memories – A desktop app to rescue photos from Gmail

83 points - today at 2:16 PM


Hey HN, I’m the creator of Mail Memories. Like many of you, I've had my Gmail address for more than 20 years. A few years ago, I got curious and wanted to see what photos were buried deep in my account. I ended up finding lots of "lost" pictures of old friends, family members, and a ridiculous number of vintage memes.

I originally built and launched this as a SaaS, but even with code and policies in place that kept users' photos private, I figured everyone would feel more comfortable with a desktop app.

So, I threw out the server architecture and completely rewrote it as a 100% local desktop app for Mac and Windows.

How it works now: The app connects directly to Google's server from your computer, processes everything entirely on your system, and saves photos straight to your hard drive.

You can download your 50 oldest photos for free (no credit card required) just to see what's in there. If you want to download all the pictures in your account, it's a one-time payment of $29. No subscriptions.

If you have an old, pre-2010 Gmail account, definitely give it a spin. You'll be surprised at what you find deep in your archive.

I'd love to hear your feedback on the layout, scanning performance, or anything else.

TL;DR: I turned my SaaS into a local desktop app (Mac/Windows) that recovers decades of forgotten photos from your Gmail. 100% local, no cloud, no subscriptions, no AI.

Source
  • KomoD

    today at 3:22 PM

    Or you can just use Google Takeout: https://takeout.google.com

    Deselect everything, select "Mail", create export, wait until it's done, and then download the zip.

      • ltiger

        today at 3:33 PM

        Takeout is great for a total archive backup, but using it just to extract photos is where the UX breaks down for most people.

        When you export Mail with Takeout, Google dumps your entire history into a huge .mbox file. If you have a 20-year-old account, you're downloading tens of gigabytes of raw text data, headers, and metadata just to get to the images. Once you have that huge file, you still have to figure out a way to extract and decode the image attachments from the raw email text.

        Mail Memories just gives you what you want: the photos.

          • nuclearsugar

            today at 5:57 PM

            This script will extract all of the attachments from a MBOX file - https://gist.github.com/georgy7/3a80bce2cd8bf2f9985c

              • threecheese

                today at 6:15 PM

                I think the target market isn’t doing this; heck, I’d normally be like you, but the price is low enough here to β€œone and done and forget it” here.

    • baron3dl

      today at 3:07 PM

      First, I really love this idea, and I thank you for getting it into my head.

      That said, if no AI is really important, I guess it's worth $29, though I can't tell if you used AI to build it or not from here.

      Like, I just one-shot a script that does the same with Claude, after it listed 5 free projects that do the same, including one GUI. The whole thing took less time than writing this comment.

      Now, if it were $2.99, I probably would have just paid you.

        • Tiberium

          today at 3:18 PM

          The website is clearly AI-written (along with the text), and the screenshot also looks quite like the styles that LLMs love

          • abirch

            today at 3:24 PM

            My question is why not use IMAP?

              • subhobroto

                today at 3:31 PM

                That's what they used to do: https://news.ycombinator.com/item?id=48708270

                The OP had posted a detailed reply here as well, that they since deleted - I think because they didn't want to deal with all the pushback here.

                  • ltiger

                    today at 4:02 PM

                    [dead]

                • ltiger

                  today at 3:43 PM

                  It actually does use IMAP! The app connects directly to Google's IMAP servers via SSL straight from your machine.

                  I intentionally chose a local IMAP pipeline over the official Gmail API because of platform gatekeeping. To use the API for this, Google forces independent developers into a "Restricted Scope" tier, which requires an annual $15,000+ third-party security assessment.

                  Going the local IMAP route lets me bypass that completely while keeping user data 100% local and secure.

                    • kbelder

                      today at 5:34 PM

                      I don't like how somebody is flagging/downvoting all your comments. This is about your product; it's highly relevant, whatever somebody might think about it.

                        • mmh0000

                          today at 6:02 PM

                          I don't think it's just "somebody"; I think it's a lot of bodies. I'm downvoting him too because he vibe-coded a super simple "app", then is trying to sell it here as some life-saving tool .

                          My main complaints:

                          - Why is this $30?

                          - Why is it Windows/Mac only?

                          - Why is it Gmail only when it's using IMAP?

                          But what really irks me is that you know you can do this exact thing with like two Linux CLI commands?

                            ``` 
                            $ offlineimap -c <configfile with credentials>
                            $ mae export --maildir=test/fixtures/simple --output-dir=test/tmp_output
                            ```
                          
                          
                          
                          [1] https://github.com/mrtazz/mae

              • subhobroto

                today at 3:28 PM

                > Like, I just one-shot a script that does the same with Claude, after it listed 5 free projects that do the same, including one GUI. The whole thing took less time than writing this comment.

                I'm assuming the author put in the effort to validate their program handles all kinds of pictures. With that assumption:

                - how did *you* validate the one-shot script that Claude handed you works correctly?

                - after all said and done, and getting it to work correctly, did you end up spending atleast $30 in time, effort and money?

                I am curious how coding agents would affect the future of "micro apps" - apps/scripts that do one thing and just one thing very well.

                • ltiger

                  today at 3:29 PM

                  [dead]

              • nickjj

                today at 5:34 PM

                I'd love to somehow do the opposite of this but I don't think it's possible? It would be deleting attachments from emails without deleting the email thread.

                For example I'm always 1-2 GB away from my Google account being full. I've pruned Google Drive to the absolute bare minimum.

                I've had my Google account for a really long time. There's tens of thousands of emails since day 1. However, there's many emails that have attachments.

                For example my friends or someone might have sent me a bunch of images and there's a very long email thread going on with them. I want to delete the 300 MB of photos without deleting the email thread. I don't think Google has a way to do this. I'd easily be able to free up multiple gigs of space if this were possible.

                I've already bit the bullet and deleted the biggest offenders but I have a ton of emails with 1-2 attachments (pdfs, zip files, some images, etc.) that might "only" be 15 MB but I definitely don't want to delete the email since it has a record of something. Not just the attachment but the corresponding email chain.

                  • zazerr

                    today at 5:47 PM

                    I have the same issue and found this worked great https://unattach.com/ (no affiliation, just a user)

                      • nickjj

                        today at 6:04 PM

                        Oh nice, if everything they say is true, this seems like a good match but it seems like it has 1 big potential downside.

                        THE GOOD:

                        Their FAQ says it uses OAuth to connect to your Google account and the emails never leave your browser.

                        It also costs 83 cents for 1 month so you can go nuts. Alternatively you can pay 1 cent per email if you have a handful.

                        I see another HN thread about it here from a few years ago: https://news.ycombinator.com/item?id=32462878

                        THE BAD:

                        I don't know if it can be used with total confidence because that HN thread makes it sound like they delete the original email and create a new email with the same meta data but some of the comments indicate that's not quite the same as the original. If you had to present this email as evidence, you could run into friction since the original no longer exists. Technically it looks like you can back the original up but as someone mentioned in a comment that seems like it would add a lot of friction in a legal case.

                        I have no intent on ever needing to use old emails with large attachments in a legal case but knowing this could be a problem makes me hesitant. Although on the bright side, it would be fine to use for anything you 100% know won't ever be used legally.

                • t_mahmood

                  today at 5:29 PM

                  Interesting! I already have a Python script that can download anything from Gmail. Making it a product?! Really have not thought about it! Which is why I am probably broke Ha Ha

                  • artisinal

                    today at 3:52 PM

                    > 100% local, no cloud, no subscriptions, no AI.

                    The world needs more of this

                      • ltiger

                        today at 4:13 PM

                        Thanks, that means a lot.

                        I rebuilt the app because I was feeling that same fatigue. It felt like every cool new tool I looked at wanted to upload personal data to a remote server, hook it up to a third-party AI API, or charge a recurring fee.

                        The original version of the app actually was a cloud-based SaaS. But I figured people would feel significantly more comfortable having a sensitive tool like this run entirely on their own hardware instead of in the cloud like everything else. Making it local-first also makes it easier for people to download and try it out.

                    • Thaxll

                      today at 3:24 PM

                      For $30 you should sign your binary so you don't have a UAC popup.

                      Also is it not doable with Google takeout ( with Gmail )?

                        • subhobroto

                          today at 3:36 PM

                          I have not used Windows for decades. With that context:

                          > For $30 you should sign your binary so you don't have a UAC popup.

                          How much does it cost to be able to sign a binary so you can deploy it on Windows without a UAC popup? How arduous is it?

                          > Also is it not doable with Google takeout ( with Gmail )?

                          It sure is. You do a takeout and iterate over the compressed mbox looking for media attachments. Then you write them out. The edge cases, and the actual value is ensuring you properly grab all the media dispositions.

                          I also have emails from people who like to zip up a bunch of pictures and then email them to me - my own script takes care of this detail but I wonder if most other tools, including this one does.

                            • KomoD

                              today at 3:44 PM

                              > How much does it cost to be able to sign a binary so you can deploy it on Windows without a UAC popup?

                              You can get a cert for $130-300/yr, and then you can use signtool to sign it.

                          • ltiger

                            today at 5:59 PM

                            [dead]

                            • ltiger

                              today at 4:29 PM

                              [dead]

                          • ks2048

                            today at 4:25 PM

                            β€œI found photos of my niece I thought were lost forever. Thank you so much!” Emily D.

                            Be honest, is "Emily D" a real person you got organic feedback from? Small thing that makes the vibed site off-putting.

                            It says "Storage: 1.3 GB saved", but then says it is Read-only.

                              • ltiger

                                today at 6:04 PM

                                Just pushed an update to the site around this. Changing the text to "Downloaded" still might confuse someone, so I removed that line from the illustration altogether.

                                • ltiger

                                  today at 5:04 PM

                                  [flagged]

                              • shuirong

                                today at 3:29 PM

                                I like your idea. While installing the app, I suddenly had an idea for the logo: what do you think about using a tilted old photo of a child as the app icon?

                                  • ltiger

                                    today at 3:53 PM

                                    Thanks!

                                • murats

                                  today at 3:27 PM

                                  I like the idea. Google Takeout works, but a focused app that helps you actually find and recover old photos could still be useful.

                                    • ltiger

                                      today at 3:52 PM

                                      Thanks!

                                      Yes, use Google Takeout if you want a full account archive. It's a pain if you just want to get your photos, though.

                                      You have to deal with huge .mbox files, download gigabytes of unnecessary text, and sometimes you have to wait days for the export.

                                      The short version is that Mail Memories lets you get the images you want instead of an all-or-nothing data dump.

                                  • tribal808

                                    today at 2:42 PM

                                    idk if other tools do it for free, but cool idea, hope that it gains the deserved visibility

                                      • ltiger

                                        today at 4:43 PM

                                        [flagged]

                                    • TazeTSchnitzel

                                      today at 4:02 PM

                                      If I have to look at yet another website with this same fucking AI-generated theme I'm gonna have to kill somebody.

                                        • ltiger

                                          today at 4:38 PM

                                          Nah, don't do that.

                                          Totally fair, though. In my defense, 98% of my time went into wrestling with IMAP parsing architectures, optimizing memory, and code-signing certificates instead of designing custom CSS layouts from scratch. I'll finesse the design in the future.

                                            • KomoD

                                              today at 4:52 PM

                                              > 98% of my time went into wrestling with IMAP parsing architectures, optimizing memory, and code-signing certificates instead of designing custom CSS layouts from scratch

                                              You're just using imapflow and their Gmail search method. Why are you making things up? https://imapflow.com/docs/guides/fetching-messages#gmail-spe...

                                              You call that function with this query over and over again:

                                              filename:(jpg OR jpeg OR png OR gif OR webp OR heic OR tif) after:${year}/01/01 before:${year + 1}/01/01

                                              And then you call their download method: https://imapflow.com/docs/guides/fetching-messages#downloadi...

                                              All you did was throw together a frontend, package it into Electron, paywall it, and try to obfuscate the code.

                                              What part of that is "wrestling IMAP parsing architectures"?

                                                • ltiger

                                                  today at 5:47 PM

                                                  [flagged]

                                      • benzofuran

                                        today at 6:06 PM

                                        [flagged]

                                        • T3RMINATED

                                          today at 2:59 PM

                                          [dead]

                                          • today at 2:17 PM