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.