Skip to content
Pastel balloons along the top of a pale blue sky, with the Vivis butterfly alone in the middle.
02

Vivis

Year
2026
Disciplines
Web DesignWeb DevelopmentE-commerce

Everything for the party

Vivis sells balloons, decorations, costumes, cake toppers, confetti and helium from two shops, one in Podgorica and one in Budva, and ships everywhere else in Montenegro. A child's birthday, a gender reveal, a wedding hall: most of the country's celebrations pass through one of their counters at some point.

The old shop ran on WooCommerce and had stopped keeping up with the catalogue. We rebuilt it as an application of its own: the storefront in Montenegrin, the back office in English, and the catalogue, the cart, the payments and the wholesale accounts all on one backend.

Products migrated from WooCommerce
Product photos moved into our own storage
Filters across 55 categories
Shops, in Podgorica and Budva
Three phones: the home page with a seasonal hero, the birthday balloons category, and the product page for the Dino HBD balloon.

A catalogue that arrived whole

The migration was the first deliverable, not the last. Every product, category, theme and filter came across in one scripted import, and every photo was copied into the new platform's storage, so nothing on the site still points at the old server. The old category addresses were kept letter for letter, so the links customers had saved and search engines had indexed still land where they did.

What changed is how the catalogue is shaped. A product can sit in up to ten categories and is listed in every one of them. Brands that used to be categories became a manufacturer filter. Filters are ordered per category by the shop, and the URL carries them, so a filtered list can be shared like any other page.

The birthday balloons category on desktop, with size and occasion filters on the left and a grid of foil balloons at 2,90 €.
The Dino HBD balloon's product page on a phone, with the Dinosauri theme pill above the price and the add-to-cart button.
The same product on desktop: price, theme, quantity and the cart beside the photo, with four handpicked balloons below.
One product page, in the hand and on a desktop.
  • #E52420V
  • #184EBCI
  • #008847V
  • #F7D82EI
  • #794EB3S
  • #F2594BCoral
  • #8EB2D9Sky
The Vivis mark with the slogan “Da zabave duže traju!”, its five letter colours, and the butterfly and balloon pictograms on coral and sky.
Five letters, five colours, a butterfly on the first i and a balloon over the second.

The site takes its colours from the mark, one per letter, and keeps them for the products. The interface itself stays white and coral, so the balloons are the loudest thing on the page. The coral is deepened wherever it carries text, so every button and link reads at AA contrast on white.

Da zabave duže traju! So the party lasts longer.

The Vivis slogan, on every page and every email

Two shops, on every page

Most customers still walk in. The home page and the contact page carry both shops with their own map, hours, phone number and directions, and the storefront photo from the Podgorica shop says more about what Vivis is than any line of copy could.

The Podgorica shopfront behind a red convertible and a cloud of balloons, beside the home page section with maps of the Podgorica and Budva shops.
The “Partnerstvo za profesionalce” section of the home page with its three steps, beside the contact page on a phone.

The storefront is Next.js on Postgres with a real-time database, dressed in Cherry, with sign-in through Clerk and order emails through Resend. Pages are rendered on the server, and every product page carries its own structured data, so a balloon's price and stock reach search engines exactly as a customer sees them.

The home, category, product and contact pages on mobile, each shown at full length side by side.
Home, category, product and contact, top to bottom.
Next project

Inspector Lab

View case study