Skip to content
Root Element

Software studio in Brno, Czech Republic

Everything on a page
descends from one element

We are a software studio in Brno. We build web applications and AI features, from the interface your users see to the APIs and databases behind it. We work in iterations, so you see progress as it happens.

<html><body><div id="root"><App /><Header />1280GET /apidb
Fig. 1 A page tree, from the root node to the interface and the data.

Services

Four branches of one tree

We build web applications, AI features, Shopify stores and custom software. Everything runs on React and Node.js, so the parts fit together.

01

Web applications

We build the whole web application, from the React interface to the Node.js API and database. We also take over existing code and make it safe to change.

  • Large tables, dashboards and maps
  • APIs, databases and integrations
  • Tests, CI and refactoring in small steps
More on web development
<App /><Header /><List /><Button />1280720
Fig. 2 A component tree and what it renders.

02

AI features and agents

We add an assistant or an automated workflow built on language models to your product. Its tools run with the signed-in user's permissions, and the model gets only the context it needs for each step.

  • Assistants and chat inside the app
  • Data extraction from documents and images
  • Agent testing and permission checks
More on AI features
<Assistant />LLMuser scopetool()tool()tool()resulttool()
Fig. 3 An assistant, a model and its tools, within the user's permissions.

03

Shopify stores and apps

We build custom Shopify apps, discounts, checkout extensions and store themes. We move stores over from other platforms and connect orders to the systems behind them.

  • Custom apps and storefront widgets
  • Shopify Functions and checkout extensions
  • Migrations to Shopify and order integrations
More on Shopify development
<Store />themeappcheckoutfunctionsAdmin API
Fig. 4 A store as one tree: theme, app, checkout and functions under one root.

04

Custom software

When an off-the-shelf product does not fit, we build software around the way you work. We start with what you need today and leave room for what comes next.

  • Requirements review and scope
  • Frontend and backend from one team
  • Iterative development with regular demos
Write to us
<App /><Module /><Module /><Module /><Module />apidb
Fig. 5 Modules in one frame, under one root.

Experience

Selected projects and our role

Examples of products we have worked on and the scope of our contribution. We don't name clients.

  1. 01

    911 call analytics, US

    The analytics module of a 911 platform: large data tables with server-side aggregation and row virtualization, dashboards and map views. One page built end to end, from the Postgres and Databricks queries to the interface.

    Stack

    • React
    • TypeScript
    • Google Maps
    • PostgreSQL
    • Databricks
  2. 02

    Legal e‑billing, US

    Full stack on Next.js, NestJS and PostgreSQL. We took over the AI assistant: its tools run as the signed-in user and load only when the model asks for them, which cut the fixed context per request by an estimated 60%. Also unit tests and CI for the web app.

    Stack

    • Next.js
    • NestJS
    • PostgreSQL
    • Vercel AI SDK
    • Gemini
  3. 03

    Enterprise headless CMS

    Accessibility of the whole product to WCAG 2.1 AA, as part of a team of frontend engineers, with axe checks and visual tests in Playwright.

    Stack

    • React
    • Playwright
    • axe-core
  4. 04

    Roofing company

    Frontend architecture and guardrails for an MVP first built with AI. LLM image tagging and invoice extraction, built with one other developer.

    Stack

    • React
    • Claude Code
    • LLM
  5. 05

    Grammar-checking SaaS

    Most of the application, backend included: an API on Fastify, Prisma and PostgreSQL, a Crawlee crawler, and checks routed by language to LanguageTool or GPT-4o-mini.

    Stack

    • Fastify
    • Prisma
    • PostgreSQL
    • Crawlee
  6. 06

    Legal AI and fintech

    Frontend and streaming chat interface for an LLM tool for attorneys. The foundation of the commissions app in a platform of nine Next.js apps.

    Stack

    • Next.js
    • React
    • LLM
  7. 07

    Pharmatech

    A new React frontend structure, code moved over in small steps, and end-to-end tests.

    Stack

    • React
    • TypeScript
  8. 08

    E-commerce

    Custom Shopify apps, Shopify Functions and checkout extensions, store migrations to Shopify, and order integrations in Django.

    Stack

    • Shopify
    • React
    • Django

Process

From brief to production

We design the structure first and build the components after. We work in iterations, so you see finished parts along the way and can change direction.

  1. 01 root

    Brief

    We work out what the software should do, who it is for and how big it is. The result is a brief we both agree on.

  2. 02 structure

    Architecture

    We design the structure of the application, the data model and the API. Everything built later rests on these decisions.

  3. 03 components

    Iterative development

    We build in small parts and show you what works after each iteration. The next step follows from what we learn.

  4. 04 render

    Launch and care

    We put the application into production and keep looking after it. Fixes and new features go through the same process.

Fig. 6 One tree at four stages of construction.

<html>1:1Root Element2023Brno49.19° N 16.61° E1:1ReactNode.js
Fig. 7 Drawing title block. Root Element, Brno, 2023.

About

Named after the first element on the page

We founded Root Element in Brno in 2023. We are a software studio that builds web applications and custom software. The name comes from web development. The root element is the one element every other element on a page descends from. In HTML, it is <html>.

We focus on two technologies, React and Node.js. That means we write the frontend and the backend in the same language, and one team looks after the whole application. We work in iterations and show you finished parts as we go.

A growing share of our work is features built on language models: in-app assistants, data extraction and agents with limited permissions.

Write to us