About

I studied robotics engineering before moving into software — the robotics background is why I default to thinking in systems and failure modes, on the backend or anywhere else. Outside of work I throw pottery by hand, piece by piece, from Örebro, Sweden. That habit is also the reason Clay Studio exists: I wanted to track my own pieces properly, so I built the tool to do it, and it grew into the app the projects and shop on this page run on.

Projects

Taza grande

Clay Studio

The tool behind the ceramics below

A multi-tenant full-stack app to track pottery pieces from clay to kiln — every stage, glaze, and kiln load. Built for myself first; the gallery and shop further down this page sync from it live.

    ReactFastAPIPostgreSQLDocker

Home Server

What everything else on this page runs on

A Linux box at home runs Clay Studio, this site, and the rest — as systemd services, behind a single Cloudflare Tunnel (no ports forwarded on my router), with DNS and mail routing on the same domain. Tailscale gives me private access to dev environments from anywhere.

    LinuxsystemdCloudflare TunnelTailscale
Pocket Diary app icon

Pocket Diary

One line a day, private by design

A mobile diary: write a sentence today, and it surfaces what you wrote on this same day in past years. Entries are encrypted on-device (AES-256 + HMAC) behind a PIN/Face ID lock — no server, no account, nothing ever leaves the phone.

    React NativeExpoSQLiteAES-256

Casa Gatomiautica

Home monitoring for one very spoiled cat

A USB webcam on a home server, streamed securely to my phone, plus the automation around it — my testbed for home-network security done properly instead of "just forward the port."

    Home serverNetworkingSecurity

Ceramics Social

Automated, and it costs me nothing to run

Automates my weekly pottery progress posts to Instagram: I sort photos and videos into folders, a local LLM (Ollama — no API bill) writes the caption, and it publishes itself via the Instagram Graph API.

    PythonLocal LLMInstagram API

Ceramics

The hobby that started Clay Studio. Everything on my shelf below, from freshly thrown to finished; the pieces for sale are further down — email me if something in the shop catches your eye.

On the shelf

Largest dish ever

Largest dish ever

Drying

Tell me when it's finished
Bowl grande

Bowl grande

Drying

Tell me when it's finished
Plato raro

Plato raro

Drying

Tell me when it's finished
Bowl enorme

Bowl enorme

Drying

Tell me when it's finished
Taza cafe 2

Taza cafe 2

Drying

Tell me when it's finished
Platito!

Platito!

Drying

Tell me when it's finished
Taza

Taza

Trimming

Tell me when it's finished
Super ultra mega big dish

Super ultra mega big dish

Trimming

Tell me when it's finished
Taza o bowl

Taza o bowl

Trimming

Tell me when it's finished
El huevo mas largo y fino 4

El huevo mas largo y fino 4

Trimming

Tell me when it's finished
Plato cerrado

Plato cerrado

Trimming

Tell me when it's finished
Dish

Dish

Trimming

Tell me when it's finished
Taza 1

Taza 1

Trimming

Tell me when it's finished
Otro! Tarro huevo 5

Otro! Tarro huevo 5

Trimming

Tell me when it's finished
Tarro enorme! 2

Tarro enorme! 2

Trimming

Tell me when it's finished
Plato espiral

Plato espiral

Trimming

Tell me when it's finished
Taza Erik 2

Taza Erik 2

Trimming

Tell me when it's finished
Taza

Taza

Trimming

Tell me when it's finished
Taza

Taza

Trimming

Tell me when it's finished
Tarro horrible

Tarro horrible

Bisque Firing

Tell me when it's finished
Expreso para Erik

Expreso para Erik

Bisque Firing

Tell me when it's finished
Taza grande

Taza grande

Glazing

Tell me when it's finished
El bicharraco

El bicharraco

Glazing

Tell me when it's finished
Plato grande

Plato grande

Glazing

Tell me when it's finished
Plato 3

Plato 3

Glazing

Tell me when it's finished
Plato! 2

Plato! 2

Glazing

Tell me when it's finished
Taza o bowl srodinger cosa

Taza o bowl srodinger cosa

Glazing

Tell me when it's finished
Taza muy grande

Taza muy grande

Glazing

Tell me when it's finished
Testeando con formas

Testeando con formas

Finished

Ask about this piece
Algo? Bowl?

Algo? Bowl?

Finished

Ask about this piece
Plato espiral no marcado

Plato espiral no marcado

Finished

In the shop ↓
Dog Slow eater blue

Dog Slow eater blue

Finished

In the shop ↓
Broken galaxy dish

Broken galaxy dish

Finished

Ask about this piece
Taza pequeña

Taza pequeña

Finished

Ask about this piece
Maceta con patitas

Maceta con patitas

Finished

Ask about this piece
New mug

New mug

Finished

