Software I work with
- Read article
Web foundations
HTML
The semantic markup language that structures web documents and applications.
Build accessible, indexable, resilient content before adding behavior.
- Read article
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
Interface
Preact
A compact React alternative for reactive interfaces.
Add stateful components to applications that do not need a heavy runtime.
- Read article
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
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
Managed backend
Supabase
A PostgreSQL-based backend platform for application data and services.
Quickly provide persistence and backend services for connected products.
- Read article
Web
Next.js
A React framework for hybrid-rendered web applications.
Combine server routes, React components, and optimized delivery.
- Read article
Interface
React
A declarative library for component-based interfaces.
Model complex state and share visual systems between runtimes.
- Read article
Language
TypeScript
JavaScript with static types for safer contracts.
Catch inconsistencies early and make layer boundaries explicit.
- Read article
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
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
Backend
Go
A simple, concurrent, and efficient compiled language.
Build small, predictable operational services that are easy to deploy.
- Read article
Backend
NestJS
A Node.js framework for modular, typed APIs.
Organize controllers, validation, authentication, and use cases into maintainable services.
- Read article
Identity
Better Auth
An authentication framework for TypeScript.
Manage sessions, cookies, and trusted origins with shared contracts.
- Read article
Data
PostgreSQL
A robust, extensible relational database.
Persist transactional data with integrity, indexes, and atomic operations.
- Read article
Data
Prisma
A typed ORM for relational databases.
Model persistence, migrations, and queries with generated types.
- Read article
Local data
SQLite / SQLCipher
An embedded database; SQLCipher adds transparent encryption.
Provide transactional local persistence without depending on a server.
- Read article
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
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
Language
Rust
A systems language with memory safety and no garbage collector.
Build safe and efficient native boundaries.
- Read article
Infrastructure
Docker
Reproducible containers for services and dependencies.
Package, connect, and deploy complete stacks consistently.
- Read article
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
Systems
Linux
An open operating system for servers and workstations.
Operate services with control, automation, and observability.
- Read article
Infrastructure
Cloudflare
Edge network, DNS, and tunnels for web services.
Publish services, protect origins, and connect distributed infrastructure.
- Read article
Automation
Bash
The common shell and scripting language on Unix systems.
Automate installation, diagnostics, and repeatable operational tasks.
- Read article
Interface
Tailwind CSS
A utility-first CSS framework.
Build consistent visual systems close to the markup.
- Read article
Quality
Vitest
A test runner integrated with Vite and TypeScript.
Verify units and contracts with fast project-native configuration.
- Read article
Tooling
Vite
A fast web development server and bundler.
Deliver short development cycles and optimized builds.
- Read article
Quality
Playwright
Browser automation for end-to-end and visual testing.
Check interaction, accessibility, and regressions in a real browser.
- Read article
Motion
GSAP
An animation engine for precise web sequences.
Orchestrate motion with control over timing, easing, and state.
- Read article
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
Tooling
pnpm
An efficient package manager with strong workspace support.
Manage monorepos with reproducible installs and little duplicated storage.