{{ snow }}
{{ pineTL }}
{{ pineTR }}
{{ pineBL }}
{{ pineBR }}
{{ magic }}
The wedding of
{{ fairy }}

Rocky & Melissa

Winter 2027
{{ cdDays }}
Days
{{ cdHours }}
Hours
{{ cdMins }}
Minutes
{{ cdSecs }}
Seconds
Admin
{{ welcome }} Sign out
{{ pineLight }}
{{ pineLight2 }}
{{ sleigh }} ✦ ✦ ✦
{{ bannerKicker }}A shameless plug

{{ bannerTitle }}

Rocky & Melissa
Saturday, 16 January 2027 · Cambridge Mill
Ceremony to begin at a quarter past two, with dinner and reception to follow
{{ bannerSub }}
Kindly reply by 15 November 2026
●  {{ unsavedNote }}
{{ receivedLabel }}
{{ summary }}
Save the date
{{ m.shown }}
We adore your little ones, but space is limited, so our celebration will be adults‑only. We hope you can enjoy a night off!
Allergies or dietary restrictions
Tell us about anyone in your party and we'll take care of it.
Preview mode
The guest list isn't connected yet, so this reply is only saved in this browser and we won't see it.
{{ sendHint }}
The menu
Winter Dinner
{{ sprig }}
{{ sprig2 }}
Main · chosen at your table
Braised beef short rib
peppercorn sauce
Stuffed chicken breast
wild mushroom, goat cheese & grainy mustard velouté
Organic Canadian salmon
maple & mustard glaze
No need to choose now. Your server will take your order on the night.
✦
Guests arrive
2:00 pm
Come in from the cold and warm up with a drink in the Mill's foyer as you find your seat.
✦
Ceremony
2:15 pm
We say "I do" by the river.
✦
Drinks & canapés
3:00 pm
Cocktails and canapés in the Mill while the wedding party slips away for photographs.
✦
Reception
5:00 pm
Dinner, toasts, cake and the first dance.
✦
Late night
9:00 pm
Late-night bites and dancing until midnight.
Add to your calendar
Saturday, 16 January 2027 · 2:00 pm – midnight · Cambridge Mill
What should I wear?
The dress code is cocktail attire: think floor-length gowns or cocktail dresses, and a suit for the gentlemen. You'll also want a warm coat to enjoy the scenic areas.
Can I bring a guest?
If we've included a plus-one for you, their name will appear next to yours when you sign in to RSVP.
Are children welcome?
We adore your little ones, but space is limited, so our celebration will be adults‑only. We hope you can enjoy a night off!
Is there a registry?
No registry. Your presence at our wedding is the greatest gift. If you would like to give a gift, a contribution to our house fund and Melissa's couch fund would mean the world to us.
Will we be outside?
Almost everything is indoors. But the surroundings are gorgeous, so you may want to step outside for a photo or two. There will be a coat check for your convenience.
When should I reply?
Please send your reply on the RSVP page by 15 November 2026. You can change it any time before then.
Where should I stay, and how do I get there?
We've reserved rooms at the Cambridge Hotel and the Hilton Garden Inn, and there are a few other hotels nearby. You'll find the details under STAY and GETTING THERE.
Something we haven't answered? Just ask us.
✦
✦
✦
{{ plugSays }}
{{ plugHint }}
Made by Rocky
I'm a web app product manager with almost ten years of experience, and I built this whole site myself: the RSVPs, the games, the leaderboards, all of it.
{{ r.label }}
Whether you'd love a wedding site like this one or just want to help fund the next trip Melissa and I take, send me your ideas and I'll help bring them to life.
647-880-8834
{{ p.alt }} Room block {{ chCaption }}
{{ chCredit }} ⤢
10 minutes from the venue
Cambridge Hotel & Conference Centre
700 Hespeler Rd, Cambridge, ON
$179CAD / night + tax
Two queen beds, with hot breakfast for two
{{ chPriceCompare }}
NightsFri 15 – Sun 17 January Book by16 November 2026 Booking codeLui & Sun Wedding
Book a room
Or call or email the hotel and quote the booking code:
The link books rooms in our block. For another room type, or extra nights (the rate holds up to three days either side, if rooms are free), call or email instead.
Rates are for one or two guests, plus 13% HST and 4% municipal tax; a third or fourth guest over 16 is $15 more each. Free parking and Wi-Fi. Check-in from 3 pm. Free cancellation until 48 hours before you arrive.
{{ p.alt }} Room block {{ hgCaption }}
{{ hgCredit }} ⤢
10 minutes from the venue
Hilton Garden Inn Kitchener/Cambridge
746 Old Hespeler Rd, Cambridge, ON
$169CAD / night + tax
A king or two queen beds; a suite is $40 more
{{ hgPriceCompare }}
NightsFri 15 – Sun 17 January Book by16 December 2026 Group nameLui Sun Wedding
Book a room
We're holding just eight rooms a night here, so the sooner the better. The rate holds up to three days either side of the wedding, if rooms are free.
Recently renovated rooms, each with a fridge, microwave and Keurig, plus an indoor pool and an on-site restaurant. Free parking and Wi-Fi.
{{ p.alt }} {{ bwCaption }}
{{ bwCredit }} ⤢
Also nearby · Old Hespeler Rd
Best Western Plus Cambridge Hotel
730 Old Hespeler Rd, Cambridge, ON
{{ bwPriceLow }}CAD + tax · the wedding night
{{ bwPriceVia }}
A cozy stay with an indoor pool, a hot tub and complimentary breakfast every morning. There's no room block here, so book directly.
View hotel →
{{ p.alt }} {{ lhCaption }}
{{ lhCredit }} ⤢
Something special · 10 minutes from the venue
Langdon Hall
1 Langdon Dr, Cambridge, ON
{{ lhPriceLow }}CAD + tax · the wedding night
{{ lhPriceVia }}
A country-house hotel and spa, if you'd like to make a weekend of it. There's no room block here, so book directly.
View hotel →
Photos come from each hotel’s own website. Tap a credit to see the original.
❄
No need to drive in the snow. It's easy to get an Uber between the Mill and your hotel.
100 Water St N, Cambridge, ON N1R 1P1
Open in maps →
Drag to move the map · scroll or pinch to zoom Get directions →
By car
Take Highway 401 West to exit 282 (Hespeler Rd) and follow Hespeler Rd south into Cambridge, where it becomes Water St N. The Mill is on your left, beside the river.
Parking
Parking at the Mill is free. You're welcome to leave your car overnight and pick it up by noon on Sunday.
Getting back
It's easy to get an Uber back to your hotel at the end of the night.
It's January in Ontario, so leave extra time if it snows and bring a warm coat.
✦
Chapter one
How we met
It all started with a favour. One evening, Bill and Rodney were short a player and asked me to sub in. I said yes, walked into the gym, and met Melissa for the first time. That could have been the end of it. Months went by. Then, by God's grace, the tables turned. This time Melissa was the sub, and the team she filled in for was mine. Same gym, same game, but now we were teammates. We started talking that night, and we never really stopped.
✦
Chapter two
Favourite things
Melissa and I each have our own hobbies: mine is fishing and hers is golf. Even so, we show up for each other and do things together whenever we can.
Rocky · fishing
Melissa · golf
✦
Chapter three
The proposal
Nothing about this went to plan. Melissa and I had started shopping for a ring together, and my plan was to surprise her with it on our Disney trip. The catch? The ring wasn't ready until the morning we flew out. So, with our bags packed and a flight to catch, we took a last-minute detour while I scrambled for excuses to keep it a secret. Somehow, it worked. Then came the rain. It rained, and rained, for days on end. I was ready to accept my fate and call the whole thing off. Then we found ourselves in front of the castle. The clouds parted. I had ten minutes of sunshine, and I wasn't going to waste them.
✦
Happily ever after?
Photos
A few favourites
{{ pineLight3 }}
{{ pineLight4 }}
Rocky & Melissa
16 · 01 · 2027  ✦  Cambridge Mill
R and M Guest manager Sample data
⚠
Same name, no label
{{ unlabelledNote }} Guests sign in by name, so give each one a short label they'll recognise. It's what they'll choose from at sign-in, under “Which one are you?”
{{ d.head }}
{{ d.name }}
{{ d.context }}
{{ d.label }}
{{ stInvited }}
Invited
{{ stInvitedNote }}
{{ stInvitedAdults }}
Invited adults
{{ stInvitedAdultsNote }}
{{ stInvitedKids }}
Invited kids
{{ stInvitedKidsNote }}
{{ stGoing }}
Attending
{{ stGoingNote }}
{{ stGoingAdults }}
Attending adults
{{ stGoingAdultsNote }}
{{ stGoingKids }}
Attending kids
{{ stGoingKidsNote }}

