Skip to content
Nuvra logo

named client case · hospitality marketing

Nuvra: Paul had the idea. I took it from a research brief to a working product.

Independent cafés, bars and restaurants have real products, people and moments worth showing. They do not have a marketer. Nuvra learns the venue, asks what matters commercially this week, tells the staff exactly what to capture, composes posts around the real photos, gets explicit approval, publishes and learns from the response. Mobile-first, Romanian first.

  • Next.js + MongoDB + AWS
  • AI composes, a human approves
  • Instagram and Facebook
  • private alpha

Paul owns the product and the market. I own the technology and built it with Petre, my developer. Nuvra staff never operate marketing on a customer's behalf; the product is self-service by design.

the original condition

The first brief described five products. The research cut it to one loop.

The starting point was a deep-research document: the market, the competitors, the jobs to be done and a feature architecture that would have taken a year. It was deliberately cut to a four-week MVP with seven promises: tell us about the venue, we build its marketing brain, your team gets exactly what to capture, we turn it into publishable content, you approve once, we publish and measure, next week is smarter than this week. Caption generators and schedulers are commodities. The loop is not.

what I built

Understand, ask, plan, capture, create, approve, publish, learn.

Every feature strengthens one stage of that loop or it does not exist. This is what is built.

Onboarding and the Venue Brain

One question per card. A website or Instagram address fills in the first answers; the app reads the profile and its latest posts, drafts the venue's intelligence with sources and confidence, and proposes two brand kits to choose from.

Weekly pulse and plan

A required thirty-second commercial check-in each week: what matters, what is on, what is closed. The AI proposes a weekly plan the owner edits, each item citing what was learned before and continuing the venue's feed so far.

Capture briefs for the staff

Precise shot requests with read-only share links: this product, from this angle, in this light. A staff member opens the link on a phone, shoots, uploads. No account, no marketing skills.

Composition around real photos

Posts are drawn from the venue's brand kit in ten structures, with the real photo as the factual basis and measured checks on contrast, occlusion and legibility. Product photos are staged for cutout kits and checked to stay intact.

Chat, approval and publishing

A conversation with Nuvra to revise a post or ask for one. Approval of the plan authorizes generation only; publication needs explicit approval of the final content and schedule. Publishing to Instagram and Facebook through Zernio, with manual export as a fallback.

Learning, reels and the rest

A weekly report with like-for-like learnings and confidence labels. Reels from the venue's photos with music. Announcements, event posts with a calendar tile, content pillars and growth modes, an AI cost ledger and credits, a seven-day Stripe trial.

by the numbers

The figures come from the project's own repository.

from research to a working alpha
4 weeks
First commit on 28 September 2026. Thirteen epics done by 1 October; 29 epics by 27 October, in 82 commits.
reference posts taken apart
81
Dissected into layers to write the generation rules and the brand kit model that replaced post templates. Plus 29 short videos studied for the reel playbook.
of AI per four-post week
≈$0.16
Measured on the real provider on 3 October, staging included. Every AI call is costed and shown per customer.
unit and end-to-end tests
399 + 185
At the 3 October checkpoint, all green. Browser tests run against local fakes for AI, email, storage and publishing.

how it was built

Research first, then one epic at a time.

  1. Cut the vision to a loop

    Deep research into the market, competitors and jobs to be done. The feature architecture was sorted into must build, build later and do not build, and the MVP was fixed at seven promises.

  2. Build the foundation in a week

    Tenancy, observability, passwordless sign-in, organizations and roles, Romanian and English, the installable shell, uploads, a job queue, provider-neutral AI with a fake for tests, onboarding and the first Venue Brain.

  3. Replace templates with a brand kit

    After dissecting 81 reference posts, post templates were removed and a ten-element brand kit took their place: logo, colours, type, object style, motif, shapes, layout, fixed elements, rhythm and voice. Every post is drawn from it.

  4. Measure what the AI costs and whether it holds

    Each generation path has a cost script and a check: staging keeps the product intact, scenes stay the same place, the words on a picture match the confirmed facts. Anything that fails falls back to the previous step.

the stack

What it runs on, and why.

Next.js 16, MongoDB, AWS

An installable progressive web app, every query scoped to organization and venue, background jobs on SQS and Lambda, deployed with SST or on Vercel.

OpenAI, Satori and Sharp

Provider-neutral AI interfaces with call records and a cost ledger. Posts rendered as a validated scene graph, not a canvas: every layer is checked before it ships.

Zernio, Resend, Stripe

Publishing to Instagram and Facebook with webhooks and safe retries, transactional email, and a monthly plan with a card-up-front trial.

what this case does not claim

Named work, without invented performance theater.

  • Nuvra is in private alpha. No customer, testimonial, metric or pilot result is published, and none is invented.
  • Billing and publishing are built and tested on fake providers; the Stripe and Zernio walk-throughs in production are still owed.
  • Analytics that are missing are shown as unavailable, never as zero. The product makes no causal revenue claim, and neither does this page.
  • AI provenance is recorded for every image and never stripped. It is not shown as a label in the app or the published text, by the founder's decision.

Paul brought the idea and the market. The technology is my side. That split is the offer.

Tell me what your company runs on and who is holding it together today. In 30 minutes I'll tell you what it takes for me to own it.