Blog

Florian Schrödl

Product Engineer

Engineer and designer based in Vienna, Austria, working at the intersection of technology and creativity. I build tools, interfaces, and products with a focus on craft and detail.

Worked with

Xi

A coding agent harness you can shape.

  • ClojureScript
  • Bun
  • Event-Driven
  • Agents
  • MCP
  • TUI
  • Web

An open-source coding agent harness for the terminal and the browser. One server holds each session; the terminal, the browser and my phone are clients of the same live session, so a refactor started at my desk keeps streaming on the couch.

localhost:7474
A recorded session, replayed in Xi's real web client. Click Allow yourself, or let it run.
  • Clojure scripting, not shell pipelines — instead of a bash tool the agent gets a persistent Clojure REPL. Scripts filter and aggregate in the runtime; only the result enters the conversation.
  • Permission rules — what the agent may do on its own is a file of rules: allow, ask, deny or nudge, matched on the tool, path, command or repo.
  • Extensions as data — tools, slash commands, keybindings and web-client pages are a plain ClojureScript map, swapped in live while the server runs.
  • MCP on both sides — Xi serves its own tools to the model and pulls in tools from any MCP server you add.
  • Everything is an event — prompts, output, dialogs and renders pass through one queue of pure handlers; the event maps are the wire protocol.

Tokenscript

A DSL and interpreter for design tokens.

  • TypeScript
  • Language Design
  • Lexer
  • Parser
  • Interpreter
  • Design Tokens

Every design token carries a $value — a single string that might hold a color, a reference to another token, a piece of math, a template string, or a function call. Previous tooling picked these values apart with stacked regexes and ad-hoc string handling, which grew brittle the moment tokens started referencing and computing each other.

For the next generation of tokens at tokens.studio we needed something definite: a real language with a real grammar, so that a $value means exactly one thing and can be evaluated safely and predictably.

What Tokenscript is

Tokenscript is a small domain-specific language, and an interpreter for it, that turns design tokens into a computable medium. Instead of thousands of bespoke transform functions, it ships a focused subset of language features that stay fast, type-safe and sandboxed.

  • References — tokens resolve other tokens ({primary-color}), with the full dependency graph tracked and evaluated in order.
  • Unit-aware math — units travel through operations as metadata, so round(1.5px) is 2px and sum(1in, 72pt) converts and collapses to 2in.
  • Template strings — backtick syntax composes values from references and expressions, e.g. `${spacing.base * 2}px`.
  • Custom types & schemas — define your own types, units and functions, then bundle them as schemas that ship logic alongside token data.

Try it

A mini playground running the real interpreter in your browser — it loads lazily as you scroll here. Themes are just different stacks of token sets; edit the JSON and watch everything recompute.

Responsibilities

  • Designed and implemented the language from the ground up in TypeScript — lexer, parser and tree-walking interpreter.
  • Built the token resolver that walks the reference graph and evaluates each $value in dependency order.
  • Shaped the math and unit system so units are preserved and converted correctly across every operation.
  • Wrote a tolerant parser and structured error reporting so tooling can surface precise, recoverable feedback to authors.
  • Shipped the public interpreter package, docs, an interactive REPL playground and example apps.

Design Tokens at Penpot

Concept & Implementation for integrated design tokens on penpot.

  • Clojure
  • ClojureScript
  • Design Tokens
  • Frontend
  • Backend
  • Project Management

Design Tokens give teams a single source of truth for design decisions like colors, spacing and typography. My work brought the DTCG Spec to Penpot as an open-source design tool.

Responsibilities

For Penpot I delivered the integration for Design Tokens in the Penpot app.

  • Collaborated with the Penpot team and the people from Tokens.studio to bring the design token standard to Penpot.
  • Spec & documentation work to define the loosely defined format.
  • Implementation in Clojure/Script across frontend and backend.
  • Defined the design tokens data shape and delivered the UI implementation.
  • Communicated efforts across both teams.
My contributions on Github

Presentation features and front-end craft at a collaborative deck tool.

2022 - 2024

  • ClojureScript
  • Frontend
  • Presentations
  • Animations
  • Design System

Responsibilities

I worked on the team behind the presentation-consuming side of the product: the experience of delivering and watching presentations.

  • Built features across the presentation experience, including the animations feature that brought motion and transitions to slides.
  • Helped build interactive multiplayer Slide decks that are synced between clients.
  • Contributed to the analytics front-end — graphs, tables and data visualisations that surface how viewers engage with a deck.
  • Helped maintain and extend the internal component and design system that the app is built from.

Rebuilding the mind-map canvas editor in React.

2017 - 2022

  • Frontend
  • React
  • Javascript
  • Coaching

MindMeister is Meisterlabs' flagship collaborative mind-mapping app.
During my time there I played an integral role in the team modernizing their existing legacy application by rebuilding it in React.

Responsibilities

  • Engineered the high-performance canvas editor in React, able to render very large mind maps by virtualizing nodes geometrically, so only what's on screen is drawn.
  • Responsible for the performance of the canvas (> 10,000 nodes)
  • Built a robust drag-and-drop system and drawing interactions directly on the canvas.
  • Created a file explorer for navigating and organising mind maps.
  • Improved the team's productivity by building dev tools to debug & test the new mind-mapping canvas.
  • Coached engineers from junior to senior in the tech stack, and helped bootstrap the team's documentation and unit-testing culture.
UI & interaction details across MindMeister

Fihub — Financial Analytics Platform

A product redesign of Fihub, a financial CRM with UX improvements for editing, filtering and sidebar restructuring.

  • Prototype
  • UI/UX
  • Web App

Samsung — Employee Greeting Cards

A series of illustrated greeting cards for Samsung Austria employees.

  • Illustration
  • Print
  • Brand

Work Experience

  • 2024 - 2026
    HymaSenior Software Engineer
    Open Source · Startup · Design Tokens
  • 2022 - 2024
    PitchSenior Software Engineer
    Startup · App · Design Tool
  • 2017 - 2022
    MeisterlabsSenior Frontend Engineer
    Bootstrapped · App · Productivity
  • 2014 - 2017
    Cake Kommunikations GmbHScreen Designer & Engineer
  • 2012 - 2014
    Redact Media GmbHScreen Designer & Engineer
  • 2011 - 2012
    FlammenScreen Designer & Advertorial Designer
  • 2010 - 2011
    DraftFCBiScreen Designer & Advertorial Designer
  • 2009 - 2010
    Project IntegrationshausCommunity Service
  • 2008 - 2009
    DraftFCBiInternship Screen Designer
Download CV

Knowledge

  • Frontend
  • Backend
  • Typescript
  • Clojure/Script
  • Python
  • Ruby
  • Rust
  • CSS
  • NixOs
  • Kubernetes
  • UI/UX
  • Design

Languages

German & English (fluent)

Education

Autodidactic self-learner in all programming & design disciplines.

Interests

  • Cooking
  • Sports (Yoga, Badminton, Running)
  • Reading
  • Design