Glossary

App development, in plain English.

Terms that keep coming up in conversations about apps and software, in one to three sentences. For anyone who wants to build on an existing app or bring a senior engineer into their team without being a developer themselves.

Languages and frameworks

Flutter
Google's framework for building iOS and Android apps and web UIs from one codebase. One team ships both platforms from the same code, and both stay in step.
Dart
The programming language behind Flutter. Built by Google, easy to read, and made for apps that run smoothly on phones.
Swift
Apple's language for iPhone, iPad, and Apple Watch apps. It comes in when an app is built natively or when a Flutter app needs something only iOS offers.
SwiftUI
Apple's toolkit for building interfaces in Swift. You describe what a screen should look like instead of assembling it step by step, which makes changes easier.
Kotlin
The language for native Android apps, also used on the server. It shows up for Android-specific features and for backend services.
TypeScript
JavaScript with types. Bugs show up while you write the code, not when a user runs into them. That's why it's the standard for larger web UIs and for Node.js services.
Node.js
JavaScript on the server. A good fit for lean services and APIs that feed an app with data.
Firebase
Google's bundle of services for apps: database, sign-in, file storage, push notifications. It saves you from running your own servers, but it ties you to Google.
Supabase
An open-source alternative to Firebase, built on PostgreSQL. You can host it yourself, for example on servers in the EU.
Appwrite
Another open-source platform for app backends, with sign-in, database, and file storage, that you can run on your own infrastructure.

Architecture and code

Architecture
How the software is divided into parts. It decides whether the next feature is easy or expensive.
Module
A self-contained part of the app with one clear job, such as sign-in or order management. A good module can change without breaking something elsewhere.
Monorepo
Several apps in one shared repository, so shared code exists only once. Worth it as soon as one app turns into several.
Melos
A tool for managing a monorepo with several Flutter and Dart packages. It runs commands and tests across all of them and manages their versions.
State management
How an app keeps track of its data and of what's on screen, so that screens stay testable.
BLoC
A common pattern for state management in Flutter. It keeps the logic strictly apart from the interface: events go in, states come out.
Riverpod
Another option for state management in Flutter. It provides data and dependencies where they're needed and is easy to test.
Technical debt
Shortcuts in the code that you pay back later, with interest. Every change gets a little more expensive until someone pays the debt down.

Delivery and quality

CI/CD and pipelines
An automated run that builds the app, tests it, and uploads it to the stores. Anyone on the team can start it.
DevOps
Everything it takes to move an app from code to the stores. That covers the pipeline, code signing, store uploads, and the tools behind them. For apps, the point is that every version ships the same way.
Codemagic
A CI/CD service made for Flutter apps. It builds iOS and Android versions in the cloud and uploads them to the stores. Nobody on the team has to keep a Mac around for iOS builds.
Code review
A second pair of eyes before code is merged. Bugs show up early, and knowledge spreads across the team.
Pull request
A proposal to merge a change into the main branch, review included. GitLab calls it a merge request.
Merge
Bringing a change into the main branch, usually after its pull request passes review. After the merge, the change is part of the code the team builds the next release from.
Diff
A comparison of old and new code that shows which lines were added, removed, or changed. In a code review, the diff is mostly what the team reads.
Unit test
An automated test for a small piece of logic, such as a calculation. It runs in seconds and fails the moment a change breaks something.
Widget test
An automated test for one part of a Flutter interface. It checks that a screen shows the right thing and reacts correctly to input.
Integration test
An automated test that runs the app on a device or emulator, say from sign-in to a submitted form. It checks that all the parts work together.
Release
A version of the app that reaches its users, usually through the App Store or Google Play.
TestFlight
Apple's service for handing a new version of an app to testers before it appears in the App Store. Google's counterpart is internal testing in the Google Play Console.
Google Play Console
Google's dashboard for apps in the Play Store. In the console, the team submits new versions and releases them to internal and closed testing tracks. The team also keeps the store listing up to date and checks the reports there.
Code signing
The digital proof that an app really comes from its publisher and hasn't been tampered with. Without valid certificates and keys, no store accepts an update.

