PLEŠO TATTOO: a website that shows 30 years of tattooing in full

PLEŠO TATTOO s. r. o.

2026-09-26

Plešo has been tattooing since 1996, and his studio is in Malinovo, which the site calls by its historic name, Eberhard. His work spans realism, animals, mandalas, tribal, black and white, colour and cover-ups. The old WordPress site had three public pages and a single gallery of 1,252 photos in one long run, with no sorting and no way to open a piece full screen. We built a new portfolio site around a motif we called RYTINA, Slovak for engraving: works appear on the page through engraved hatching, the same way black-and-white realism is built up, and each one hangs as an exhibit with its own label. The archive now lives on its own page with 895 entries (645 photos, 235 videos and 15 before-and-after series), two filter axes and a viewer you can page through with arrow keys or a swipe. The client runs the archive himself through a simple admin in Slovak. Booking goes by phone, WhatsApp and email, and the old URLs from Google were redirected. The project took 6 working days on a €300 budget.

Tattoo artist portfolio + archive + portfolio admin

Project type

Show the breadth of 30 years of work and lead visitors to booking

Main goal

€300

Project price

View live website

Selected screens

Visual project preview shows how the website looks on different devices. Responsive design ensures perfect display on mobiles, tablets and desktops.

A hero laid out like the client’s own banner: a tattooed torso on the left, the PLEŠO name with a carmine crown in the middle, a gloved hand with the machine on the right.

The non-trivial parts of the project

A tattoo artist sells on breadth and detail. So the job was not to draw a pretty landing page, but to build a showcase for hundreds of works arriving from a phone in batches, and then hand it over to someone who wants to keep adding more himself.

Problem #1

A one-line brief and a banner instead of a spec

The client sent his logo and his own banner with an angel, a skull and a rose, and when asked whether that was the direction, he replied “Ok”. No reference sites, no words on style. Everything else had to be read out of two images.

Our solution

We pulled out what the banner kept repeating: monochrome, selective red, stone and the engraved hatching from the logo. That became the RYTINA motif and the light hall with dark rooms. The hero rebuilds the banner as a web composition: two figures at the edges, the name in the middle, the crown as the only red point.

Technologies and implementation

Design system derived from the banner + the RYTINA motif

1
Problem #2

A tattoo cannot be cropped, not by an inch

Portfolio templates crop photos into a grid, which on a tattoo means cutting off a lion’s head or the end of a sleeve. The client named it himself during review: „lebo je to také useknuté“. For a tattoo artist a cropped piece is worse than none.

Our solution

We introduced an exhibit rule: frame height is computed from the work’s aspect ratio and the screen height, so the whole piece and its label are visible without scrolling. The same rule holds in the archive viewer and for videos. The source file is checked too: the dragon leg piece was re-framed from the original so the leg shows in full.

Technologies and implementation

.exhibit utility + object-contain + aspect ratio from data

2
Problem #3

A sleeve or a back piece cannot be shown in one photo

Large pieces wrap around the body. A single flat photo keeps half of them, and the client’s WhatsApp batch included exactly the videos where he turns the work in front of the camera. Video accounts for roughly a quarter of the archive.

Our solution

Video is a first-class exhibit type in the archive, like a sculpture on a turntable. The tile carries the word VIDEO and an engraved ring instead of a play icon. Each clip is at most 1 MB, muted, with a poster and loading only once opened; under prefers-reduced-motion it never autoplays. Videos are interleaved with photos in the grid so the archive does not open on a wall of posters.

Technologies and implementation

Stepped-CRF encoding under 1 MB + preload="none" + grid interleaving

3
Problem #4

Material arrived from a phone in batches

The client sent work over WhatsApp during studio days: photos, videos and before-and-after pairs, with short notes attached, such as „Ten had tam nepatri“. Some photos carried watermarks, and some videos had lost resolution to WhatsApp compression.

Our solution

We went through every batch as curators: grouped clips of the same piece, paired before and after states, removed watermarks, and where a work also existed on the old site, published the better source. The client’s notes always took precedence over any selection of ours.

Technologies and implementation

Media curation + batch inventory + state series

4
Problem #5

The client wanted to run the archive himself

While looking through the archive on a call, he said: „to by som už mohol sám urobiť“. A tattoo artist uploads from his phone; photos run 5 to 12 MB and videos tens of megabytes, while a serverless function on Vercel accepts at most 4.5 MB.

Our solution

We built a Slovak portfolio admin with password-only sign-in. Files go straight from the browser into storage, which is why a 24 MB photo and a 107 MB video both go through. It saves on its own, each save is a new version, a second open window cannot overwrite the first, and an empty save is rejected. The client also received short instructions in Slovak.

Technologies and implementation

Vercel Blob direct uploads + content versions + optimistic locking

5
Problem #6

The old domain already had its place in Google

The /portfolio gallery page was the second strongest URL on the old site, and its images lived in Google Images under WordPress file names. On top of that, WordPress had left sitemaps, RSS feeds and empty header and footer templates in the index.

Our solution

We shipped 9 permanent redirects: both portfolio pages and every old image URL lead to the archive, where those works actually are; the old sitemaps point to the new sitemap.xml, and the templates and feeds to the home page. Add TattooParlor structured data, llms.txt, IndexNow and Search Console verification.

Technologies and implementation

Redirects in next.config + JSON-LD + IndexNow

6

