LukaszLuminski

Hello, I'm Lukasz

Frontend Developer

Specialising in Vue, Nuxt, and TypeScript, I build responsive, accessible interfaces with careful attention to usability and detail.

Download my resume
2020 working professionally in frontend development. Vue core framework and component expertise. Nuxt production-ready web experiences. Frontend Developer specialising in Vue and Nuxt, building responsive, accessible web interfaces with TypeScript and a careful eye for usability and detail. HTML5, CSS3, JavaScript, TypeScript, Vue 3, Nuxt 3, Pinia, Storybook, Vitest, Git

Portfolio

Selected work

A selection of client work, Vue and Nuxt builds, and earlier projects that show how my frontend skills have developed in practice.

Client work

Body & Soul Therapy website homepage

Body & Soul Therapy website

Website for a local clinic, built with Nuxt.js and BootstrapVue, using Netlify functions.

Nuxt.jsBootstrapVueNetlify Functions
Details Live
Euphoria Sports Therapy website homepage

Euphoria Sports Therapy

Early client website designed and built from scratch, then migrated to WordPress.

WordPressHTMLCSS
Details Live

Technical projects

Current portfolio homepage

My Portfolio

My current portfolio, built with Nuxt, TypeScript, a file-based content system, and an OpenAI-powered assistant.

Nuxt 4Vue 3TypeScriptTailwind CSSNuxt ContentVitestOpenAI API
Details Live Code
Fictional burger restaurant landing page

Burger Restaurant

Landing page for a fictional restaurant, developed mostly with Bootstrap and jQuery.

BootstrapjQuery
Details Live Code
Vue Currency Converter application interface

Vue Currency Converter

Vue.js currency converter built with Vuetify, Vuex, Vue Router, and REST API endpoints.

Vue.jsVuetifyVuexREST API
Details Live Code

Expertise

What I work with

My work centres on the Vue ecosystem, supported by strong web fundamentals, typed development, component documentation, state management, and focused testing.

Frontend foundations

HTML5 logo

HTML5

Semantic structure, accessible document flow, forms, media, and markup that gives Nuxt pages a reliable foundation.

Semantic layoutsAccessible formsSEO-ready structure
CSS3 logo

CSS3

Responsive layouts with grid and flexbox, polished interaction states, and design systems that stay consistent across screens.

Responsive UIGrid and flexboxMotion details
JavaScript logo

JavaScript

Modern browser behaviour, async flows, stateful interfaces, and careful DOM work beyond framework defaults.

ES modulesAsync flowsBrowser APIs
TypeScript logo

TypeScript

Typed models and contracts for safer components, composables, API responses, and content-driven portfolio data.

Typed contractsReusable composablesSafer refactors

Vue ecosystem

Vue.js logo

Vue.js

Composition API, component architecture, stateful UI patterns, and ergonomic interfaces built around real user tasks.

Composition APIComponent systemsInteraction design
Nuxt logo

Nuxt

Production Nuxt apps with routing, server endpoints, SEO metadata, content loading, and clean project structure.

SSR and routingServer API routesSEO metadata
Pinia logo

Pinia

Predictable, typed state management for Vue applications, with stores designed around clear responsibilities and maintainable data flows.

Typed storesShared stateComposable patterns

Component quality

Storybook logo

Storybook

Isolated component development and documentation that makes interface states easier to review, reuse, and maintain.

Component storiesUI documentationVisual states
Vitest logo

Vitest

Fast unit and component tests for composables, content models, and interface behaviour, helping prevent regressions during change.

Unit testsComponent testsRegression coverage

Delivery habits

Git logo

Git

Branching, review-friendly commits, and careful change management across production projects and portfolio iterations.

Version controlReviewable changesRelease hygiene

Background

My story

Before becoming a web developer, I was an English teacher in Poland. The common thread has always been the same: understanding people, explaining complex things clearly, and caring about the details that make work feel human.

Personal background

Lukasz Luminski portrait

I publish my work as Lukasz Luminski; in Polish, my name is written Łukasz Łumiński.

I have always been interested in IT and art, although for years I treated both as hobbies. Professionally, I started as an English teacher in Poland, then began looking for a more sustainable path where technical problem-solving and creativity could meet.

At first I studied laptop troubleshooting with the idea of moving into technical support. Later, after moving to the UK, I spent time learning small-network installation and maintenance. It helped me understand infrastructure, but it also made something obvious: I wanted a role where I could use more of my eye for detail and interface craft.

Coding quickly became that place. Since 2019 I have worked on projects alongside full-time work, then in June 2020 I started professionally as a Front End Web Developer. Vue became the framework I kept returning to because it lets me build expressive interfaces without losing clarity.

These days I focus on frontend development with Vue, Nuxt, and TypeScript, building maintainable interfaces with thoughtful component architecture, state management, and testing. Away from the keyboard, I am a husband and father, and I still make time for drawing, books, travelling, the gym, cycling, and swimming.

At a glance

Since 2020

Frontend experience

Vue and Nuxt

Core ecosystem

TypeScript and Pinia

Typed development

Storybook and Vitest

Component workflow

Contact

Let's talk

Tell me a little about the project or role, and I'll get back to you as soon as I can.

Send a message

Elsewhere

© 2026. All rights reserved. Made with by Lukasz Luminski