Skip to content

Working with AI · 2026

Real work,
made with AI.

A record of how I actually use AI in design, film and product work — what I asked for, what it got wrong, and what shipped.

The Work

Selected projects

Swipe, use ← → , or tap a poster to open its case study.

About

Idea maker, visual creator and communication strategist.

Based in Barcelona, currently building my own apps through vibe coding — with my sights set on the videogame and sports industries.

Photography Brand Identity Filmmaking UI/UX Design Storytelling iOS Development MidJourney Prompt Engineering
Motion Graphics Marketing Strategy Illustration Documentary Photography Creative Direction ElevenLabs Google Gemini
SwiftUI Copywriting AI-Generated Art Content Strategy Screenwriting Nano Banana Vibe Coding

01iOS App · SwiftUI & SwiftData

SLOSTA

An analog film camera for iPhone — one roll, no preview, and a real development wait.

This article is about how I tried to build my own app with vibe coding.

Overview

The Challenge

Digital cameras made photos infinite and disposable — instant preview, endless retries, zero patience. The ritual that made film feel precious is gone.

The Approach

Re-impose film's constraints in software: one 36-exposure roll, no preview, and a develop wait derived from the wall clock — so it survives force-quits, reboots, and the app never running.

The Build

A native SwiftUI + SwiftData app. Every state transition runs through a serialized @ModelActor lifecycle, with the developed state derived — never just flipped — as the single source of truth.

How it works

The eight rules SLOSTA teaches you on first launch — the same tip cards, so you learn the app the way its users do.

It's a camera, not a gallery.

SloSta works like real film. You shoot without seeing the result — and the reward is the reveal when your roll comes back developed.

CAMERA

One film at a time.

Just like a real camera, you load a single roll into your CAMERA. Finish it before you can load another.

No peeking.

You won't see a single frame until the whole roll is finished and developed. No previews, no deleting, no do-overs.

≈ 8h

Good things develop slowly.

When your roll is full, send it to the LAB. Developing takes real time — about 8h for a 35mm roll. Then your shots bloom in all at once.

CAMERALAB

Keep shooting while you wait.

While one roll develops in the LAB, you can load a fresh roll into the CAMERA and keep shooting. You just can't develop it until the LAB is free.

INSTANTBOOTH1× / 24h

INSTANT & Photobooth: your pocket extras.

INSTANT (10 shots, ~15 min) and Photobooth (4 shots, ~5 min) develop in minutes and work anytime — even with a roll already loaded. The only rule: each can be used once every 24h.

Wind, focus, shoot.

Every shot takes a beat — a flash, then focus — just like winding to the next frame. And double-tap the viewfinder to flip the camera.

That's it. Go shoot.

Load a film, take your time, and wait for the magic.

The ritual

01

Load one roll

Browse the film library — colour, black & white, special — and commit to a single stock, each with its own colour science, grain and mood. No new roll until the current one is developed.

The SLOSTA home screen — COLOR, B&W and SPECIAL film categories, a camera and lab slot, the instant shelf, and the album of developed rolls SLOSTA film-stock detail — 'Soft Portrait / AURA 400 · natural skin tones with a soft, warm glow', with look swatches and sample frames

02

Shoot blind

36 frames, no preview. You compose, press the shutter — with a real haptic clunk — and move on. You never chimp at the screen, so every frame has to count.

SLOSTA viewfinder — a live scene of pavement and a fallen leaf, with a frame counter, level, zoom options and a large shutter button, and no preview of past shots

03

Commit, then wait

Hold to develop — "there's no going back, and no rushing the wait." The roll goes to the lab and sits there for hours of real wall-clock time, surfaced as a qualitative status, not a countdown.

SLOSTA develop screen — 'frames exposed. Develop when you're ready. There's no going back, and no rushing the wait,' with a hold-to-develop button SLOSTA lab status — a roll card reading 'In the bath · In the lab', the qualitative development wait

04

The reveal

When the wait ends, the whole roll develops at once — all 36 frames at the stock's look, laid out as a 6×6 contact sheet. The closest thing to tearing open an envelope of prints.

SLOSTA contact sheet — the 'Shelf' view of a developed AURA 800 roll, all 36 real frames revealed together in a grid

05

The shelf

Every developed roll earns its place on the shelf — a quiet archive of everything you've shot, each one dated and named, waiting to be revisited.

