Flagship · 01 · 2025 — ongoing

Invuna — Invitations, Generated.

A SaaS we own end-to-end. Describe the event in a sentence; the product writes the copy, generates the artwork, ships the invitation to every channel that matters.

Year
2025 — ongoing
Client
In-house product (Tangled Design)
Role
Strategy, design, engineering, infrastructure, maintenance
Sector
Consumer SaaS · AI product · Events

Services

  • Product Strategy
  • Design
  • Engineering
  • AI Pipelines
  • Payments
  • Infrastructure
  • Maintenance

Stack

  • Vanilla JavaScript
  • Express
  • DigitalOcean
  • Cloudflare
  • Bunny CDN
  • Stripe
  • AI Text Generation
  • AI Image Generation
invuna.comStatus · Live in production
Invuna — Invitations, Generated. — motion trailer
invuna.com
Invuna — Invitations, Generated. — full website
Invuna — Invitations, Generated. — full website — mobile

The product we point to when someone asks whether we ship.

Overview

Invuna is the SaaS we own end-to-end. Strategy, design, code, infrastructure — every decision is ours, and every consequence is ours. A user describes an event in plain language; the product generates the copy, generates the artwork, assembles the card, and ships it across WhatsApp, Telegram, Instagram Story, Facebook, email, and direct link. Auth, payments, multilingual routing, RSVP dashboard — all in place. All custom-built. Live at invuna.com.

This is not a client case study. This is what we build when the brief is ours.

The shape of the product

0
Languages live
0
Share channels
0
AI models in pipeline
0
Bill, no subscription forced

The Challenge

The invitation software market is broken in a specific way. Every existing tool forces the user to pick a template, crop a photo, fill thirty form fields, and hope the result doesn't look like a 2015 eCard. The templates are generic, the design systems are rigid, and the words on the invitation — the actual content — are left entirely to the user. So most invitations sent through these platforms are ugly, long-winded, and forgettable.

We wanted to find out what happens when the software does the work the user actually hates. Describe the event. We generate the words. We generate the visuals. We handle the sharing. We track the RSVPs. The user describes the moment. They don't become an amateur graphic designer at 11pm before a baptism.

01 · The single input

Invuna landing — a sentence becomes an invitation
The whole experience opens with one input field. Type a sentence about your event; press generate.

Doing that end-to-end meant building a real SaaS product, not a marketing page with a sign-up form. Authentication. Payments. AI pipelines for both text and imagery. An RSVP system with guest tracking. A calendar that respects time zones. Multilingual routing. Analytics. Legal pages. Everything a consumer SaaS actually needs.

The Approach

We picked the stack deliberately, against the grain.

Not WordPress. This is a product, not a content site.

Not a heavy React framework either. The product is consumer-facing, has to load fast on phones, and didn't need the abstractions of Next.js for its core flow. A lean stack was the right answer.

Vanilla JavaScript on the frontend, Express on the backend, DigitalOcean App Platform for hosting, Cloudflare for DNS and edge, Bunny CDN for video delivery. Custom auth. Custom language routing. Every dependency chosen because we actively wanted it, not because a framework came with it bundled.

Invuna in use — a generated invitation card

For the AI layer we built a pipeline that extracts structured event data from free-form natural language, validates and enriches it, and feeds two separate generation steps: one for the copy, one for the artwork. The output is a complete invitation with matching words and visuals.

For payments, we use Stripe — but with a flow that respects how people actually buy invitation software. No forced subscriptions. Pay when you need it, use the credits, come back next time.

For RSVPs, the host gets a live dashboard: accepted, declined, pending, plus-ones, dietary notes, custom questions if needed. For the calendar, an in-product event tracker with countdown timers and reminders. For language, a custom router that handles Romanian, English, and Italian from day one — first-class navigation, not an afterthought.

All of it in-house. All of it maintained by us.

The Solution

