Adorn Studio
Portfolio

Three boutiques and one concept.

Lana Grace Bridal

142 gown pages where there had been none

A gown manufacturer with 23 years behind it and around 100 partner salons across 28 countries.

A gown manufacturer with 23 years behind it and around 100 partner salons across 28 countries. Its website had been frozen since 2022.

Astro, five languages, a Python image pipeline

What it looked like

  • One language, for a brand selling in 28 countries
  • No H1. Search engines could not tell what any page was about
  • The “Find a retailer” page had said “under construction” for four years
  • 130 gowns in the catalogue and not a single page of their own

What it looks like now

  • 142 gown pages instead of zero, each one indexable
  • Filters by silhouette, neckline, sleeves, fabric and back
  • Five languages — English, German, French, Spanish and Ukrainian
  • A form that turns a bride looking for a stockist into a lead for the brand
  • Built on static generation, so pages open instantly

See the site

Giulietta Bridal

From 186 dresses to the 29 she came for

A salon in Sibiu carrying five designers — WONÁ Concept, Monreal, Lana Grace, Rillianse and Berta Radelli — with one requirement above the rest: filters a bride understands without being taught.

The owner had seen my Atelier Verenna concept and wanted that look, so the design was settled before the work began. The work was everything underneath it.

Static HTML and vanilla JavaScript, two languages, an editing panel

What the salon asked for

  • Filters a bride can use without knowing the names of the cuts
  • Bookings on WhatsApp, and nowhere else
  • No prices on the site, and no accessories
  • Romanian and English
  • A site she changes herself, without calling a developer

What it got

  • 186 dresses from five designers, each on its own page with a gallery and similar dresses beside it
  • Filters by designer, collection, silhouette, neckline and sleeves, each with a live count. Mermaid and long sleeves narrow 186 dresses to 29
  • Every silhouette, neckline and sleeve explained in a sentence, in her own language
  • A WhatsApp button that opens the chat with the first message already written
  • Romanian and English on separate addresses, so search shows each bride her own
  • An editing panel that checks every change first. One that would break a page never goes live, and the site keeps its last good version
  • Domain, hosting and nightly backups in the salon's own account

See the site

Kallee Bride

For the boutique, and approved by it

Brand tiles where the gowns should have been

A boutique in Novi Sad carrying San Patrick, Demetrios, White One and Cosmobella — and a front page still leading with a collection dated 2018.

Everything here is what the two sites show. The old one is still the one a bride would have found.

Astro, two languages, gown galleries, a fitting flow

What it looked like

  • The front page led with “Kolekcija 2018”
  • The collections page opened onto brand tiles, not onto gowns. A bride could reach the name of a label but not a dress
  • Serbian only, with no way to switch
  • Where the main action belongs there was a 360° tour and a row of social icons

What it looks like now

  • Book a fitting in the header, and as the first action on the front page
  • Every gown has its own gallery — ten photographs, thumbnails, arrows
  • Serbian and English from one set of markup
  • A booking screen a bride completes without leaving for a direct message
Atelier Verenna

Self-initiated concept — an invented house, never commissioned, never launched

A concept for a Bucharest atelier

A working prototype built for myself, using a real couture range, to answer one question: what does a bridal catalogue look like when every route through it ends in a fitting?

Nobody asked for this one. I built it unpaid to test the pattern the rest of my work rests on, with a real couture range rather than invented gowns. Atelier Verenna does not exist — the house is invented so that no real boutique is named for work it never asked for. The gowns and the photography are real; nothing here is a claim about anyone's business.

Static HTML, CSS and vanilla JavaScript, two locales

What it sets out to solve

  • A gown page that ends in nothing, so the enquiry has to leave for Instagram
  • Photography served at whatever size the camera produced
  • Two languages kept as two hand-edited copies, drifting apart after any edit

What the prototype does

  • Every gown page ends in one action — book a fitting — with the gown carried into the booking so nobody retypes anything
  • A gallery and product view built around large photography with intrinsic sizing, so nothing reflows as images arrive
  • One translation layer over one set of markup, so a string is written once and both locales stay in step