Model vs. Modal vs. Module
Module, modal, and model sound almost identical but mean completely different things in software — one's a chunk of code, one's a UI popup, one's a data representation. A banking app (and a cake) untangle all three.
So, you come from a non-tech background and you are a bit frustrated that the techies like to use similar sounding words? Let’s quickly learn what these three terms mean, in software engineering context.
This article is part of my ELI5 (Explain Like I’m 5) series, where I try to explain complex tech and product concepts simply.
| Term | ELI5 meaning | Simple example |
|---|---|---|
| MODULE | A self-contained piece of software/code | The “Payments” part of an app |
| MODAL | A UI window that appears on top of the current screen | “Are you sure you want to delete this?” popup |
| MODEL | A representation of something: data or behavior | A User object containing name, email, ID |
The easiest way to remember them:
- module = code organization
- modal = UI
- model = representation/data
Module
A module is essentially a chunk of a larger software system that has a particular responsibility.
Imagine an online banking app. It might have:
Banking App = Accounts module + Payments module + Cards module + Profile module

Let’s look at one of those modules: Payments. The Payments module might contain everything necessary for handling payments: payment-related code, business rules, APIs, etc.
The exact meaning of “module” varies depending on the architecture and programming language. Sometimes it’s literally a technical unit supported by the language (module, package, library, etc.); sometimes engineers use it more loosely to mean “this relatively independent section of our system.”
From the workplace: when a developer says “the bug is in the authentication module,” they roughly mean the problem is somewhere in the chunk of the system responsible for authentication.
ELI5 analogy: a module is one room in a house. The kitchen has a particular purpose and contains the things needed for that purpose, but it’s still part of the house.
Modal
A modal is specifically a UI concept. It’s a window/dialog that appears on top of the interface and requires your attention before you continue interacting with the underlying screen.
For example, if you try to delete your account on a social media platform, you will typically see something like this:
“Delete your account? This cannot be undone.”
[Cancel] [Delete]
That’s a modal. It temporarily puts the underlying interface “on hold.” You generally have to deal with it before continuing with any other action.

From the workplace: when a QA engineer writes in a ticket “the confirmation modal doesn’t close after clicking Cancel,” they’re talking about that visible UI component specifically.
ELI5 analogy: you’re working at your desk and somebody puts a form directly on top of what you’re doing and says, “Deal with this first.”
Model
This one is broader and can mean slightly different things depending on context, but fundamentally: a model is a representation of something.
Suppose your application has users. A user in real life has hundreds of characteristics, but the software might only care about a few:
| Field | Value |
|---|---|
id |
8472 |
name |
Noelle |
email |
noelle@example.com |
accountStatus |
ACTIVE |
That’s your (very simple) User model. The actual human being obviously has many more characteristics, but this model is the software’s useful representation of that person.

Other examples: Payment model, Transaction model, Product model, Order model, etc. An Order model, for instance, might just track id, customer, items, totalPrice, status, and createdAt.
ELI5 analogy: a model is like a LEGO model of a house. It isn’t the actual house; it represents the aspects of the house that matter for your purpose.
“Model” gets additional meanings in specific contexts — database/data models, domain models, MVC models, machine-learning models, etc. — but the underlying idea of representation connects them.
Oh, by the way — ever wondered why fashion models are called models? Find out here.
Consolidating all this with a simple example
Let’s imagine a banking app:
- Payments MODULE — the section of the software responsible for handling payments.
- Payment MODEL — the representation of a single payment:
amount,currency,recipient,status. - Confirmation MODAL — the popup shown when the user attempts a payment: “Send €50?” [Cancel] [Send]
The module contains functionality, the model represents something, and the modal is something the user sees and interacts with.
Curious about technology, product thinking, and anything worth reading.
Continue reading

Mobile Testing for Recruiters: How to actually read a QA job description or CV
Job descriptions and CVs mix up platforms, programming languages, and testing frameworks, and it all becomes a huge mess. I know! This post is a recruiter's guide to reading a mobile QA CV accurately and knowing which questions to ask engineering before sourcing.

Life Imitates Art
In 1854 a man painted villagers fleeing a coming storm. In 1999 another man photographed a mower working as a Serbian oil refinery burns in the background.

Shifting Baseline Syndrome: Why we treat “new” features as if they were always available
Fingerprint unlock, tap-to-pay, dark mode, Face ID. These features feel like they've always existed, but they're all under fifteen years old. A look at why we forget how recent "normal" really is, and how these features look stacked against the world events happening at the same time.