RSSAmplifier

Blog

Szymon Kaliski

I'm an independent consultant, designing and developing computational interfaces.

szymonkaliski.comRSS feed ↗100 posts

Latest posts

Q2 2026

Hi! A couple of side-project updates: keeping my archival tool alive , ssh-over-web-browser tailored to my needs , and a slightly better dictation CLI . Archivist Updates I continue to use, and get a lot of value out of, Archivist . Since the original post about the project, six years ago (sic!), the tool got extended with collecting screenshots, finding similar items across all sources, and…

Q1 2026

Hi! A pretty nerdy update this time around — I replaced my Raspberry Pi 4 with a Mini PC running NixOS , I started using MicroVMs for sandboxing on said Mini PC , I have some thoughts about feedback loops for LLMs , and a couple of side-project updates . If you missed the last issue , I'm an independent consultant now, currently exploring at Google Creative Lab . I currently have some capacity for…

Q4 2025

Hi, the biggest news of this quarter is that I'm an independent consultant now! I left Replit in October, after 2.5 years. While there, I oscillated between exploring and prototyping, and designing and developing production features. It definitely was a valuable experience to be a part of rapid two-orders-of-magnitude ARR growth. Some of my notable projects are documented on Replit's blog: 1 , 2 ,…

Q3 2025

Hi! Our daughter just turned one! The days really are long, and the years really are short. She seems to be learning something new every day now, from crawling to standing up, to making sounds, to waving at us — it's been amazing. MirrorState MirrorState is a React library and a Vite plugin which handles bi-directional state synchronization through JSON state files. This way the changes made…

MirrorState

MirrorState is a Vite plugin and a React library, which in tandem allow for bi-directional state synchronization through JSON files. Edits made through the React state update the file content, and edits to the file update the UI: MirrorState grew out of a few ad-hoc iterations spread across various side-projects. The main motivation comes from the approach of building prototypes with a single…

Q2 2025

Hi! In the last issue I mentioned I've been working on some more computer-y side-projects, and here's the first one: Vineyard — an exploration of prototype-based component re-use. This idea was brewing in the back of my mind for years now — at the moment it still feels undercooked, but I'm curious to get some feedback and hear your thoughts. Go check it out , there's a bit of a longer write-up and…

Vineyard

An exploration of a prototype-inspired component re-use. Motivation Creating reusable components for building applications is a standard industry practice. You don't re-implement a button for every screen of your application, you have a single button component, that's re-used across the code. Maybe all of your buttons are a specific shade of blue, and that's fine, until on one of the pages, you…

Q1 2025

Hi! I'm back to tinkering on some interface-y side-projects, but I need more time to make things legible, and time is hard to find right now. Surprisingly, I somehow did manage to motorize external blinds in my studio (well, one of them so far) using a car power window motor, a couple of relays, and a bit of 3D printing, enjoy! Motorizing External Blinds My basement studio has become a project in…

Workflows at Replit ↗

Workflows at Replit

Q4 2024

Hi! This issue covers the last ~six months to catch up for the (understandably) skipped Q3 . It was so great to take time off to fully focus on the family. I'm grateful that everyone is doing well, grateful for autumn that was warm enough for frequent walks, and grateful for not thinking about anything else for a while. While I was away, we launched two things at Replit that I've been heavily…

200× Faster, Persisted, Multiplayer-Native Shells at Replit ↗

200× Faster, Persisted, Multiplayer-Native Shells at Replit

Q3 2024

Everyone is healthy and happy, and a bit tired. I'm taking a break for a couple of months.

Replit Agent

Throughout most of 2024 I was a part of the team responsible for building the Early Access version of Replit Agent . Replit is an online software development platform, accessible through the browser, and backed by virtual machines running in the cloud. This cloud-nativeness provides unique advantages over browser-based IDEs which run the code in the browser itself. Almost coincidentally, these…

Building a Static Site Generator

I built my own static site generator to generate this page (and all the other pages on this website) in the first half of 2024. This is the fourth technology that I've used here, and I finally decided to take the whole thing into my own hands. The previous version of this site was made on top of Gatsby , and I don't really remember my reasoning for picking it, other than wanting to migrate off of…

Q2 2024

Hi! The only thing I can report on this quarter is that I went down one of the most common computer-person-with-a-website rabbit holes imaginable: I wrote my own static site generator. At least, I didn't do it to procrastinate actually writing something, but to keep this site in a healthy state. This website is now just plain HTML & CSS, just how Tim intended. It is generated from ~2000 lines of…

Advanced Port Configuration at Replit ↗

Advanced Port Configuration at Replit

Q1 2024

Hi! A lot has happened this quarter; actually, seems like a lot is happening every quarter. Maybe three months is just a long time? This time I write about moving my studio to the basement , our "smart" home setup , and give you a short experience report from setting up Nix on macOS . Moving To The Basement Ever since properly joining the workforce, I've been always working from home, which I…

