# Projects

A selection of things I've built

## Runterdrücker

A low-pressure iOS habit tool — no reminders, no streaks, no judgement. You add things you'd like to do regularly; the list quietly sorts itself by how "ready" each item is, and you press one when you have a moment. Built in SwiftUI with SwiftData and CloudKit sync.

Tech: Swift, SwiftUI, SwiftData, CloudKit

Links: [View on App Store](https://apps.apple.com/app/runterdr%C3%BCcker/id6762038770) · [Support](https://salient.at/runterdruecker/support)

## My First Survivor

A self-directed Godot project and love letter to Vampire Survivors — a rogue-lite, reverse bullet-hell with 2D single-player gameplay. The Geometry / Retro / Cyber aesthetic was chosen deliberately to keep asset scope manageable. The title is not accidental.

Tech: Godot Engine, GDScript

Links: [View Project](https://mfs.salient.at/)

## Out Of Space

A desktop app for visualising disk space usage. Scans directories and renders interactive, colour-coded treemaps so you can instantly see what's consuming space — drill into subdirectories, hover for details, navigate dense trees. Signed macOS builds available. Occasionally tested on Windows. See also: Out Of Space Swiftly.

Tech: Electron, Vue 3, TypeScript, D3, Vite, Node.js, Pinia, Vitest

Links: [Source](https://github.com/idlinglight/out-of-space)

## Out Of Space Swiftly

Another macOS desktop app for visualising disk space usage, TreeMap style. As contrast, with a minimal tech stack, macOS only. Designed to overcome shortcomings of Out Of Space. And to evaluate this different approach.

Tech: Swift, SwiftUI, Zero Dependency, Bash

Links: [Source](https://github.com/idlinglight/out-of-space-swiftly)

## mcprotocol2human-surface

A macOS app for looking at the surface of MCP servers: which tools a server exposes, and what each one says about itself, the way a client sees it — without asking an agent or installing an inspector. Its own small MCP client (stdio and HTTP, old and new protocol revisions), strictly read-only: it never calls a tool. Made for checking and designing tool descriptions. Zero dependencies.

Tech: Swift, SwiftUI, Zero Dependency, MCP

Links: [Source](https://github.com/idlinglight/mcprotocol2human-surface)

## Idli Intake Counter

Born in a heatwave, to keep track of water intake, a personal tool with me as target group. Single user, a Vue/Springboot setup, using PostgreSQL (cnpg), with a helm chart to get it running. This makes for interesting design choices to take, perhaps not terribly useful to many others. Feel free to check it out though.

Tech: Spring Boot, Spring Security, TypeScript, Vue 3, Helm, Kubernetes, PostgreSQL

Links: [Source](https://github.com/idlinglight/idli-intake-counter)

## LCG Shuffle Visualizer

An interactive exploration of LCG-seeded Fisher-Yates shuffles, built around tunable color scales, MSB/LSB controls, and step-size manipulation. The heatmaps and scatter plots surfaced strong positional biases and structural anomalies — in much of the parameter space, the combo is neither properly random nor a true shuffle.

Tech: Vue 3, TypeScript, Vite, D3

Links: [View Project](https://idlinglight.github.io/lcg-viz/) · [Source](https://github.com/idlinglight/lcg-viz)

## This Portfolio

A personal portfolio site built as a hands-on exploration of Claude Code and AI-assisted development workflows. The project itself is the thing being demonstrated. The very website you are currently visiting.

Tech: Vue 3, TypeScript, Vite, Pinia, Vue Router, vue-i18n, Claude Code

---

HTML version: https://salient.at/projects · Deutsch: https://salient.at/de/projects.md · All pages for agents: https://salient.at/llms.txt
