by tom

The Tech

January 2, 2024 | The Tech

Intro

I was asked to do a blog post on the tech stack used to put this website together. The tech is one of the fun portions of planning this wedding for me. As we go through the planning process, the tech will evolve. I’ll do my best to keep you updated.

After researching quite a bit of wedding sites, nothing seemed to do exactly what I wanted. And the one site that came close would only let us keep our site for 12-24 months and didn’t have a way to implement the wedding management process I wanted to have.

I’m a big process guy, combine that with my enjoyment of automation and technology, and I see huge opportunity to improve the tech in the wedding space. The downside is there isn’t really recurring revenue unless… well… I’ll keep that a secret for now. 😃

Infrastructure

The website itself is WordPress running on Linux, hosted by DigitalOcean on a virtual server I manage. The database is separate. Doing High Availability with WordPress is an interesting exercise, so for the wedding website itself I decided to keep it single node.

Having said that, Cloudflare is in front of it. This protects against bots, DDoS attacks, etc. I also have several security plugins on WordPress to take a defense-in-depth approach to protecting the site. Yup, even for a wedding website. This one is not just a site though; it’s an automation engine, connecting together several tools to pull the whole thing off. So, protecting the front door is key.

With Cloudflare, I have implemented several site protection settings and written some WAF rules because right out of the gate, WordPress sites tend to undergo brute force attacks.

I also have a firewall set up to only allow web traffic through Cloudflare, so that people can’t access the DigitalOcean server directly.

Within the site itself, I have several plugins set up, all of which as of right now I already have subscriptions to for other ventures, so I decided to start with them.

Site Content

The main external site is a rather customized theme from Thrive Themes. I have tried so many page builders over the years, both WP and straight HTML, and I still think Thrive Themes is the greatest.

The forms I use (Contact Us, address confirmation, etc.) are Gravity Forms with Gravity Wiz.

The way the forms work to pull off wedding-related activities, however, is my design.

For example…

The Address Confirmation Form

The address confirmation form takes a household UUID and then performs a lookup in a Google Sheet. I have a datatable plugin for WP and thought I was going to use that, but several other tools integrated nicely with Google Sheets, and since I can access the Sheet via mobile, it made sense to turn that into my “database” for the wedding.

The way Gravity Forms reads the Sheet and then sets up the form is a design I came up with. In other words, how it knows what fields to show and what to prefill them with is all based on configurations I made.

For the address confirmation form, while I wanted to make the number of guests completely limitless, the tooling was limited, so I realized I have no household with more than 4 people and designed around that. It’s also easily extensible if I somehow found a household with 5 or more.

The form, once submitted, updates the Google Sheet and sends me an email. It also prevents the household from submitting it again (instead, it directs them to contact us) because once the form is submitted, we start using the data, and we didn’t want to run the risk of using stale data.

Shortly after submit, an automation tool I have also updates a tracker so that we can easily tell how many households haven’t responded to our address request yet. The values that go into the spreadsheet are more system-friendly than human-friendly, so I’m able to key off of them for future automations.

There are several reasons why I wanted an address confirmation step before save-the-dates:

  1. We don’t have everyone’s address to begin with (this is the obvious reason).
  2. This is a destination wedding for most, and I wanted to gauge intentions. I’d sometimes find myself with Save the Dates for other weddings, already knowing I couldn’t make it, and there was no way to inform the bride and groom (until invitations came out) without directly messaging them. And, it’s helpful for getting guest counts to have a reasonable ballpark (even though it’s not finalized until RSVP time) for things like vendor planning and budgeting.
  3. I wanted to know if anyone had intentions of moving in the next 2 years because I found myself needing to update some friends when I would get a Save the Date and had plans to move soon thereafter. So, I wanted to make it super easy for my guests by taking the responsibility to check in with them before mailing if they already knew they were moving.
  4. To make them aware tentatively of our date, which, I have a rule that the date needs to at least cross a calendar year because sometimes people plan their time off year to year, and I needed to make sure we started being a seed in their mind before 2025 started.

Other Tooling

The other tooling that I have can be used for emails, texts, postcards, and several other forms of communication. The plumbing to use that tooling will be performed as needed.

That’s what I have so far…

There’s quite a bit more tech involved to pull off the wedding planning. I won’t spoil the fun by sharing it now, but I’ll do my best to update you in this blog as we roll it out.

Outtro

…and if you or someone you know has a wedding coming up, contact us if they want my help setting up their site.

Leave a comment.

Your email address will not be published. Required fields are marked

For security, use of CloudFlare's Turnstile service is required which is subject to the CloudFlare Privacy Policy and Terms of Use.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}