Skip to content

Mario Spasovski

Personal Portfolio

Client Work

Flora Flower Boutique — Florist Website

A one-page site for a flower and gift shop in Kumanovo. Built to do one thing well: turn a Google search into a phone call.

Screenshots

Flora Flower Boutique — Florist Website screenshot 1 of 4
Flora Flower Boutique — Florist Website screenshot 2 of 4
Flora Flower Boutique — Florist Website screenshot 3 of 4
Flora Flower Boutique — Florist Website screenshot 4 of 4

Tech Stack

AstroTypeScriptTailwindCSSNetlify

Project Overview

Flora is a flower and gift shop in Kumanovo, North Macedonia. They had customers and a Google Maps listing but no website, so people searching for a florist found competitors first.

The brief was narrow, which helped. No cart, no checkout, no contact form — the shop takes orders by phone and Viber, so the whole site is built to get someone to tap a call button. Everything else is in service of that: the phone number is in the hero, a sticky call bar follows you on mobile, and the gallery exists so people can point at a bouquet they want.

It's a single static page built with Astro and Tailwind, deployed to Netlify. No UI framework and no animation library — the motion is CSS and a few vanilla custom elements, which is why the whole page ships under 6 KB of JavaScript. The content is Macedonian Cyrillic throughout, which ruled out most typefaces until I found a pairing with proper Cyrillic support.

The photos were the hard part. 54 real photos of the shop's work, each generated at four widths in three formats at build time, so a phone downloads one small AVIF instead of a 250 KB original. That, plus a Google Maps embed that doesn't load until you ask for it, is most of the performance story.

Key Features

  • 97 mobile / 100 desktop on Lighthouse, 100 for accessibility, with zero layout shift
  • Under 6 KB of JavaScript — no React, no animation library, no analytics
  • Florist structured data so Google can read the address, hours and service area
  • Macedonian Cyrillic throughout, with self-hosted variable fonts
  • WCAG AA, full keyboard navigation, and a complete reduced-motion path
  • 54 photos served as AVIF, WebP and JPEG at four widths each, generated at build time
Back to all projects