Gabriel Augustinho Torres

Jolimont

A redesign study of a southern Brazilian winery’s online store. Not the official site.

Year
2026
Role
Study project, built solo
Stack
React, TypeScript, Vite, Workbox, Vitest, and Playwright
Status
Live
The study’s home page on a laptop, with a vineyard photo, the headline “Vinhos da Serra Gaúcha, desde 1948” and the Espumante Moscatel featured.
The Espumante Moscatel product page on a phone, with the bottle on a light background, four medals and the add-to-cart button.
On the laptop, the store’s home page. On the phone, the page for a sparkling wine.

This is a study: a redesign of the online store of Vitivinícola Jolimont, a winery in Canela, in the mountains of southern Brazil. It is not the official site and I have no connection to the company. Checkout is switched off on purpose, so nothing is charged and no order is created.

What I changed from the official store: banners with text baked into the image became real text; the generic black gave way to the brand’s burgundy, with gold only in the details; headings use a typeface that recalls a wine label; bottles sit on light backgrounds so the dark ones stand out; and the menu is organized by type, line and selections such as award winners, under R$ 89 and alcohol-free.

The store also became an installable app that works offline. The technical decision I like most is the hand-written service worker, with a caching rule for each kind of file: pages go to the network first, bottle photos already seen are kept for 30 days, and checkout never enters the cache. Once installed, the catalog, the filters and the cart work without a connection.

The 44 labels, the tasting notes and the prices come from the official store’s public pages, with the update date shown in the store. The project has 61 unit tests and 43 end-to-end tests, passes axe on 8 pages, and scores 85 for performance and 100 for accessibility and best practices in Lighthouse’s mobile run.

If I did it again, I would render the HTML at build time. Today the first screen waits for JavaScript, and LCP is around 4 seconds on slow 4G.

More screens

The catalog on a phone filtered to sparkling wines, with 10 labels and prices 20% off.
The cart on a phone with two Moscatel sparkling wines, the quantity of each and the start of the order summary.
The catalog filtered to sparkling wines, and the cart with two labels.
The full catalog on a laptop, with 44 labels, filters by type, highlight and price, and the bottles on light backgrounds.
The catalog on a computer, with the filters alongside.