Similar problems in your business? We will help you solve them with modern tech stack.

Final structure

Complete web structure designed for maximum conversion and user experience. Each page has clear purpose and optimized navigation.

Home
Archive
Booking
Privacy policy
Cookie policy
Portfolio admin (private)

Most important website sections

Each section solved specific business problem and increased conversions

1

A hero laid out like the client’s banner

A pale concrete wall, a torso covered in his work on the left, a black-gloved hand with the machine on the right, and the name PLEŠO in Bodoni Moda with a carmine crown in the middle. Below it the disciplines Realizmus · Colourwork · Custom and the only script line on the site: “Umenie, ktoré zostáva”. The corners carry Bratislava · Eberhard, Est. 1996 and 30 rokov skúseností.

2

Selected works and the signature piece

Seven works, each composed around its own aspect ratio. Then a dark room with the signature piece, the Polynesian back. The label with style and placement always sits on the wall beside the work, never on the photograph.

3

Craft, and numbers in the client’s words

A portrait at work, three principles from the old site (design, ink quality, hygiene) and counters for 10,000+ clients, 25,000+ tattoos and 30 years. The numbers are the client’s own, given on a call, and the site treats them that way: as his words, not as a measurement.

4

PRED / PO (before / after)

The section heading is the comparison itself. Under it, two frames side by side, the original tattoo and the cover-up, with no sliding curtain that would always hide one of them. On mobile the photos run edge to edge.

5

Disciplines as an index

Seven disciplines in the order the client uses them: Realism, Animals, Mandala, Tribal, Black & White, Cover up, Colour. The needle line from the logo tracks the active row while a sample from that discipline changes beside it.

6

The archive on its own page

895 entries with two filter axes, TYP (photo, video, series) and DISCIPLÍNA. A click opens the work full screen with nothing cropped; arrows or a swipe page through, Esc closes, and the URL carries the work’s ID so it can be shared as a link.

7

Booking on a single screen

The Rezervácia button in the header leads to its own page with three channels: phone, WhatsApp and email. There is deliberately no form; the client wants people to call or message him directly.

Project stack

Frontend and the RYTINA motif

One shared component brings images in through hatching and works on both the light and the dark field. Every animation has a prefers-reduced-motion variant, and each frame is sized from the work’s own aspect ratio rather than from the grid.

Bodoni Moda · Schibsted Grotesk · DM Mono · ItaliannoLogo carmine as the only colourprefers-reduced-motion respected
Next.js 16
React 19
TypeScript
Tailwind CSS v4
framer-motion
Lenis

Archive and portfolio admin

Archive metadata and new files both live in Vercel Blob. Every save writes a new version, so a change shows up immediately and can be rolled back. Sign-in is by password only, and a second open window cannot overwrite the first one’s work.

Direct uploads from the browser40 stored archive versionsProtection against concurrent overwrites
Vercel Blob
PBKDF2 heslo
Route Handlers
next/image

SEO, analytics, and compliance

TattooParlor structured data with the disciplines listed as an offer catalogue, nine permanent redirects from the old WordPress site, llms.txt and IndexNow. GA4 loads only after consent and tracks contact clicks, opened works and archive filters.

JSON-LD TattooParlor + Person9 redirects from old URLsCookie banner and legal pages
JSON-LD
robots.txt & sitemap.xml
llms.txt
IndexNow
GA4
Silktide Consent Manager
Vercel

💡 Modern tech stack = fast website + easy maintenance + long-term support

Delivery process

Communication ran over WhatsApp and phone, because that is how the client works. Each wave ended with a deploy, so on the next call the client saw a live site rather than a mock-up.

16–17 September

Concept, the RYTINA motif and the first link

2 days

The banner and logo became a design system, the RYTINA motif and a first build on 47 works picked from 1,252 downloaded originals. On day two we aligned the site even more closely with the banner: a light stone hall, the hero as an unfolded banner, the exhibit rule and a standalone archive page. That evening the client got the link.

22 September

The client’s media batch

1 day

WhatsApp delivered 223 photos, 27 videos and material for 15 state series. Videos got their own exhibit type, the series a section on the home page, and the archive a second filter axis by type.

23–24 September

The client call and the portfolio admin

1 day

On the call the client corrected the facts: Eberhard instead of Ružinov, Est. 1996 stays („to tam necháme“), 30 years of practice („No, máme 30.“). We simplified the state section to PRED / PO following his „Musíme to spraviť jednoduchšie“, added a second media batch, and built the admin through which he now adds work himself.

25–26 September

Booking, SEO and handover

2 days

The booking button got its own page with phone, WhatsApp and email; about WhatsApp the client said „No to by bolo super.“ Then came redirects for the old URLs, consent-gated GA4, the cookie banner, a privacy policy with the details from the invoice, Search Console verification and the studio address as the client specified it. That was the handover, after 6 working days.

Project FAQ

Case study summary

This case study shows a specific problem, solution, and outcome. It helps you compare your project to a similar scenario.

Definition: a case study describes a real project with clear inputs and outcomes.

Run a tattoo studio, or any craft that sells on its portfolio?

We build sites that show your work in full, never cropped, with an archive you keep adding to yourself from your phone. And if you have an old site, we carry over what Google already knows about you.

Leave your contact (email or phone is enough)

Write on WhatsApp

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

✨ Work never cropped • An archive in your hands • SEO carried over