Core product

  • Natural-language event parser — takes a free-form description ("baptism for my niece, April 20th, 11am, orthodox at St. Nicholas, lunch after at Grandma's") and extracts structured fields: event type, date, time, location, host, dress code, gift preferences.
  • AI text generation — produces invitation copy in the appropriate tone (formal, casual, playful, elegant) based on the event, with bilingual parity across all three supported languages.
  • AI image generation — produces the artwork, matched to the event mood and the text. Not stock templates — generated specifically for that event.
  • Card builder — assembles the generated text + imagery into a shareable invitation with clean typography, auto-layout, and quality suitable for print or digital.
  • Multi-channel sharing — native share intents across WhatsApp, Facebook, Instagram Story, Telegram, email, and direct link with clipboard fallback.
  • RSVP system — recipients respond via a dedicated link. Host sees a live dashboard.
  • Event calendar — hosts see all upcoming events with countdown timers, status at a glance, quick share access.
  • Authentication — accounts to manage events, save drafts, track RSVPs over time.

02 · The RSVP dashboard

Invuna RSVP dashboard
The host sees who's coming, who's declined, who hasn't answered, plus-ones, dietary notes, custom answers — in one live view.

Product infrastructure

  • Stripe payments — credit-based billing. Buy credits, spend them on generation and sending, top up when needed. No forced subscription, no auto-charge. Every major payment method Stripe offers.
  • Multilingual routing — Romanian, English, Italian. URL-level language detection, custom language-loader.js and language-router.js, proper hreflang signals for SEO.
  • Schema.org JSON-LDSoftwareApplication markup for discoverability.
  • Performance-first asset delivery — click-to-load video embeds via Bunny CDN, self-hosted fonts, lean JavaScript, deferred loading.
  • Legal compliance — Privacy Policy, Terms of Service, Refund policy, GDPR-compliant consent flow.

Key Moments

The single input

The thing that took the longest to land wasn't the AI — it was the input field. Every existing competitor opens with a template gallery and a thirty-field wizard. We open with one box. Type the event. The form behind it is generated dynamically based on what was extracted.

Invuna's generation flow
Behind the box, a parser extracts event type, date, time, location, host, dress code. The form materialises only with the fields the user hasn't already given.

Two AI passes, one card

Most products that use AI for invitations bolt a single text generator onto a stock template library. We split text and imagery into two separate models with shared event context, so the copy and the artwork land on the same wavelength. Formal baptism gets serif type and a soft palette. Cocktail birthday gets bold sans and a saturated accent. The card composes itself around both.

No forced subscription

The credit model is the move. Every competitor wants a $9.99/month. We watched real people use the product and discovered that nobody wants a subscription for an event. They want it for a wedding, then again in two years for a baptism, then again for a birthday. So we billed accordingly. Stripe one-off, credits on the account, top up when you have something to send.

The Stack

Frontend            Vanilla JavaScript (no framework)
                    Custom "Calimate" 900 display font
                    Source Serif 4 italics
                    Modular component architecture
Backend             Express (Node.js)
Auth                Custom flow — email + session
Payments            Stripe — credit-based, no forced subscription
AI text             Natural-language event parsing → contextual copy
AI image            Visual pipeline producing event-matched artwork
RSVP                Custom guest management — plus-ones, dietary, custom Qs
Calendar            In-product event tracker with countdown timers
Hosting             DigitalOcean App Platform
CDN / Security      Cloudflare
Video delivery      Bunny CDN
Schema              JSON-LD SoftwareApplication
Languages           Romanian, English, Italian

The Result

Live at invuna.com. Real people are creating real invitations for real events — weddings, baptisms, birthdays, graduations, corporate launches — in three languages, paying through Stripe, tracking RSVPs, sharing across every major platform.

We maintain the product continuously. New features ship regularly. Bugs are fixed as they surface. The AI generation layer is refined based on what users actually ask for.

If the rest of our portfolio shows how we build for clients, Invuna shows how we build for ourselves. Same standards. Same level of care. The only difference is that we're accountable for every decision, forever.