Headshot
Published on

Mail-A-Tweet

http://mailatweet.club/

Code: https://github.com/blackmad/MailATweet

Story

This project was inspired by @mroth telling me about the lob postcard API which will PRINT AND MAIL A PHYSICAL POSTCARD ANYWHERE IN THE WORLD FOR SEVENTY CENTS

And by @fascinated starting to print tweets at home (an idea I later repurposed for an intimacy exercise at a party)

In late 2017 I ended up needing to get a chunk of my colon taken out, and the recovery lasted a bit longer than I wanted. I will spare you that whole story, but I will say that there were two wonderful women in my life who took extremely wonderful care of me and who I did a shitty of repaying the favor.

I will spare you that whole story, but I will say that there were two wonderful women in my life who took extremely wonderful care of me and who I did a shitty of repaying the favor.

So of course I was going to work on a PROJECT. I was going to LEARN REACT. I was going to use an API to send PHYSICAL POSTCARDS.

The site works! It continues to work! It makes me really happy! Except for all the parts that don’t!

Learnings

  • It turns out that USPS machines mangles postcards of all sorts, as Lob is quick to point out if you complain
  • I wish I’d actually started this project by learning react, rather than learning just enough to make progress. It made the project slower and more incomprehensible
  • Also wish I hadn’t used a form wizard library that made everything even more incomprehensible
  • I don’t love the user flow for this service. If I was going to do all the work to make it a single page app, I wish it was actually single page – enter the twitter URL, slowly load the preview so the user can enter all the rest of the info on the same page.
  • I’m still surprised this code works as well as it does considering how hacky it is.
  • Given that I’m almost the only person who sends postcards with this, I don’t really need the stripe payment step in there, but hey, it works and it’s cool.
  • Trying to get a massive binary (headless chrome / puppeteer – for screenshots) to run on AWS lambda was a pain and I eventually gave up