Q4 2023

Hi, happy New Year! Tinyletter had an " incredible journey " moment recently, so if you're subscribed , you're receiving this through Buttondown — more expensive than the free Tinyletter was, which hopefully is a good thing for not having to migrate any time soon again. If you relied on the archive, you can always read the past editions on my website . I spent the last quarter working on improving…

New and Improved Console at Replit ↗

New and Improved Console at Replit

Liunon

Liunon was first documented in my Q4 2023 newsletter — an experiment in building a tool where seeing every step of the graphical thinking does not require additional effort, but is a part of how the tool works. Transcluded from Database-y Creative Coding Environment Outside of work, I've been noodling on a new creative coding environment, in which you generate images by querying the existing…

Building a DIY Pen Plotter

This article documents my learnings from designing and building a DIY Pen Plotter during the summer of 2023. My ultimate goal is to build my own CNC machine, and a pen-plotter seemed like a good stepping stone towards this project — this is an important context for how I designed this machine, as if I only wanted a pen-plotter, a lot of things could be simplified. My hope is that this collection…

DIY Pen Plotter

I've spent about three months lazily noodling on the first iteration of a DIY Pen Plotter. It actually plots: I collected some learnings and resources from the process here: Building a DIY Pen Plotter .

Q3 2023

Hi, hope you had a great summer! At Replit, we just released a Desktop App which I helped build. Go check it out and ping me with any issues or feature requests. I also have a couple of other things in the pipeline, if you want to have access to them early, turn on the "explorer" setting in your account. Other than that, I've spent this quarter lazily working on a DIY Pen Plotter , and treating it…

Q2 2023

Hi! Today marks my three-month anniversary at Replit ! Going from 10-ish person research lab to 100-ish person startup definitely is an adjustment. For one, it's impossible to know about everything that's going on. Two, small details matter in addition to the "big vision". With exploratory research, it's often a good idea to hand-wave at things that would be solvable with additional engineering…

Live Coding Livebook

Livebook is an interactive notebook for Elixir , enabling everything from exploratory coding, through visualizing data, to building production applications. It's also multiplayer, can be self-hosted, backed by actual files on your hard-drive (a superset of Markdown) — definitely worth checking out ! I collaborated with José on a set of research prototypes that show a direction towards expanding…

SDFSheets

SDFSheets is an experimental spreadsheet interface for working with Signed Distance Functions . It's a continuation of exploring my interests in SDFs ( SDF-UI , hiccup-sdf ), spreadsheet-like interfaces ( Protoboard ) and Computational DAGs . This project was a result of a nerd snipe from Avi Bryant who worked on a pretty similar exploration called Loglo . If you want to play around with…

Q1 2023

Hi! As you might remember from my last newsletter , I started looking for the next thing after Ink&Switch at the beginning of the year. I'm happy to report that I'm going to continue working on Future Of Coding efforts as a Design Engineer at Replit . I'm excited about the opportunity to work on these sorts of problems, and at the same time be so much closer to authentic users, the industry, and…

Untangle

Untangle is a Programmable Ink research project done at Ink&Switch , together with Marcel Goethals , and with engineering help from Mike Kluev. This project was an exploration of a visual language for describing, and solving, constraint satisfaction problems. As usual, there's a long essay documenting our goals, decisions, learnings and failures . Enjoy! Untangle was presented during my 2022…

Untangle ↗

Solving Problems with Fuzzy Constraints

Q4 2022