SLOSTA album screen — a list of developed rolls (AURA 400, AURA 800, NOVA 400, INSTANT, BOOTH) each with its frame count and develop date

Shot on SloSta

The whole point — real frames

Photographs actually made through the app — each one carrying its film stock and the SloSta stamp, exactly as it develops. Swipe the roll.

A man in a pink shirt reading a restaurant menu against a stone wall, framed with SloSta's AURA 400 film stock
Fireworks bursting over a crowd at night, framed with SloSta's AURA 400 film stock
A leafy plant-covered corner of a city street, framed with SloSta's AURA 400 film stock
An overhead shadow cast on sunlit pavement, framed with SloSta's AURA 400 film stock
A waffle on a plate at a café table, framed with SloSta's AURA 800 film stock
A dense crowd watching fireworks light up the night sky, framed with SloSta's AURA 800 film stock
An overhead shot of a sunlit wooden floor and Persian rug, with a person's shadow cast across it, framed with SloSta's NOVA 400 film stock
A plate of fried shrimp and sides at a restaurant table, framed with SloSta's AURA 400 film stock
A stone statue in a tree-lined park, framed with SloSta's AURA 400 film stock
A colourful mural on a shop shutter reading 'El Passadís', framed with SloSta's AURA 400 film stock
A basketball court shaded by trees, framed with SloSta's AURA 400 film stock

Shot by testers

Their rolls, not staged

Real rolls shot by TestFlight testers, developed in-app, untouched.

A person lowering their sunglasses to look at the camera in a city plaza, black-and-white film
Two people at a bar table with a dog resting nearby, black-and-white film
Construction cranes against the sky above a city building, black-and-white film
A phone's shadow cast on a bright white table, black-and-white film
A cyclist riding down a country road through a golden field
A tree-lined city street with a cyclist riding down the middle, black-and-white film
A bridge railing stretching toward the horizon at dusk
A green field under a blue sky with scattered clouds
A person walking down a forest path lined with pine trees

"36 frames. No do-overs. Develop when you're ready."

SloSta — time to slow down

iOS · SwiftUI · in development

02Product Design & Engineering

Rutina

A premium, iOS-style strength-training PWA — built from a spreadsheet into a full offline app.

This article is about how I tried to build my own app with vibe coding.

Overview

The Challenge

Six months of real training lived in an Apple Numbers spreadsheet — no progression insight, no history at a glance, and nothing usable mid-set at the gym.

The Approach

A dependency-free, modular vanilla-JS PWA — dark, glassmorphic iOS feel with an orange accent. A pure analytics layer feeds a full-screen, offline workout player.

Deliverables

An installable offline PWA: set-by-set logging with rest timer & haptics, progress charts, a muscle heatmap, and a CSV importer for years of training history.

The actual product

Four live modules

I directed the architecture, UX and QA while pairing with an AI agent to multiply implementation speed — turning six months of logged training into a real, structured app. Everything below is the genuine interface, lifted straight from the codebase and running in your browser. The app UI is in Spanish, exactly as shipped.

  • 01Routine builder — compose your training week, day by day.
  • 02Bento dashboard — analytics sized by what matters.
  • 03Workout player — log a set in range for a PR celebration.
  • 04Progress charts — switch exercises to redraw the curves.

03AI Illustration · Mockups

AILAB

A dark, mythic illustration style — pushed off the screen and onto buildings, apparel, and print.

I wanted to test how far you can push generative models and still get illustrations that don't look like slop.

Overview

The Challenge

AI-generated art is easy to dismiss as a screensaver. It needed to prove it could survive contact with the real world — scale, material, light.

The Approach

One consistent illustration style — dark, painterly, rose-and-monster mythology — mocked into every surface I could find: building-sized murals, apparel, packaging, print.

Deliverables

Two building-scale murals, apparel and hangtags, and six packaging formats — from a cassette tape to a postage stamp — all in one visual language.

The illustration practice

One dark, mythic voice

Skulls, roses, monsters, myth — the same practice across dozens of pieces, two of them blown up to the side of a building. Swipe through.

