Visual designer living on the sunny side of the planet — building the tools I want to design with.
tsevis.com
I am a visual designer, and almost everything in this account is a tool I needed and could not buy. Photographs into instrument imagery, maps into editable vector artwork, a crowded sheet of icons into a named and separated library, colour theory into something you can actually move a slider on.
They are mostly Python desktop applications: local-first, offline by default, no cloud endpoints, and built for a real production workflow rather than a demo. Several are named after the Greeks who got there first — Hipparchus, Heron, Diophantus — which is not a theme so much as a habit.
Hipparchus — Santorini, fetched live from OpenStreetMap through Overpass and rendered straight out to layered, editable SVG.
My interest in computer vision is a designer's interest: I want a machine to understand a picture well enough that I can restructure it. Not to classify it, not to caption it — to take it apart along the seams that actually matter and hand me the pieces.
That splits into two halves I keep using together.
Learned vision, run locally. Open-vocabulary detection and segmentation
(GroundingDINO, SAM 2.1, VitMatte) do the semantic layering in
Skiagrafia; a local vision-language model
(Qwen2.5-VL / Qwen3-VL, through either Ollama or llama.cpp) gives
Shapearator its semantic naming, so an
extracted icon lands as heart.png rather than icon_003.png; monocular depth,
subject matting, and SAM 3 region materials give Heron
the scene understanding its physics needs. The constant is that inference is
local and deterministic — model loaders are pinned to local_files_only, and an
engine that reaches for the network mid-render is neither offline nor reproducible.
Classical, geometric computer vision, which is still where most of the work happens: centroidal Voronoi cells, Delaunay meshes, hex grids and circle packing as derived map geometry in Hipparchus; shape detection, cropping and canvas normalization in Shapearator; and in Diastasis the overlap graphs and colouring search that separate tangled vector artwork into production plates — and can prove the layer count is minimal.
And underneath both, colour as a measurable thing: perceptual spaces (Oklab, CIELAB) for ramps that climb monotonically, and Metelli's equations for perceptual transparency in Garau Armonie.
The through-line is simple enough: I want tools that find the structure in a picture, not tools that summarize it.
Desktop vector cartography. Live OpenStreetMap through Overpass, local .osm.pbf,
vector tiles, Natural Earth, Overture, terrain DEM and VIIRS night lights — out to
layered, editable SVG that opens clean in Illustrator. A shelf of cartographic
presets, plus derived Voronoi, Delaunay, hex-grid and circle-packing geometry.
|
Photographs re-synthesized as if captured by an instrument that sees past human
vision — thermograph, fluoroscope, intensifier tube, NIR, Kirlian plate, schlieren
bench, lumen chamber, spectroscope. Eight physically distinct engines on one
pipeline. A physics simulation, not a gradient map. Artistic simulation — never
a measurement or a diagnostic.
|
A studio to teach Augusto Garau's colour theory and simulate his perceptual
Colour Transparency, in memory of an unforgettable professor. One
framework-agnostic TypeScript engine drives both a web studio and a Photoshop
plugin, so a colour reads identically wherever you meet it.
Live demo → |
Semantic vectorizing and masking. Local ML segments an image into objects
and their parts, then writes both vector (SVG) and bitmap (TIFF/PNG)
layers. 100% local inference, with a first-run wizard that fetches the weights
so a fresh clone simply works.
|
One crowded sheet of shapes in, a tidy library out — each icon detected,
cropped, normalized onto a shared canvas, and exported to PNG/JPG/TIFF/SVG with
per-icon metadata. Ollama and llama.cpp are interchangeable first-class backends
behind a single vision-client contract.
|
An encryption and compression companion, named for Diophantus of Alexandria.
The one thing here that has nothing to do with pictures.
|
| Diastasis | Separates complex SVG artwork into production-ready layers — overlap-aware, area-exclusive, or one plate per ink colour for screen-print, vinyl and risograph. The minimum_layers search will tell you when a layer count is provably minimal. |
| MacWhisperer | A macOS GUI for OpenAI Whisper: local transcription and English translation, live recording, device controls, file workflows. |
| IllusionFun | Generates Kitaoka-style diagonal-bevel optical illusion patterns as SVG. |
| crawl4ai-ui | A Streamlit front end for Crawl4AI — pages to clean Markdown, with link/image preview, screenshots and export. |
| gh2ghx | A small Grasshopper file converter. |
Python · NumPy · SciPy · OpenCV · shapely · scikit-learn · PyTorch · Tkinter · skia-python · FastAPI · Streamlit
TypeScript · React · Vite · Adobe UXP
Local inference · Ollama · llama.cpp · SAM · GroundingDINO · Whisper
Output that matters · SVG · GeoTIFF · PMTiles · TIFF






