Software I work with

  1. Web foundations

    HTML

    The semantic markup language that structures web documents and applications.

    Build accessible, indexable, resilient content before adding behavior.

    Read article
  2. Web foundations

    CSS

    The styling language for layout, typography, adaptation, and visual states.

    Create responsive interfaces and visual systems without depending on JavaScript.

    Read article
  3. Interface

    Preact

    A compact React alternative for reactive interfaces.

    Add stateful components to applications that do not need a heavy runtime.

    Read article
  4. Web

    Astro

    A content-focused web framework with server rendering and minimal client JavaScript.

    Build fast sites, SSR pages, and interactive islands without shipping a full runtime by default.

    Read article
  5. Applications

    Flutter

    A cross-platform toolkit for building mobile and desktop applications from one codebase.

    Build cross-platform native interfaces with a consistent widget system.

    Read article
  6. Managed backend

    Supabase

    A PostgreSQL-based backend platform for application data and services.

    Quickly provide persistence and backend services for connected products.

    Read article
  7. Web

    Next.js

    A React framework for hybrid-rendered web applications.

    Combine server routes, React components, and optimized delivery.

    Read article
  8. Interface

    React

    A declarative library for component-based interfaces.

    Model complex state and share visual systems between runtimes.

    Read article
  9. Language

    TypeScript

    JavaScript with static types for safer contracts.

    Catch inconsistencies early and make layer boundaries explicit.

    Read article
  10. Language

    JavaScript

    The web’s native language and the foundation of the frontend ecosystem.

    Create progressive behavior that runs directly in the browser.

    Read article
  11. Runtime

    Node.js

    A JavaScript runtime for services, tooling, and server applications.

    Run APIs and TypeScript tooling in the same ecosystem as web applications.

    Read article
  12. Backend

    Go

    A simple, concurrent, and efficient compiled language.

    Build small, predictable operational services that are easy to deploy.

    Read article
  13. Backend

    NestJS

    A Node.js framework for modular, typed APIs.

    Organize controllers, validation, authentication, and use cases into maintainable services.

    Read article
  14. Identity

    Better Auth

    An authentication framework for TypeScript.

    Manage sessions, cookies, and trusted origins with shared contracts.

    Read article
  15. Data

    PostgreSQL

    A robust, extensible relational database.

    Persist transactional data with integrity, indexes, and atomic operations.

    Read article
  16. Data

    Prisma

    A typed ORM for relational databases.

    Model persistence, migrations, and queries with generated types.

    Read article
  17. Local data

    SQLite / SQLCipher

    An embedded database; SQLCipher adds transparent encryption.

    Provide transactional local persistence without depending on a server.

    Read article
  18. Native

    Tauri

    A toolkit for desktop and mobile apps with a web frontend and Rust core.

    Share a web interface without giving up controlled native storage and capabilities.

    Read article
  19. Data and CMS

    Directus

    A data platform on top of SQL with APIs, permissions, and an admin panel.

    Expose operational data with role controls without building a back office from scratch.

    Read article
  20. Language

    Rust

    A systems language with memory safety and no garbage collector.

    Build safe and efficient native boundaries.

    Read article
  21. Infrastructure

    Docker

    Reproducible containers for services and dependencies.

    Package, connect, and deploy complete stacks consistently.

    Read article
  22. Deployment

    Dokploy

    A self-hosted platform for deploying and managing applications and services.

    Centralize deployments, configuration, and Docker stack operations from one controlled surface.

    Read article
  23. Systems

    Linux

    An open operating system for servers and workstations.

    Operate services with control, automation, and observability.

    Read article
  24. Infrastructure

    Cloudflare

    Edge network, DNS, and tunnels for web services.

    Publish services, protect origins, and connect distributed infrastructure.

    Read article
  25. Automation

    Bash

    The common shell and scripting language on Unix systems.

    Automate installation, diagnostics, and repeatable operational tasks.

    Read article
  26. Interface

    Tailwind CSS

    A utility-first CSS framework.

    Build consistent visual systems close to the markup.

    Read article
  27. Quality

    Vitest

    A test runner integrated with Vite and TypeScript.

    Verify units and contracts with fast project-native configuration.

    Read article
  28. Tooling

    Vite

    A fast web development server and bundler.

    Deliver short development cycles and optimized builds.

    Read article
  29. Quality

    Playwright

    Browser automation for end-to-end and visual testing.

    Check interaction, accessibility, and regressions in a real browser.

    Read article
  30. Motion

    GSAP

    An animation engine for precise web sequences.

    Orchestrate motion with control over timing, easing, and state.

    Read article
  31. Version control

    Git

    A distributed system for recording changes and coordinating software development.

    Maintain a verifiable history, isolate work, and review changes before integration.

    Read article
  32. Tooling

    pnpm

    An efficient package manager with strong workspace support.

    Manage monorepos with reproducible installs and little duplicated storage.

    Read article