Mobile and devices

Offline-first
The app works without a connection and syncs as soon as it's back. Entries land on the device first, so nothing gets lost.
Field data capture
Recording data in the field with photos, location, NFC, and timestamps, even without a connection.
NFC
Near Field Communication: short-range radio that works within a few centimeters. A phone reads a chip on a machine, a door, or a badge. From each scan, an app can tell what someone is working on, and where.
Cross-platform
One codebase for several platforms, such as iOS and Android, instead of two separate apps. With Flutter, a web version comes from the same code too.
Native development
Building an app directly in the platform's own language: Swift for iOS, Kotlin for Android. The right call when an app is tightly bound to the device. Flutter apps have native parts too, for special hardware for instance.
Flutter Web
Flutter in the browser. The app's codebase can also produce a web interface, such as a back-office tool. The app and the web interface share the same data models and business rules.

Integration

API
An interface two programs use to talk to each other, such as the app and the server. It defines which data you can request and send, and how.
REST
The most common way to build an API. Data is requested and changed through plain web addresses, much like opening a web page.
Backend
The part of a system that runs in the background on a server: storing data, enforcing rules, connecting services. The app is the surface, the backend is the machine behind it.
Authentication
Checking who is signing in, whether by password, code, or a link sent by email. For apps there are ready-made services like Firebase Auth, Supabase, or Appwrite that handle this securely.

Collaboration and AI

Joining your team
An experienced developer, embedded in your existing team for a while: your sprint, your repository, your process. Unlike an agency, they don't take over the project. They build with you.
Two halves of one system
A web interface for the back office and an app for the field, equal partners drawing on the same data.
Sprint
A fixed stretch of work, usually two weeks. The team commits to a goal and shows a result at the end. Then it plans what comes next.
Coding agent
A tool like Claude Code or Codex that works on its own inside a repository. It reads the code, plans a change, writes it with tests and documentation, and runs the checks. A harness spells out what the agent may change and the conditions for a merge.
Harness
Written rules and checks that apply to everyone who writes code, human or model. They include coding conventions, tests that run before every merge, and limits on what an agent may change. The rules and checks live as files in the repository.
Claude Code
Anthropic's coding agent, working in the terminal and in the editor: it reads code, proposes changes, and carries out tasks. Like any model, it needs a firm frame and reviewed results.
Codex
OpenAI's coding agent. It takes on tasks in the repository, such as implementing changes or writing tests. Here too, a person reviews the results before they're merged.
CodeRabbit
An AI service that reviews pull requests automatically and leaves comments. It doesn't replace review by people, but it catches a lot early.
Board
A shared view of a team's tickets, in a tool like Linear or Jira. It shows what's up next, what's in progress, and what's done.
Ticket
A single task with a description, an owner, and a status, tracked in a tool like Linear or Jira. Anyone can check a ticket to see where the work stands.

Tools and communication

Linear
A tool for tasks and project planning: tickets, sprints, and roadmaps in one place, fast and uncluttered.
Git
The tool for version control. Every change is traceable, several developers work in parallel, and any earlier state can be restored.
GitHub
A platform for Git projects with pull requests, reviews, and automation (GitHub Actions). Many teams keep their code here.
GitLab
An alternative to GitHub that you can also host yourself. Changes run as merge requests, and pipelines are built in.
Slack
Team chat with channels by topic. Quick conversations instead of long email threads.
Discord
Originally built for gaming communities, now used by many developer teams as a chat with voice channels.
Microsoft Teams
Chat, video calls, and files from Microsoft in one app, common in companies on Microsoft 365.
Repository
The place where a project's entire source code lives together with its history, usually on GitHub or GitLab. Anyone with access sees every version and every change.
Call

Let's talk about what you want to build next.

On a thirty-minute video call, you tell me what's coming up and how your team works today. I'll tell you if I can help, and how. By the end, you'll know whether it's a fit.

Send a message

A few sentences are enough. I'll reply by the next business day.

For example: what you want to build, where things are stuck, and when you need it by.

I only use your details to reply to your message. See the privacy policy (in German).