A building-sized mural of a totem-like creature covered in watching eyes, above a city street, shown in full
A fine-line illustrated mural of mountains, flowers and a pipeline, set into a brick wall covered in ivy
A monster mask peers from a jungle cave scene, colorful illustration
A volcanic fire eruption over a dark city skyline
A red demon-like creature hunched over dual computer monitors in a dark room
A city silhouette against a fiery sunset sky
An ominous red-toned skeleton figure among skulls, illustrated
A colorful monster skull mask surrounded by smaller creatures
A green zombie skull emerging from foliage
A crowd of colorful cartoon monster characters in an urban scene
A skull wreathed in colorful flowers, folk-art style
A sailing ship at night, framed by red roses and ocean waves
Red roses on ocean waves under a full moon
A black-and-white illustration of a skull wreathed in flowers
A fine-line black-and-white illustration of a mountain and suspension bridge
An angry-looking fish illustration in teal tones
A shoal of cartoon fish with sharp teeth, illustrated
A skeleton playing guitar outside a glowing house at night
A black-and-white illustration of a tiny figure reaching for a star
A lion's head portrait wreathed in roses
A skull wreathed in roses against ocean waves
A sailing ship caught in a stormy sea of roses, circular composition
A bouquet of red roses with green leaves
A red-and-blue illustrated couple, one playing guitar, Day of the Dead style
A wave of skull-faced monsters with red eyes, orange fish, and a small house on top
A dark, moody circle of red roses
A symmetrical floral pattern in cream and orange
A bearded bust portrait in an ornate medallion frame
A skull emerging from ocean waves, wreathed in roses
A glowing skull rising from a colorful, overgrown jungle scene
A lion crest surrounded by roses
A horned, bearded figure surrounded by roses
A bearded bust portrait framed by orange flowers
A symmetrical floral pattern in cream and navy
A vertical illustration of a volcanic eruption in vivid colors
Roses scattered across dark, swirling ocean waves
A glowing skull rising above a colorful illustrated cityscape
A cluster of three red roses
A tall, psychedelic collage of monster faces and eyes
A sailing ship on a stylized wave, in teal and cream
A bouquet of roses and peonies in pink and red
A red and teal floral bouquet illustration
White and red flowers against a coastal scene
Roses silhouetted against a dark, moonlit scene
A wreath of red roses in a circular composition
A small ship and roses illustration in teal
A bouquet of red lilies

Worn in the world

Off the wall, onto the body

A skull-and-roses print on a plain black tee, a moodier pirate scene pressed into a hangtag — the same mythology at garment scale.

A black t-shirt printed with an illustrated skull surrounded by red roses, on a hanger
A garment hangtag illustrated with a ship at sea beneath a full moon, surrounded by roses

Every surface

Pressed, wrapped, mailed

VHS, cassette, canvas, postage stamp, signage, wrapper — the same dark mythology, pressed into whatever format would hold it. Swipe through.

A VHS tape with a psychedelic zombie illustration on the cover
A pair of postage stamps illustrated with a bearded figure surrounded by roses
A hanging shop sign illustrated with a bearded figure surrounded by roses, mounted on a brick building
A shrink-wrapped canvas print of a roaring lion surrounded by roses
A foil wrapper illustrated with a figure reaching for a star, held between two fingers
A cassette tape and case illustrated with a red demon working at a computer

05Brand · Content

Bidfood

A premium visual overhaul

For the new brand campaign we wanted to move closer to the products we actually sell. I generated the illustrations in MidJourney, vectorised them in Illustrator, and we printed the result across the company's trucks and vans.

A wide sheet of blue-and-white engraved illustrations — vegetables, fish and shellfish drawn as catalogue assets
A Bidfood lorry on a coastal road, its trailer wrapped in dark navy drapery against the sea
Catalogue cover — 'Alcachofa Origen', an engraved artichoke on cream
Catalogue cover — 'Asia', a close-up of steamed dumplings
Catalogue cover — 'Brunch', avocado toast with a poached egg
Catalogue cover — marbled raw beef against navy drapery
Catalogue cover — engraved citrus on navy drapery, '58 referencias de cítricos'
Catalogue cover — 'Focaccia', a close-up of rosemary focaccia
Catalogue cover — 'Italia', tagliatelle with cherry tomatoes and basil
Catalogue cover — engraved sea creatures on navy drapery, '304 referencias del mar'
Catalogue cover — 'Pan', the crust of a rustic sourdough loaf
Catalogue cover — 'Plátano Origen', navy drapery sculpted over the fruit
Catalogue cover — a raw salmon fillet beside navy drapery
Catalogue cover — 'Slowfish', small silver fish laid out on white
Catalogue cover — 'Solegrells', a golden swirl of aioli
Catalogue cover — 'Texturas, Albert y Ferran Adrià', a white cone of powder
Catalogue cover — engraved vegetables on navy drapery, '1100 referencias de verdura'