Hi, the last quarter flew by — I was mostly working on finishing documentations of various projects (which you'll see below), and recovering from a busy summer . I didn't have much time or brain-space for any serious side-projects. I noodled a bit more on the shape grammar stuff (putting a pin in it for now), and hacked together a MIDI CC looper for my Norns , so I can record and replay knob…

Reusable Code Components for Glide

Glide is a no-code platform which allows end-users to build custom applications from spreadsheets. The users start with providing their data, and then assemble the application from a set of available high-level components. The problem here is, that when the use-case doesn't neatly fit into one of the existing components, there's nothing that can be done — the system is closed, and can't be…

Reusable Code Components for Glide ↗

Reusable Code Components for Glide

Inkbase

Inkbase is another Programmable Ink research project done at Ink&Switch , together with James Lindenbaum and Joshua Horowitz during summer and autumn of 2020. With Inkbase we explored what would it mean to have a hand-drawn ink combined with spreadsheet-like reactivity, all in end-user programmable form. To learn more about the research, head over here for a long write-up covering everything from…

Inkbase ↗

Programmable Ink

Q3 2022

Hi, this is going to be a shorter update. As you might remember, I spent this quarter doing a research residency at Glide , where I prototyped a programming system for building custom components, focused on composability, re-use, and liveliness. We're working on a longer write-up, and I'll let you know when it's out. In the meantime, I recorded a short walkthrough to give you some sense of where…

Q2 2022

Hi, thanks everyone for great feedback and discussions on Inkbase and Crosscut — I really enjoy hearing your perspectives on this work, and it's also helpful since chatting with you all forces me to get better at articulating my intuitions. I spent the last three months at Ink&Switch working on applying the ideas of sketchiness and conversation with some form of other to a stylus-driven logic…

DIY Document Camera

As I was working on Programmable Ink projects at Ink&Switch, in hopes to record better-looking demos (which never really panned out), I cobbled together some OpenCV to detect four markers glued to a cutting board. You can read more about the project in the section below, which originally appeared in the Q2 2022 newsletter. Transcluded from DIY Document Camera As you probably know, most of the work…

Q1 2022

Hi, it's horrific to look at what's happening in Ukraine. It's horrific to imagine what war is like, and we are still in shock that it's happening right next to us, in our neighborhood. I've heard good things about Razom and that's where we've been donating, and I encourage everyone who can, to do the same. We're incredibly lucky to be able to move over to nerdy computer stuff in the next…

Crosscut

Crosscut is a research project developed at Ink&Switch in the Programmable Ink thread together with Marcel Goethals and Ivan Reese . It is a spiritual continuation of our work on End-User Programming (with an essay here ), and the Inkbase project. As a teaser, with Crosscut you can build-to-explore things ranging from custom step sequencers: To bookshelf-designing tools: To learn more, check out…

Crosscut ↗

Drawing Dynamic Models

Q4 2021

Hi everyone, happy New Year! This quarter our family grew with this little guy: His name is Pablo and he's a boxer. Juggling finishing renovation of our new place, and potty training a puppy was as hard as it sounds, but we're so happy to have him around. The rest of the newsletter is a quick update on what I've been up to work-wise, and short description of two side-projects — a MIDI→CV converter…

Cartographist

Cartographist is an experimental web browser optimized for rabbit-holing. Instead of opening new windows (with cmd -click), Cartographist spawns horizontally scrollable panes. Instead of forcing you to find things in a linear history, Cartographist shows a tree-structured outline of your browsing: Instead of always starting fresh, Cartographist can save, and load "trails" — the exact state of the…

Q3 2021

Hi everyone, what a quarter this was! The big "real-life" project which I mentioned briefly in the last newsletter kinda concluded. We're now, finally, living in our new apartment, after 18 months of renovation and construction work, and three years after buying it (in a pretty desolated state). There's still so much to do, but that's how renovations go. At least so I've been told. It was a long,…

Q2 2021

Hi everyone! Most of my time over the last three months went into Ink&Switch, where we were ramping up on a new project, culminating some of the research I've been involved in for the past year. We're also finishing (hopefully!) a big "real-life" project, so there wasn't that much time for side-explorations, but I managed to squeeze in two smaller things that might be interesting to some of you.…

Q1 2021

Hi everyone! I'm surprised by how much can happen in just three months; below is an update of what I've been up to, random thoughts, and things worth checking out. Work I finished my contract with MakeSpace in February, I can't wait for the project to become public so you can play with it — it's so much fun to meet in a space , bring notes and images with you, and see what others are looking at.…

Haze

Haze is a four track live granular looper for Norns , optimised for Midi Fighter Twister, but also usable without it. The SuperCollider engine is based on Mangl , which itself is based on angl and glut . Incoming audio is recorded into an 8 second loop (with configurable feedback), and granular engine samples from this loop. Each row represents a single track, and there are three banks of…

End of 2020

Hi everyone! End of 2020 seems as good time as any to refresh this newsletter, and start sharing more openly again. My plan for 2021 is to publish four of these, roughly one for every season. This newsletter is divided into two parts — what I've been up to, and what interesting things I came across this year. I'll try to keep everything brief. This year was tough and weird for everyone, to say the…

FabFungus

FabFungus is a physical installation inspired by questions of digital life and cellular growth . It was created together with Marek Straszak and Arek Zub , and exhibited for the first time at Posthuman_Data exhibition in Poznań in 2019. FabFungus is a computational tool for creating digital structures grown out with a simulated process. It is also a manifestation of couple of these forms, brought…

Liveboard

Liveboard is a library built on top of Protoboard , providing a set of high-level functions for live-coding music and visuals. Thanks to hot module reload the functions can be swapped immediately, without the need to refresh the whole page. Midi-based nodes can be mixed with visual ones, creating an interesting platform for audio-visual performances. Liveboard provides a couple of useful modules:…

Protoboard

This project was inspired by breadboards : they are used for both learning, and experimenting, allow for very fast iterations, and tap into our spatial reasoning. Protoboard is a frontend library built on thi.ng/hdom . There's a single exposed function called createBoard which fills the screen with a grid. Pieces of code can be attached to that grid by supplying a name, position, size, and a…