Ask about this piece
Tarro! 1

Tarro! 1

Finished

Ask about this piece
Segundo para wl cafe

Segundo para wl cafe

Finished

In the shop ↓
Plato comedero!

Plato comedero!

Finished

In the shop ↓
Taza grande

Taza grande

Finished

In the shop ↓
Cool Mug

Cool Mug

Finished

In the shop ↓
Taza de cafe

Taza de cafe

Finished

Ask about this piece
Largest dish!

Largest dish!

Finished

In the shop ↓
Taza

Taza

Finished

Ask about this piece
Shape

Shape

Finished

Ask about this piece
Dog Slow Eater Red

Dog Slow Eater Red

Finished

In the shop ↓
Plato comedero 2!

Plato comedero 2!

Finished

In the shop ↓
Para el cafe!

Para el cafe!

Finished

In the shop ↓
Otro tarro mediano 3

Otro tarro mediano 3

Finished

Ask about this piece
Taza 3

Taza 3

Finished

Ask about this piece

Shop

Taza grande

Taza grande

From €19.28

Clay

Mixta

Weight

0.5 kg raw

Time to make

63 days

    Coral sandOpal lustreWintergreen

How it evolved

Taza grande — Drying
Drying
Taza grande — Trimming
Trimming
Taza grande — Bisque Firing
Bisque Firing
Taza grande — Glazing
Glazing
Taza grande — Glaze Firing
Glaze Firing
€
Cool Mug

Cool Mug

Time to make

63 days

    Green teaLavender mistPurple aster

How it evolved

Cool Mug — Trimming
Trimming
Cool Mug — Bisque Firing
Bisque Firing
Cool Mug — Glazing
Glazing
Cool Mug — Glaze Firing
Glaze Firing
€
Plato espiral no marcado

Plato espiral no marcado

Time to make

52 days

    Green teaLavender mistOpal lustre

How it evolved

Plato espiral no marcado — Drying
Drying
Plato espiral no marcado — Bisque Firing
Bisque Firing
Plato espiral no marcado — Glazing
Glazing
Plato espiral no marcado — Glaze Firing
Glaze Firing
€
Plato comedero!

Plato comedero!

From €23.05

Time to make

59 days

    ShipwreckWinter wood

How it evolved

Plato comedero! — Drying
Drying
Plato comedero! — Bisque Firing
Bisque Firing
Plato comedero! — Glazing
Glazing
Plato comedero! — Glaze Firing
Glaze Firing
€
Plato comedero 2!

Plato comedero 2!

From €23.05

Time to make

59 days

    Opal lustreWinter wood

How it evolved

Plato comedero 2! — Drying
Drying
Plato comedero 2! — Bisque Firing
Bisque Firing
Plato comedero 2! — Glazing
Glazing
Plato comedero 2! — Glaze Firing
Glaze Firing
€
Dog Slow eater blue

Dog Slow eater blue

Weight

0.75 kg raw

Time to make

45 days

    Green teaNimbus

How it evolved

Dog Slow eater blue — Drying
Drying
Dog Slow eater blue — Trimming
Trimming
Dog Slow eater blue — Glazing
Glazing
Dog Slow eater blue — Glaze Firing
Glaze Firing
€
Segundo para wl cafe

Segundo para wl cafe

From €23.05

Time to make

52 days

    ShipwreckWinter wood

How it evolved

Segundo para wl cafe — Drying
Drying
Segundo para wl cafe — Trimming
Trimming
Segundo para wl cafe — Glazing
Glazing
Segundo para wl cafe — Glaze Firing
Glaze Firing
€
Largest dish!

Largest dish!

From €37.03

Weight

0.75 kg raw

Time to make

42 days

    Green teaLavender mistPurple aster

How it evolved

Largest dish! — Drying
Drying
Largest dish! — Trimming
Trimming
Largest dish! — Glazing
Glazing
Largest dish! — Glaze Firing
Glaze Firing
€
Dog Slow Eater Red

Dog Slow Eater Red

From €37.03

Clay

mix

Weight

0.75 kg raw

Time to make

45 days

    Green teaOpal lustre

How it evolved

Dog Slow Eater Red — Drying
Drying
Dog Slow Eater Red — Trimming
Trimming
Dog Slow Eater Red — Glazing
Glazing
Dog Slow Eater Red — Glaze Firing
Glaze Firing
€
Para el cafe!

Para el cafe!

From €24.48

Weight

0.75 kg raw

Time to make

52 days

    Opal lustreWinter wood

How it evolved

Para el cafe! — Drying
Drying
Para el cafe! — Trimming
Trimming
Para el cafe! — Glazing
Glazing
Para el cafe! — Glaze Firing
Glaze Firing
€

Contact

Hiring, or just want to talk shop? Reach me at [email protected] or on LinkedIn.