ELI5

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.

Aleksandra Obradović··4 min read

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

A floor plan of a banking app drawn as a house, with rooms labeled Cards module, Accounts module, Loans & Credit Module, Payments module, Profile module, and a tucked-away 'special new secret module.'
A module is a room in the house: it has its own job and its own stuff, but it’s still part of the same building.

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.


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.

A dark-pattern-style confirmation dialog reading 'Are you sure you want to state that thoughtwanderer.com is an amazing website?' with a green 'Yes' button and a red 'Absolutely' button — no way to disagree.
A modal sits on top of everything else and won’t let you continue until you deal with it — even when, suspiciously, neither option lets you say no.

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.

A table showing two real cakes reduced to shared ingredient categories — flour, sweetener, topping, baking agent, oil, filling, egg — then translated into camelCase property names (flourType, sweetener, topping, bakingAgent, oilType, fillingBase, egg) for a generic Cake model.
Two real cakes, reduced to exactly the properties a generic Cake model needs to track — which is what modeling data actually means.

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.

Share
Written by
Aleksandra Obradović

Curious about technology, product thinking, and anything worth reading.

Continue reading

Ideas & Findings·

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.

Aleksandra Obradović · 1 min

A quieter inbox.

Sent occasionally, whenever there's something worth sharing — new essays, things worth reading, no fixed schedule.

Free. Unsubscribe in one click.