PLEŠO TATTOO: a website that shows 30 years of tattooing in full
PLEŠO TATTOO s. r. o.
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
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.
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
Most important website sections
Each section solved specific business problem and increased conversions
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í.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
💡 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 daysThe 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 dayWhatsApp 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 dayOn 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 daysThe 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
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)
✨ Work never cropped • An archive in your hands • SEO carried over