Images,
and the systems
that make them.
Creative technologist, bridging creative and engineering. I design, build and consult on AI workflows and systems for studios, agencies, production companies and image‑led brands.











Digital Identity
Digital Identity is a solution for keeping an AI character the same in every image generated. It was built in early 2025 for generating an AI fashion muse and influencer. It has two sides: how she looks, held in a trained image model, and who she is, expressed as rules within a system prompt.
An image model has no memory of a face: each picture starts again from random noise and a text description, and words alone cannot hold one face steady. So how she looks is held in a LoRA (low-rank adaptation), a small set of extra weights trained on pictures of one subject. It changes what an existing image model draws without retraining the model itself. Trained on pictures of her, it teaches the Flux.1 Dev image model her face and body. It is loaded with the model whenever an image is made, at a chosen strength, and a made-up code word in the prompt calls her up. Workflows in ComfyUI, a tool where image pipelines are built by wiring nodes together, made her training pictures and finished images.
Who she is is designed across two ChatGPT plugins, as instructions and reference files. Her identity is specified down to the freckle map and the green-gold flecks in her eyes. Separate files hold everything that may change (light, camera, pose, wardrobe, places and tone), each as a fixed vocabulary, and a strategy file sets out her audience, her references and her cultural position. Rules decide how they combine, so every picture is built the same way. The prompt writer turns all of this into image prompts; the diary planner finds the London events she would attend. The same method, written rules applied in a fixed order, later became Banana Stack and Whistle.
Made from one face
An invented person has no photographs, so her training pictures had to be made first. The first was a master portrait of the new face, made in ComfyUI with a custom workflow that used Flux.1 Redux and Flux.1 Dev. The variations that followed added Flux Kontext, Midjourney, Gemini and Higgsfield, whichever got each picture right. Each changes one factor, such as head angle, expression, light or setting, and keeps the face. Each is captioned in words that open with the code word, and the LoRA was trained on them with Kohya SS on rented GPUs on RunPod.

HKYDKSI, a woman, in a close-up portrait facing the camera with a neutral expression. She wears an ivory satin shirt with an open collar. Soft window light falls from one side, casting faint shadows on the plain pale wall behind her.
The strength test
A trained LoRA is tested with one prompt and one seed, changing only its strength, from 0 to 1.5. At 0 the image model draws its own young woman with a braid. As the strength rises, the trained face, the freckles and the cornrows take over.

The training, on film
Building AI Humans follows the training: the dataset, prompt tests, model training and high-resolution inference.
The prompt writer
The first plugin writes each prompt as one paragraph from seven parts. Each part draws on its own reference file, so the same vocabulary is used every time. The fixed traits and the code word open every prompt, worked into sentences rather than listed. Light, camera and tone, once chosen for a post, stay locked across all its images. Brand, designer and venue names never enter a prompt: they are turned into physical descriptions, so Somerset House becomes “a vast Georgian courtyard enclosed by pale stone façades”.
Full-length editorial photograph at eye level of HKYDKSI, a Scandinavian woman in her early 20s with light beige skin and visible freckles across her face, nose and shoulders. Her face is oval, with soft cheekbones and a gently tapered jawline; almond-shaped hazel eyes under full, ungroomed brows; full lips with a defined Cupid’s bow. Her natural blonde hair is braided into neat, graphic cornrows that lead into two thick forward-facing braids. She stands against white gallery walls, faintly scuffed, with exhibition text beside her and visitors moving quietly between the works behind. Soft north-facing daylight falls from a high window, flat and cool, with gentle shadows. One hand rests lightly at her hip as she turns her gaze toward the wall text, posture calm. She wears a white broderie anglaise cotton shirt with scalloped cuffs and neckline, exaggerated shoulders and gathered sleeves, with butter-yellow high-waisted corduroy trousers tapered at the ankle, black leather fisherman sandals with thick soles, and an oversized vintage black woven-leather shoulder bag. Shot on a Leica SL2-S with a 35mm lens at f/2, natural colour, fine grain. Quiet, observational mood.
Freya’s Rules (Do Not Break) - Emotionally grounded → never performative; avoid cliché styling or exaggerated posing. - Intelligent styling → wardrobe, props, and framing must always feel intentional. - Editorial realism → prompts must feel shootable, grounded, and plausible in Freya’s world. - No churn → don’t overgenerate; every frame must earn its place. - Environments must be clear and intentional, never cluttered. - Avoid: cliché Instagram phrasing, generic fashion tropes, unjustified fantasy/surrealism, overcrowded backdrops, dream-logic abstraction (unless user specifies). - Default to: realism over fantasy, styling logic over spectacle, thoughtfulness over trendiness, rhythm over overload.

The diary planner
The second plugin searches London’s cultural, fashion, design, music and dining events for the next eight weeks. It keeps only those she would plausibly attend, checked against her identity and tone, and returns each as a card: the date, venue and source, why it fits her, and a cue for wardrobe, tone and the kind of post. [pl. ii] is a post set at Notting Hill Carnival: three frames, with the light and the camera held across them.
{
"title": "Notting Hill Carnival",
"category": "music",
"date_start": "2025-08-24",
"date_end": "2025-08-25",
"venue": "Carnival route, Notting Hill",
"area": "Notting Hill / Ladbroke Grove",
"link": "https://nhcarnival.org/",
"why_freya": "Culturally iconic street carnival: steel bands and sound systems against stucco terraces, bunting and crowds; strong spatial cues for a culturally engaged presence.",
"wardrobe_cue": "Cream lace silk top; layered black sport shorts; striped socks and clogs.",
"tone_cue": "culturally engaged",
"format_suggestion": "Location Drift",
"source_citation": "https://nhcarnival.org/"
}

One change at a time
Each frame is Flux.1 Dev with the LoRA, prompted for the clothing. The light, the camera and the framing are held, so only the outfit changes between them.

Runway looks
Looks were taken from runway photographs and put onto her, garment for garment. In [pl. iv] she turns through eight angles in a look from Conner Ives, spring 2026; [pl. v] holds looks from Erdem, Nanushka and Simone Rocha.