Christmas and New Year followed the same route — MidJourney again, getting results that looked far more expensive than the budget behind them.

Poster — a Bidfood lorry on a theatre stage behind velvet curtains, 'Estamos presentes en cada servicio'
Christmas poster — a festive wreath and a fork in deep red, 'Bidfood os desea unas felices fiestas'

04Brand Identity

U.E. Sants

Rebrand of a football club

Self-initiated concept

The club never commissioned this. I made it on my own, as an experiment in how a neighbourhood football club could communicate — so everything here is my own proposal for U.E. Sants, not the club's official identity.

I wanted the identity built out of objects that belong to football, so I generated the photographs in Gemini and then worked them in Photoshop until they read as print rather than photography.

A reference grid of football kit, boots, a ball, scarves, grass and hands, shot as source material
The same objects redrawn as flat green cut-out shapes on textured paper

The other AI piece was Sansenc — a dragon out of Catalan mythology, made as a mascot for the fans to carry on match days. From there I built a whole cast of him for different uses.

The Sansenc mascot — a green dragon in the club's green-and-white striped kit
A sheet of the dragon mascot in nine poses, one holding a 'Sants!' sign
A wider pose sheet of the mascot — running, celebrating and holding club props
A dense grid of small mascot poses used as a sticker set
Mascot group scenes with the slogan 'Tot per Sants'

Finally, Gemini again — this time to mock up every poster and sticker in place.

A 'Som-hi Sants!' sticker on a shop window in the neighbourhood
A 'Dia de partit' match-day poster pasted on a weathered wall, carrying both club crests
An 'Amunt Sants' paste-up with the mascot on a brick wall
A poster layering the word 'Partit' over boot illustrations
A 'Tothom al partit' poster wrapped around a street column
A recruitment poster — 'Vine a jugar a la UE Sants' with the club's details
An 'Amunt Sants' paste-up on a concrete wall, half torn away
The club crest embroidered on white and on green fabric, side by side

09Videogame

Polyanna

Concept art for Apex Legends

Made in 2022

Keep in mind: this project was started in 2022 with MidJourney's version V3, so the look is way different from what today's models offer.

As part of my master thesis and then my activist activity I needed to make some concept arts for my videogame character.

A girl with a red backpack looking up at a vast airship fleet in the clouds
A lone tree in a meadow with a long red ribbon streaming from its branches
A crowd of girls in embroidered white dresses beneath a sky full of balloons
A cracked, dried-out plain under heavy storm clouds
A grid of six frames — ruined buildings, fire, a mushroom cloud and crowds
A grid of six frames — marching figures, warplanes, an explosion in space, a volcano and a distant city

With all these creations I then made some concept art trailers for its own lore I have concepted for Apex Legends.

Later on when this concept design project started to work on videogame development I needed to also generate 3D models for such a character.

A 3D model of the character in a white embroidered dress, seen from the side
The same 3D character seen from the front, arms outstretched
The same 3D character seen at a three-quarter angle, arms outstretched
A red-and-black painted scene of a burning house among reeds
A red-and-black painted scene of a burning gothic town
A red-and-black painted scene of a burning village with a lone figure

07Editorial · AI

Queer Zine

An AI-generated photo series

In the summer of 2026 I started my own personal project: a magazine-like digital collection of artsy photographs on queer themes. Since I'm originally a photographer myself, I'm also pushing the limits of MidJourney to see how far it can imitate real photography.

Method

Reverse-engineering the prompt

The fastest route to a prompt that works is backwards. I give the model a photograph and ask it to describe what it sees — the description comes back in the model's own vocabulary rather than mine, and fed back in it lands far closer than anything I would have typed from scratch. After that it is refinement: lens, light and grain, the things that separate a photograph from a render.

01

Start from a photograph

Usually one of my own — whatever carries the light, lens and mood I am after.

02

Let the model describe it

Upload it and have the AI write the prompt. It names what it sees in the words it actually responds to.

03

Feed the prompt back in

Then refine — tightening lens, grain and framing until it reads as photography rather than render.

