All systems operational200+ sites monitoredResponse SLA <4hENES
SaaS · Freemium · Live

One link carries the invitation, the RSVP and the list at the door.

Couples fill in the event from a panel and the page publishes itself: countdown, ceremony and party details, RSVP, gifts, gallery. Guests arrive through a personal tokenised link, and the same list becomes a CSV, a PDF and a QR scan at the door.

The Casamiento.App wordmark
A 400×84 crop of the wordmark taken from a full-page screen capture, not a vector — the original file was never supplied and the CDN blocks direct download, so the cream ground is baked into the image. It is the real mark; nothing here has been redrawn.
Our role
Design, build and run
Surfaces
Site · invitation · dashboard
Stage
Live — freemium, ARS and USD
Languages
Spanish (voseo)
27
Components

Core, marketing and invitation families

13
Invitation blocks

Hero through RSVP, each one observed in the live product

33
Colour tokens

Observed across ivory, paper, ink, slate, mist and gold

3
Plans

Gratuito, Premium Mensual, Premium Anual

What it is

A wedding page that publishes in minutes.

Casamiento.App is an Argentine wedding SaaS. A couple signs up, fills in the event from a panel, and the page publishes itself: a cover image with their names and the date, a live countdown, ceremony and party cards with map links, the gift arrangements, the gallery, a song. There is no template to pick apart and no builder to learn — the data is the page.

What separates it from a wedding-website template is the second half: the guest list. Guests are typed in or imported from a CSV, and each one gets a personal link carrying a token, so the RSVP form arrives with their name already filled and the platform — not the couple — decides how many places they hold. The confirmed list comes back out as a PDF or a CSV, and at the door a QR code checks people in.

It is sold freemium — Plan Gratuito, Premium Mensual, Premium Anual — billed in ARS for Argentina and USD for the rest of LATAM, and the free plan is genuinely free: one landing page for life on the "Moderno" theme, with unlimited RSVP confirmations. Every string is Spanish in Río de la Plata voseo, and the whole thing runs on WordPress and Elementor. That last part is the point: it is our own WordPress practice, on our own product, with our own name on the support queue.

Where it lives
SurfaceWhereWhat
Marketing websitecasamiento.appHome, pricing with an Argentina/LATAM region switch, blog, contact, roadmap and login. Cream chrome, full-bleed documentary wedding photography, editorial serif type.
The published invitationcasamiento.app/l/{slug}The page a couple shares with guests. Paper white, graphite pencil illustrations, slate-blue headings, a faint paper grain. Theme "Moderno" is the only theme on the free plan.
The couple’s dashboardBehind loginGuest lists, table planner, QR scanning and the multimedia gallery. It ships in the product but was never captured, so the design system documents it as a surface and rebuilds nothing from it.
What it does

Four things the product actually does.

Every item below is a block that ships, taken from the design system’s own component list and plan tables — not a roadmap.

01

The invitation

The page guests actually open: one scroll that answers every question they would otherwise ask by message.

  • Cover image with the couple’s names and the date
  • Real-time countdown, visible to every guest
  • Ceremony and party cards with Google Maps links
  • Story timeline, itinerary, dress code and lodging
  • Spotify song, gallery and the event hashtag
02

RSVP

Two modes, because a wedding is not a mailing list: a personal link per guest, or an open form when the couple has no list yet.

  • Tokenised links — names arrive pre-loaded and are shown as a label, never as editable fields
  • Open mode for anyone with the link, with a companion option
  • Dietary restrictions per person, with a free-text "Otro"
  • An expired or invalid token shows a status notice instead of the form
  • Unlimited confirmations on every plan, including the free one
03

Guests and the door

The list is the product. It is built before the event, exported for the venue, and scanned on the night.

  • Guests created by hand or imported from a CSV
  • Confirmed list exported to PDF or CSV
  • QR access control at the door
  • Table planner, with PDF export on the annual plan
  • SMTP Relay configuration for unlimited guest email
04

Gifts and transfers

Three modes behind one switch, because how couples ask for gifts differs by family and by country.

  • An online list (Amazon or another) behind an external link
  • A manual list of specific gifts
  • Bank transfer details — bank, account holder, additional information
  • Two-currency tabs when the couple takes both ARS and USD
  • An editable intro paragraph, so the ask is in their words
Styleguide and branding

One serif, two grounds. Everything else is a rule.

casamiento.app shipped before it had a written system. The one documented here was reconstructed afterwards — colours sampled pixel by pixel from two full-page captures, sizes measured off a 2× capture, copy read from the live pages — and then tightened until it passed WCAG 2.1 AA. What follows is the result: one serif family doing nearly all the work, two grounds that alternate down the page, and a short list of rules that stop a warm palette from quietly failing contrast.

Palette

Ivory

#FCF8F3

The warm ground — marketing chrome and invitation paper. #F8F3EF drops one shade for CTA bands; #F1E9DF is the deepest it goes.

