skills.ts

skills.ts

Tools and technologies across work, side projects, and general curiosity.

// languages
  • Kotlin Primary — everything Android and server-side
  • Java Years of Android before Kotlin arrived
  • TypeScript All my web work. Refuse to go back to plain JS
  • JavaScript When TypeScript isn't available or overkill
  • Rust Learning — love the ownership model and the compiler
  • SQL PostgreSQL and SQLite, queries to migrations
  • HTML / CSS Grid, custom properties, the real web platform
  • Bash Glue for CI pipelines and server automation

Mobile

Where I spend most of my time. Android is my home ground.

  • Kotlin Primary language — everything I build on Android is Kotlin-first.
  • Jetpack Compose Declarative UI on Android. Shipped multiple production screens with it.
  • Android SDK Navigation, lifecycle, permissions, background work — the full picture.
  • Coroutines & Flow Structured concurrency that actually makes sense. Flow for reactive streams.
  • Room SQLite ORM. Pair it with Flow for reactive local-first data.
  • Retrofit Type-safe HTTP client. Clean interface definitions, easy to mock.
  • Hilt DI without the boilerplate. Replaced manual injection in most projects.

Backend

APIs, databases, real-time — the layer that makes the frontend look easy.

  • Ktor Lightweight Kotlin server framework. Coroutine-native, fast to prototype in.
  • Java Years of Android before Kotlin took over. Still reach for it occasionally.
  • Spring Boot Enterprise Kotlin/Java backend. Used it for larger team projects.
  • Node.js Quick REST APIs and build tooling. Good for scripting too.
  • PostgreSQL Go-to relational DB. Reliable, feature-rich, great tooling around it.
  • SQLite Embedded DB — both mobile-side and small server apps.
  • REST APIs Designed and consumed dozens. Resource modelling, versioning, auth.
  • WebSockets Real-time features — chat, live sync, collaborative editing.
  • GraphQL Experimenting with typed queries and schema-first design.

Frontend

I do frontend when the UI needs someone who actually cares about the interaction.

  • SvelteKit Current favourite. SSR, file routing, reactivity without the boilerplate.
  • TypeScript Cannot go back to untyped JS. Types are documentation that runs.
  • Vite Build tooling — powers most of my web projects. Fast, simple config.
  • React Know it well, built things with it. Prefer Svelte for new projects.
  • Tailwind CSS Utility-first CSS. Great for rapid prototyping, decent for production.
  • HTML / CSS The foundation. Grid, custom properties, animations — the real ones.

Systems & Languages

Things I use to build better tools, or just because I find them interesting.

  • Rust Learning for systems programming and potential WASM targets. Love the borrow checker.
  • Git Obviously. Interactive rebase, bisect, worktrees — the works.
  • Docker Containerising services for local dev and deployment. Compose for multi-service setups.
  • GitHub Actions CI/CD pipelines. Test, build, deploy — automated end-to-end.
  • Linux Daily driver for servers. Comfortable on the command line.
  • Nginx Reverse proxy, static file serving, SSL termination.