A man leaping over a car bonnet at night A close-up of a man's face by the sea A man in a black T-shirt in warm window light A man sitting on a step with his hands clasped A man in a black T-shirt against an orange wall A man lying back with his arms raised, in black and white A man in a leather jacket in front of a window grid A footballer walking off the pitch, wiping his face A man in a white vest with his arms raised A man in a robe sitting cross-legged on a bed A man leaning on a balcony railing among plants A man in a red vest against a wall of handwritten slogans A man photographing himself in a mirror
A man in a knitted top lying on grass A tabletop collage of photographs and flowers Two men embracing in a landscape, in black and white Two figures silhouetted against a sunlit window The back of a man's neck with a small heart tattoo A man in a red cap and sweatshirt against red A man lying on a bed, seen from above A man's torso painted with colourful patterns A man resting his head on his arm, in black and white A bearded man in profile, in black and white A man holding a towel, in black and white A man lying among colourful fabric and prints A man with a gold chain against a pink background
A man with dyed hair lying on sand A man half-submerged in a swimming pool A polaroid-style shot of a man's torso A man bathing in the sea, in black and white A man in a 1994 basketball jersey and cap A man in a yellow football shirt against red Two men lying together on a bed A man with a chest tattoo lying on yellow bedding A man in a white vest laughing, hand on his head A hazy view over a city from a balcony A man stretching with one arm raised, in black and white A man lit by window blinds, in black and white A man leaning back against a wall, looking up

08Campaign · AI

CEVRO

AI imagery for a university campaign

In 2025 CEVRO university in Prague was getting its rebranding. Due to tight budget and timing I was asked to make a stock of AI-generated photographs for the advertising department to later make banners and other online comms.

A student in a purple CEVRO hoodie in a bright campus corridor Two students walking and talking on an autumn street Students in purple hoodies gathered outside a university building A low-angle shot of a group of students laughing together Students sitting on the grass on a sunny day A group of students seen from below against a blue sky
Two students in a parliamentary-style debating chamber A student standing on a city street at dusk A student on a street of old town buildings A student speaking to a full lecture hall A student in a purple sweatshirt in a lecture theatre

Here is the final result, with all the graphical assets added.

Campaign story — a student in a suit and lanyard, 'Když chceš víc'
Campaign story — a student in a CEVRO hoodie, 'Když chceš víc'
Campaign story — a student at a desk, 'Přihlaste se'
Campaign square — the CEVRO logo on purple
Campaign ad for economics studies, 'Když chceš víc od studia ekonomie'
Campaign ad for law studies, 'Když chceš víc od studia práva'
Campaign ad with a student in profile, 'Když chceš víc'
Campaign ad for management studies, 'Když chceš víc od studia managementu'
Campaign ad aimed at working students, 'pracovat i studovat'
Campaign ad — 'Zajisti si jedno z posledních míst'
Campaign ad for political science, 'Když chceš víc od studia politologie'

06Sound · Illustration · App

Maybe

AI voice, sound and stickers for a social app

Tools

ElevenLabs — voices, sound, music Nano Banana — stickers

In the video above I would like to present my AI sound work (the visuals are still human made). I needed native English speakers, some sounds and also music. Hence I have created voices, sounds and music through ElevenLabs.

For this project I needed to make achievement stickers. Since you can collect achievements at different levels, they needed to stay the same but change slightly based on their rarity. Stickers were created through Nano Banana.

A fanned set of one sticker across its 10, 25, 50 and 100 tiers
A fanned set showing a sticker's bronze, silver and holographic tiers
A fanned set of a smiling-face sticker across four tiers
A fanned set of the Crew sticker across four tiers
A fanned set of a sculpture-head sticker across four tiers
Business sticker — a rocket on a laptop screen, tier 100 Friends sticker — a smiling blue character surrounded by faces, tier 100 Gaming sticker — a holographic game controller, tier 100 Globetrotter sticker — a globe on a cream shield, tier 100 Group sticker — a crowd of smiling faces, tier 50
Hosting sticker — a megaphone with fireworks, tier 100 Kids sticker — a pastel carousel horse, tier 100 Learning sticker — a lightbulb in a graduation cap, tier 100 Multiday sticker — a figure against a sunburst, tier 100 Music sticker — headphones and a disco ball, tier 100
Maybe-er sticker — a cat on a throne, tier 100 Nature sticker — a wolf howling at the moon by a campfire, tier 100 Nightlife sticker — a disco ball in sunglasses, tier 100 Vibe sticker — a dreaming face in a cosmic sky, tier 1000 Voyage sticker — a smiling globe in sunglasses, tier 100