Paper

#F8F8F8

The neutral section ground, with #FFFFFF cards on top. Sections alternate ivory and paper so hairlines, not boxes, do the dividing.

Ink

#12100F

Warm near-black for headings — 17–19:1 on both grounds. Body steps down to #333333 at 11.8:1; placeholders stop at #5F5F5F rather than the browser default.

Slate

#3C4860

The single chromatic accent: primary buttons and links. #2C3A4F is both the invitation heading colour and the button hover, so hover reads as the page’s own blue getting darker.

Mist

#9FC0D6

Lifted from the watercolour leaf art. #EDF3F7 tints the countdown panel and nothing else — it exists so the countdown can differ from the page without inventing a third ground.

Gold

#C8952A

Ornament and premium contexts only — the laurel wreath around the couple’s song, the checkmarks in pricing lists. It measures 2.7:1, so it is a fill, never a word.

Gold text

#8F6B18

Gold when it has to be read: 4.9:1. The "Más Popular" badge is this on #F6EBD2 with a #A87E1F hairline — three tokens to say one thing legibly.

These are Casamiento.App’s colours, printed here as documentation. Nothing on werun.dev is drawn from them.

Typefaces

Cormorant Garamond

Display, headings, body — almost everything

68px display at weight 400 and zero tracking, 44px section headings, 17px body at 1.7 line-height. Nothing is condensed, nothing is italic. The only bold usage in the system is the 28px invitation venue name. The identification is an informed read of the letterforms, not a confirmed spec.

Jost

Small uppercase labels only

The sans that carries micro-labels at 14px with .14em tracking — raised from 12px/.18em because Cormorant’s small x-height makes uppercase micro-labels hard to read at the smaller size. It is a stand-in: the real label face was too small in the capture to identify.

Named, not loaded — this page sets every family above in werun.dev’s own type.

The rules

Gold is decorative, never read

#C8952A measures 2.7:1 on ivory. It fills the laurel wreath and the pricing checkmarks and stops there. Icons and borders step down to #A87E1F (3.7:1) and gold text to #8F6B18 (4.9:1). The rule is written down because the wreath is the warmest gesture in the brand and the pull to set a price in it never goes away.

Hairlines divide; they never edge a control

#E7E7E7 through #C9C9C9 are decorative only — FAQ rows, footer lists, step rules. Anything interactive (inputs, outline buttons, unselected RSVP choices) uses #8A8A8A, which clears WCAG 1.4.11’s 3:1 floor for non-text contrast. Two greys that look the same to the eye do different jobs, so the token names carry the difference rather than the swatch.

Never more than two grounds on a page

Ivory and paper alternate down the page, and a section separates itself by changing ground — not by a box, a border or a shadow. There is no third background and no gradient used as decoration anywhere; the only gradient in the system is the protection overlay under text on photography.

Text on photography always sits on the overlay

White copy never goes on a bare photo. It goes over a 0.50 → 0.62 black gradient that holds white above 6.9:1 on mid-tone imagery, and on-photo buttons carry their own rgba(18,16,15,.45) scrim behind the label. Hero copy is full-opacity white, never alpha-faded — fading it is the fastest way to lose the ratio that the overlay was added to buy.

How it is built

Our own WordPress practice, on our own product.

WordPressElementorGoogle FontsFont Awesome 6 SolidCSV importPDF exportQR access controlSMTP RelayARS / USD billing

The design system came after the product

casamiento.app was live before it had a written system. The tokens were sampled pixel by pixel from two full-page captures with the live pages read as text for verbatim copy — no Figma file, no CSS, no font binaries. Writing it down is what turned a set of Elementor pages into something a second person can extend without guessing.

Every component maps to a block that shipped

27 components, and each family corresponds to a block observed in the captures or on the live pages. Exactly three are additions: Icon, a thin wrapper that normalises size and colour over Font Awesome; and Eyebrow and SectionHeading, extracted from a label-plus-heading pattern that repeated in every section rather than re-declared each time.

Nothing in the invitation template is fixed

Every heading, paragraph, venue name, itinerary item and bank field is content the couple loads; what is written into the template is example text. Thirteen-plus image slots carry stable ids so an image can be recropped without losing its place, and the gift mode, RSVP mode, companion limit and decorative pattern are all props, not forks of the template.

What we did not rebuild, and why

The couple’s dashboard appears in the source material only as a thumbnail inside a blog card, so it is documented as a surface and left unbuilt. The watercolour leaf ornaments straddle the cover photo and could not be cropped free of it — rather than redraw them, Countdown takes optional leafLeft and leafRight paths and renders nothing at all without them.

Want the same treatment on your WordPress product?

Tell us what it does today and who has to maintain it after we leave. We’ll tell you what it takes.

No commitment. Just a conversation.
Casamiento.App questions