Matyas.
ServicesProjectsExperienceBlogContact
CSGet in touch
Glossary

Dictionary

Key terms and concepts in web development, AI, and software engineering explained in plain language.

ABCDEFGHIJKLMNOPQRSTUVWXYZ

AI Agent

An AI agent is an autonomous system that uses an LLM as its reasoning engine to plan, make decisions, and execute multi-step tasks by invoking tools and APIs. Unlike simple chatbots, agents can browse the web, write and run code, manage files, and chain actions together to accomplish complex goals. Frameworks like LangChain, CrewAI, and Anthropic's Agent SDK enable developers to build agentic applications.

aiai-agents

ARIA

ARIA (Accessible Rich Internet Applications) is a set of HTML attributes that provide additional semantics to assistive technologies like screen readers. Attributes such as `aria-label`, `aria-hidden`, and `role` help describe dynamic content, custom widgets, and interactive elements that native HTML alone cannot fully express. The first rule of ARIA is to not use it when a native HTML element with the same semantics already exists.

web-devux

Accessibility

Accessibility (often abbreviated a11y) is the practice of designing and building websites and apps so they can be used by everyone, including people with visual, motor, auditory, or cognitive disabilities. This involves proper semantic markup, keyboard navigation support, sufficient color contrast, and screen reader compatibility. Beyond being an ethical responsibility, accessibility is increasingly a legal requirement in many jurisdictions.

web-devux

Atomic Design

Atomic Design is a methodology by Brad Frost for creating design systems by breaking interfaces into five hierarchical levels: atoms (basic HTML elements), molecules (simple component groups), organisms (complex UI sections), templates (page-level layouts), and pages (specific instances with real content). This approach provides a consistent mental model for organizing component libraries in React, React Native, or Flutter projects and ensures systematic scalability of the UI.

web-devux

BEM

BEM (Block Element Modifier) is a CSS naming convention that structures class names as `.block__element--modifier` to create clear, predictable relationships between HTML and CSS. For example, `.card__title--highlighted` identifies a highlighted title element within a card block. While modern tooling like CSS Modules and utility frameworks have reduced BEM's necessity, it remains widely used in large codebases and design systems where explicit naming conventions aid team coordination.

web-dev

CSS Animation

CSS Animation uses `@keyframes` rules and the `animation` property to create complex, multi-step animations entirely in CSS without JavaScript. Combined with CSS transitions for simple state changes, these tools handle most UI animation needs performantly since browsers can optimize them on the GPU compositor thread. Properties like `transform` and `opacity` are particularly efficient to animate because they don't trigger layout recalculations or repaints.

web-devux

CSS Custom Properties

CSS Custom Properties (also called CSS Variables) let you define reusable values with `--my-variable` syntax and reference them anywhere using `var(--my-variable)`. Unlike preprocessor variables in Sass or Less, they are live in the browser, cascade through the DOM, and can be updated dynamically with JavaScript. They're essential for theming systems, dark mode implementations, and maintaining consistent design tokens across large stylesheets.

web-dev

CSS Grid

CSS Grid is a two-dimensional layout system that lets you define rows and columns simultaneously, making it ideal for complex page layouts. Unlike Flexbox which works in one axis at a time, Grid allows you to place items precisely in both horizontal and vertical directions using named areas or line numbers. Features like `grid-template-areas`, `auto-fill`, and `minmax()` make it possible to create responsive layouts with minimal code.

web-dev

CSS Modules

CSS Modules are CSS files where all class names are locally scoped by default, meaning they're automatically transformed into unique identifiers at build time to prevent naming collisions. You import them into your JavaScript as an object and reference classes like `styles.button` instead of plain strings. This approach is natively supported by bundlers like Webpack, Vite, and Next.js, offering style isolation without the runtime overhead of CSS-in-JS.

web-devreact

CSS-in-JS

CSS-in-JS is an approach where styles are written directly in JavaScript files, often co-located with the components they style. Libraries like Styled Components, Emotion, and Stitches generate unique class names at build time or runtime, eliminating style conflicts. While it enables dynamic styling based on props and full encapsulation, the trend has shifted toward zero-runtime solutions and utility-first CSS due to performance concerns.

web-devreact

Chain of Thought

Chain of Thought (CoT) is a prompting technique that encourages an LLM to break down complex reasoning into intermediate steps before arriving at a final answer. By explicitly reasoning through each step, models achieve significantly better accuracy on math, logic, and multi-step problems. Extended thinking and "thinking" tokens in models like Claude represent a built-in form of chain-of-thought reasoning.

ai

Code Splitting

Code splitting is an optimization technique that breaks a JavaScript bundle into smaller chunks that are loaded on demand, rather than forcing users to download the entire application upfront. In React, this is achieved through `React.lazy()` and dynamic `import()` statements, which create separate bundles loaded only when the corresponding component or route is accessed. This dramatically improves initial load times, especially for large single-page applications with many routes.

reactweb-devproductivity
PreviousPage 1 / 6Next
69 words
Matyas.

Web apps, mobile apps, AI automation. I help businesses save time and money with tech that actually works.

Links

  • Services
  • Projects
  • Experience
  • Blog
  • Dictionary
  • Contact

Coming Soon

  • Case StudiesSoon
  • Resources

© 2026 Matyas Prochazka. All rights reserved.