{{ stInvited }} invited{{ x.sep }} {{ x.n }} {{ x.label }}

{{ stSplitNote }}

{{ stTerms }}

{{ holdsNote }}
{{ h.label }}
{{ h.note }}
Spots {{ h.spots }}
They sign in with their name and see Schedule, Our story and Plug only.
{{ a.name }}
{{ a.note }}
{{ listSummary }} · Clear filters
{{ r.partySizeText }}
{{ r.name }} + surname {{ r.label }}
{{ r.kidSpots }}
{{ r.kidsNamed }}
{{ r.viewed }} {{ r.notes }}
No guests match.
Add a guest
Keeping seats for someone else to fill, like a table for family to invite their friends? Hold spots
Falls Room
{{ seatsLine }}
FIREPLACE
FOOD PICK-UP
& DROP-OFF
DANCE FLOOR
DJ
{{ t.label }} {{ t.count }} {{ t.held }}
{{ c.ini }}✦{{ c.extra }}
{{ tipName }} {{ tipSub }} {{ tipNote }}
{{ stripTitle }}
{{ stripMeta }}
{{ row.label }} {{ p.ini }} {{ p.name }}
No one here yet. Drag guests from the list onto this table.
{{ stripHold }}
{{ stripNote }}
{{ stripWarn }}
{{ stripHint }}
{{ sheetTitle }}
{{ sheetMeta }}
{{ sec.label }} {{ sec.count }}
{{ g.ini }}✦ {{ g.name }} {{ g.sub }} {{ g.addLabel }}
{{ sec.emptyText }}
{{ dp.error }} Loading the day plan…
Day plan Sample plan
{{ dp.dateShort }}
R and M Day plan {{ dp.dayLabel }} · Cambridge Mill
{{ dp.laneMenu.title }}
{{ c.label }}
Drag to reorder. Saved in this browser only.
{{ l.label }}
{{ h.label }}
{{ dp.goldenLabel }}
{{ dp.sunsetLabel }}
{{ dp.emptyText }}
{{ l.cLabel }}
New row
{{ b.time }}{{ b.title }}
{{ b.time }}{{ b.dur }} $
{{ b.title }}
{{ b.meta }}
{{ b.warnText }}
Run sheet · {{ dp.filterLabel }}
{{ dp.sheetMeta }}
{{ dp.sheetMenu.title }}
{{ c.label }}
Drag to reorder. Saved in this browser only.
{{ h.label }}
{{ r.dayHead }}
{{ c.start }}
{{ c.timing }}
{{ c.title }}
{{ w.text }}
{{ c.laneLabel }} {{ c.text }} {{ c.status }} Overtime
{{ r.dayHead }}
{{ r.start }}
{{ r.end }}
{{ r.title }}
{{ r.sub }}
{{ w.text }}
Nothing in the plan involves them yet.
Add a vendor under People & vendors to give them a private link to their part of the day.
Preview the private link as
{{ dp.shareUrl }} Read only
Anyone with the link sees this card and nothing else. A new link turns the old one off.
Rocky & Melissa
{{ dp.dateLine }}
{{ dp.shareName }}{{ dp.shareContact }}
{{ t.label }}{{ t.value }}
Your part of the day
{{ r.dayHead }}
{{ r.time }}
{{ r.title }}
{{ r.location }}
{{ r.cue }}
Nothing in the plan involves you yet.
{{ dp.shareFooter }}
People
Named on rows as owner or present. Day-of contacts show on every share link.
NameRolePhoneDay-of contact
Vendors
Who they are and what they do: the run sheet and chips show what they do, their card and the editor who to call. Rows past a vendor's coverage get an overtime warning; leave it blank for vendors who just deliver.
NameFunctionContactPhoneArrivalSetup doneStrikeCoverage endOvertime $/h
{{ v.overNote }}
{{ ghostIni }} {{ ghostLabel }}
{{ w.text }}
– {{ dp.ed.durText }}
{{ dp.ed.chainedText }}, then min gap
min
{{ g.label }}
No matches
{{ p.ini }} {{ p.name }}{{ p.sub }}
Not sent yet
Leave without sending these?
•{{ c.text }}
Discard and leave
{{ rsvpTitle }}
{{ rsvpBody }}
{{ deleteTitle }}
{{ deleteBody }}
{{ toast }}
{{ lightboxAlt }} {{ lightboxCaption }}