Hey! I'm Aleksandr.

I'm a front-end developer with an eye for design. I love learning new things and writing about my discoveries. You can read my blog, learn more about me, or get in touch.

Recent Posts

  1. Keeping Focus in Place with Load-More Buttons

    Load-more buttons are more accessible than infinite scrolling, but they also steal keyboard focus when new content loads in. We can fix this by always focusing and blurring the last rendered result before loading in any new content.

  2. Configuring Web Fonts in 11ty with Global Data

    Rather than using static font-face declarations for web fonts, you can take advantage of global data in 11ty to create a single source of truth for fonts and reuse those values in your templates and CSS.

  3. Lazily Loading Images with the 11ty Image Plugin

    While imagery can enrich your content, it can also slow down your site if it's not used responsibly. Learn how to use the official 11ty image plugin to create optimized, responsive, and lazily loaded images.

  4. Add Comments to a Static Site with Netlify Functions and the GitHub API

    Comment systems are a pain to set up, but they don't have to be. With the GitHub Issues API and Netlify functions, you can create a custom comment system in just a few lines of server-side JavaScript.

  5. Managing Complex State in React with useReducer

    React's useState hook works well for managing simple state. But once your component starts to grow, useReducer may be a better fit for managing state.

  1. Represent State with HTML Attributes, Not Class Names

    Developers often use class names to represent a change in a component's state, but this leads to redundant (and sometimes inaccessible) markup. Instead, we should use native HTML attributes to represent state and style those discrete states with the CSS attribute selector.

  2. Respecting Font Size Preferences: Rems and 62.5% Base Font Size

    Setting your base font size to 62.5% allows you to think in pixels but use rems to respect users' font size preferences.

  3. How to Format Code on Save in VS Code with ESlint

    Never worry about manually formatting your code again. Improve your developer experience by setting up ESLint to format code on save in VS Code.

  4. CRLF vs. LF: Normalizing Line Endings in Git

    Line endings can differ from one OS to another. Learn the history behind CRLF and LF line endings and how to enforce line endings in git.

  5. Always Set a Width and Height on Your Images

    Dimensionless images can cause layout shifts as they load, hurting your page's performance. By setting a width and height on images, you allow the browser to initialize an aspect ratio for those images and minimize layout shifts.

  6. Why I Don't Like Tailwind CSS

    On paper, Tailwind CSS sounds like a great idea. In reality, it suffers from the same problems that it tries to solve.

  7. SVG Tutorial: How to Code SVG Icons by Hand

    Follow along with the examples in this in-depth guide to learn how to draw SVG icons and simple shapes by hand.

  8. Rest in Peace, Flash

    If it were up to me, things wouldn't end this way. We had some great times together, but now it's time to say goodbye.

  9. Creating Aspect Ratios in CSS

    Learn how to give any element an aspect ratio in CSS, using the modern aspect-ratio property or a trick with percentage padding.

  10. Hesitation Is Defeat

    After a one-year hiatius from Sekiro, I returned to face the final boss—and, through painful persistence, triumphed.

  11. Don't Mind the Leetcode Grind

    Leetcode is a polarizing topic when it comes to technical interviews. But what exactly is it? And does it deserve your attention?

  12. Goodbye, GitHub Pages—Hello, Netlify

    GitHub Pages is a good option for hosting simple static sites, but it doesn't scale well for more complex use cases. Netlify offers the best of both worlds: simple hosting and plenty of advanced features.

  13. Outer Wilds: Stop and Smell the Pine Trees

    On the surface, Outer Wilds is a space exploration game. But peel back the layers, and it's a captivating and philosophical story about life and our universe.