Freelance project2026

Bald

Next.jsStripeGSAPLenisMotionnext-intlnuqsTypeScript

E-commerce site for a painter

E-commerce site built freelance for Bald, an abstract painter. Black and gold visual identity built from scratch: animated intro, rotating circular badge, brushstrokes on scroll, Bebas Neue typography. Gallery with multi-criteria filters, complete Stripe checkout, and native FR/EN internationalization. The kind of site you can't build with a template.

Overview01

A custom visual identity, a filterable gallery, and international payments.

E-commerce site for a painter
Fig.01 — Home pagebald-art.com

A fully custom visual identity. Every graphic element was designed for Bald: the logo split into two typefaces (BA in ink, LD in gold leaf), an animated circular badge, brushstrokes that animate as you scroll. This kind of visual impact can't be improvised with a template.

A gallery built for easy browsing. Visitors filter paintings by collection, dimensions, and price. What they're looking for is one click away, without any page reload.

Buy a painting in a few clicks. Stripe payment is integrated directly into the site. Bald can add or remove artworks from his admin panel, without touching the code.

The site in French and English. Every page, every artwork sheet, and every legal notice is available in both languages. An English-speaking visitor automatically lands on the right version.

The site is live at bald-art.com — feel free to visit and see for yourself.

Section02

The visual identity

Every graphic element (the logo, the rotating circular badge, the brushstrokes on scroll) was custom designed and integrated. Black and gold, Bebas Neue typography, GSAP animations: the entire BALD universe is built from scratch.

E-commerce site for a painter — The visual identity — view 0
E-commerce site for a painter — The visual identity — view 1
E-commerce site for a painter — The visual identity — view 2
E-commerce site for a painter — The visual identity — view 3
E-commerce site for a painter — The visual identity — view 4
Section03

The filtered gallery

The gallery lets visitors filter artworks by collection and dimensions, and sort by ascending or descending price. With several dozen paintings, filtering is instant client-side (no reload, no network call).

E-commerce site for a painter — The filtered gallery — view 0
Under the hood04

Three technical choices that defined the project.

For developers and recruiters: here are the technical decisions that shaped this international art e-commerce site.

01

Filterable gallery with multi-criteria sorting and shareable URL

Artworks can be filtered by collection, dimensions, and sorted by price. With several dozen paintings, filtering had to remain instant client-side. The logic is encapsulated in a useMemo to avoid recalculation on every render, and the filter state is synced with the URL via nuqs: a visitor can copy-paste the link to a filtered view and find the exact same result on another device.

02

Complete FR/EN internationalization

All site content (gallery, artwork pages, legal pages, contact form) is available in French and English via next-intl. Language choice is persisted in the URL, and each page has its localized version for SEO. Visitors can switch languages at any time from the header selector.

03

E-commerce legal pages, written for international art

An online store comes with legal obligations: terms and conditions, privacy policy, return policy. These pages were written and integrated with the specifics of international art commerce (international shipping, customs rules, withdrawal period, mentions for unique works). Foundational work that's less visible but essential for a retail site to go live confidently.

Project stack05

The tools powering the site.

01Next.jsApp Router · static gallery pages · Server Actions
02StripeCheckout tunnel · order confirmation webhook
03GSAPScroll animations · refined page transitions
04LenisSoft inertial scrolling · premium feel
05MotionInterface micro-interactions
06next-intlInternationalized FR / EN routing · localized SEO
07nuqsGallery filters persisted in URL · shareable
08TypeScriptType safety from SSR to DOM

Like what you see?

I build custom sites for artists, independents, and small businesses.

Brand identity, e-commerce, admin interface: every project is thought through and coded from scratch.

View my packages

Next project

Russian with Julia

Le site d'une prof de russe internationale