Demetris Kikizas

I make websites and libraries

Résumé

I am a web developer based in Athens, Greece. Web development brings together three things I love: technology, publishing and the web. I focus on making websites that are fast and easy to use for all visitors.

Personal information

Name
Demetris Kikizas
Email
d@kikizas.com
Phone
+30 694 402 6728

Education

1993 to 1994
University of Cambridge, Cambridge, UK. MPhil in Moral and Political Philosophy.
1987 to 1991
Panteion University, Athens, Greece. Degree in Sociology.

Recent projects

Omni Carousel

Carousel library that aims for performance and simplicity by delegating as much as possible to modern platform APIs. Omni Carousel adds features and affordances to carousels and scrollers whose layout and scrolling behavior are set up in pure CSS.

nobot

An experiment to find out how much of lying bots you can detect and block without annoying your visitors with front-end challenges and without adding an extra application to your stack.

Benchmarks of lossless image compression

Two sets of benchmarks to help understand what are the best options now and in the near future for lossless compression of graphics images:

The comparison of the PNG tools is linked from the homepage of oxipng, the best PNG optimizer these days.

Front-end performance

Front-end performance is one of the parts of web development I enjoy the most. One reason I like exploring modern features of the web platform is the much improved front-end performance they make possible.

CLS and LCP on tanstack.com

A set of minimal changes that eliminated CLS on tanstack.com (the home of the TanStack family of open-source libraries), and brought LCP from 3.7s to about 1.1s on the homepage, and from 4.1s to about 0.5s on the Router page.

Carousel with 16,384 slides that sets up in 1 second

Omni Carousel delegates as much work as possible to platform APIs: IntersectionObserver for visibility, ResizeObserver for size changes, the CSS engine for all scrolling and snapping.

This, along with a few optimizations, makes it possible to have a carousel with 16,384 slides—including 16,384 autogenerated indicator buttons with full accessibility markup—that sets up in about 1 second and scrolls as smoothly as a carousel with 10 slides:

Lean HTML markup with modern CSS

In Lean HTML markup with modern CSS I explain a simple technique (two CSS variables and two declarations) that eliminates the need for non-semantic wrapper elements. No wrappers means, of course, fewer elements, smaller DOM, fewer bytes over the network, and, as important as anything, code that is easier to maintain.

More skills

WordPress

My WordPress skills include:

WordPress plugins

WordPress contributions and related work

WordPress and WooCommerce websites (recent)

WordPress and Timber

I have built a handful of sites using Timber. Timber is not for all WordPress projects, but I find it a pleasure to work with when it fits the task.

HTML, CSS and Sass

I use semantic HTML and standards-compliant CSS since 2002, and I always aim to use the latest HTML and CSS features supported by targeted browsers.

Most of the CSS I have written since 2012 is in Sass (SCSS).

JavaScript and TypeScript

I started using TypeScript in 2016. I like it because it helps me understand JavaScript better. Most JavaScript I write these days is in TypeScript. My Omni Carousel is written in TypeScript and is fully typed.

PHP

I follow the developments in PHP and I strive to follow modern practices and to take advantage of modern features available in the PHP ecosystem and in the latest versions of the language.

Astro

Astro has been my static-site generator of choice since 2023. It offers the best developer experience out of all the SSGs I’ve used. A small site I built recently with Astro is the docs and demos of Omni Carousel.

React & Next.js

I have built a few simple WordPress front-ends using Next.js. I also use React for custom Gutenberg blocks in WordPress.

Git

I have used Git since 2009. I also have experience with Subversion and Mercurial.

Gulp, webpack, Vite

Vite is my current bundler and dev server of choice. I also have experience with webpack and Gulp.

Linux administration

I have used Debian and Ubuntu since 2003 both on the command line and through a graphical interface. I also maintain a couple of Debian servers at Linode for hosting, testing and web development.

Work experience

Dec 2022 to now
myLAB Box. Front-end developer. See above, More skills.
Sep 2022 to Oct 2023
Pastilla. Front-end and WooCommerce developer, front-end performance consultant, SEO. See above, More skills.
Sep 2021 to Nov 2022
XWP. Front-end and WooCommerce developer. See above, More skills.
May 2021 to Nov 2022
Xfive. Front-end and WordPress developer. See above, More skills.
2009 to 2020
Freelancer. WordPress consultant and developer. See above, More skills.
2000 to 2002
Sotiropoulos Brothers, commercial real estate agency, Athens, Greece. Apprentice mediator and PA to the chief mediator.
1995 to 2015
Freelancer. Translator (mostly English to Greek) and copy editor for several publishers in Greece. Specialized in novels and in technical documents. Authors I have translated include Ursula K. Le Guin, François Châtelet, D. H. Lawrence, Charlotte Brontë and Jane Austen.
1994 to 1995
Greek Army. Mandatory military service.

Other skills & interests

Languages

Personal computers

I have used personal computers since 1984. My current work setup is a desktop computer with Windows 10 and WSL and a laptop with Debian.

Music

I studied piano with Eleni Hallecker and Efi Agrafioti in Athens, Greece, for eight years (1996–2004).

DIY

I enjoy assembling, disassembling and repairing stuff. I like to know how the things I use work.

Sport

I play and watch football and I used to play basketball and tennis.