Briana & Matt's Wedding

Launched: January 16, 2018
Built with: React, React Router, Redux, Typescript, Bulma, Firebase, Twilio

So this one actually launched a few months ago, but it's the one that started my current trend of energy for side projects. My sister-in-law Briana is getting married this year, and part of our gift to her was to make a custom designed website to match her wedding theme and to have something that stood out from the normal WeddingWire sites. It was really nice having a "customer" for a side project because it meant I had some accountability for getting it done, which helped push me through the weekends when I had lower energy for work outside of work.

For this site, though I regularly wrangle with complicated webpack setups at work, this seemed like a nice opportunity to try out the Create React App tool (though specifically the Typescript fork of it because I love Typescript). This was also the first project in which I tried out the Prettier auto-formatting tool and now can't live without it, even evangelizing it at work. Since CRA ships with default support for plain CSS, I just went with that while combining it with the Bulma design framework, which is go-to framework when I want to quickly bootstrap design. It also uses React Router and Redux, auto-piloting into the standard setup. I then ran the whole site through React Snapshot to pre-render all the pages to static versions so that it would load quickly on phones during the wedding weekend.

The cool part of this project (aside from the really fun tropical design) was trying out Firebase as the backend for the site. It doesn't need real-time functionality (if I'd started this a few months later, I would've used Cloud Firestore), but I've wanted to try out Firebase for a while, and it comes with hosting and functions for the free tier, so it checked a lot of boxes. Working with Firebase is actually super fun, the hosting setup is a breeze, and the functions turned out to be super useful for the one-last-thing functionality I added for fun: Twilio integration.

Since we were managing a lot of the RSVPs through the site, it meant that we had a lot of attendee's phone numbers captured. So I added a surprise feature to the admin dashboard that let Briana send mass texts to all of the people who were coming to give them updates, week-of reminders, etc. I'd never used Twilio before, but that turned out to be a super fun integration to do, partly because I had to do a funny dance to work around outbound url restrictions on Firebase functions that involved using Twilio functions as well.

The whole project came out great: Briana loved the site, enjoyed having people asked "Where did you get such a beautiful site?", and had a lot of fun sending texts from the website. And the bonus for me is that I'm still riding that wave of success to try out more things and projects.

Check it out at Briana's Wedding site.