When people talk about HLD (High-Level Design) in system design interviews, blogs, or courses, they mostly focus on web applications or mobile applications – things like e-commerce systems, video streaming, social networks, etc.
But what about traditional offline software like AutoCAD, Winamp, MS Paint, or even classic desktop games? Why don't we see HLD diagrams for them?
We will understand about this in detail in this article.
What is High-Level Design (HLD)?
High-Level Design is about the big-picture architecture of a system. Instead of focusing on code-level details, it looks at:
- System components (services, databases, APIs, caches, queues, etc.)
- Interactions between components
- Scalability and availability
- Deployment structure
- Non-functional requirements (NFRs) like scalability, availability, reliability, fault tolerance, latency, and throughput.
In short:
HLD is about how multiple parts of a distributed system work together.
If we keep things very simplified, then we can group software into three broad types that are easy to understand:
1 Web Applications
- Runs inside a browser
- Require internet + server interaction.
- Examples: www.thejat.in
2 Mobile Applications
- Runs on smartphone or tablets
- Installed via app stores.
- Can be native apps (Android/iOS), hybrid apps, or progressive web apps (PWAs).
- Examples: WhatsApp, Instagram, Spotify.
3 Offline (Desktop/Standalone) Software
- Runs locally on a personal computer or device
- Does not require internet (though many now add optional online features)
- Examples: MS Paint, AutoCAD, Photoshop (offline mode), VLC, traditional PC games.
These three are like the main buckets of how most people experience software today. Other categories (like enterprise software, embedded software, system software) exist, but they often overlap with these three or belong to a more technical classification.
Why Web/Mobile Apps Need HLD
Web and mobile applications are distributed by nature. A single user action often involves:
- Servers
- Databases
- Caches
- Load balancers
- CDNs
- Message queues
For example:
- Logging into WhatsApp involves authentication services, databases, and caching.
- Watching Netflix involves CDNs, streaming servers, and transcoding pipelines.
Since these app runs across multiple machines and must serve millions of users simultaneously, they absolutely require HLD to ensure scalability, fault tolerance, and efficiency.
Traditional Offline Software Is Mostly Self-Contained
Now think about classic offline software:
- MS Paint, AutoCAD, Photoshop (offline mode), Winamp, video games (before online play).
- All the functionality lives inside the user's machine.
- Editing a drawing, listening to music, or playing a game doesn't require servers or distributed services.
The challenges here are different:
- Algorithms (rendering, graphics, sound processing, compression)
- Performance (CPU/GPU usage, memory handling, low-latency response)
- UI/UX architecture (menus, workflows, shortcuts)
- File compatibility (support for multiple formats)
This is less about distributed system design (HLD) and more about software architecture or low-level design (LLD).

Why HLD Applies to All Complex Systems
The perception that HLD is only for web/mobile is actually misleading. HLD principles apply to any complex system, including:
1 Embedded Systems
Example: Automotive control systems
HLD concerns: Real-time processing, sensor data flow, safety-critical components, hardware-software interface
2 Scientific Computing
Example: Weather simulation software
HLD Concerns: Data pipeline design, computational resource allocation, result aggregation
3 Enterprise Systems
Example: Banking core systems
HLD Concerns: Transaction processing, data consistency, integration with legacy systems, compliance requirements
4 Game Engines
Example: AAA game development
HLD Concerns: Rendering pipeline, asset management, physics engine architecture, networking layer
5 Operating Systems
Example: Linux kernel
HLD Concerns: Process scheduling, memory management, device driver interfaces, security models.
Leave a comment
Your email address will not be published. Required fields are marked *