World Congress 2022 Jun 15, 2022

Building software that scales with Typescript

Tal Joffe

True scalability isn't just handling high traffic; it's managing massive codebases efficiently. Discover how combining TypeScript with Clean Architecture enforces strict boundaries and drastically reduces technical debt.

Pause
Mute Enter Fullscreen
#1 about 3 min

Introduction to scaling software systems with TypeScript

Identifying readability, structure, and enforcement as key pillars enables successful codebase scaling.

#2 about 3 min

Improving readability with strict function signatures and return types

Defining explicit return types and optional values replaces ambiguous implementations with self-documenting code.

#3 about 5 min

Separating data elements from business logic routines

Extracting data fields into separate classes from execution logic enforces single responsibility boundaries.

#4 about 6 min

Architecting modular systems with predictable code structures

Organizing code by core business entity rather than generalized features creates resilient directories that withstand constant modification.

#5 about 3 min

Enforcing object shape constraints at compile time

Applying native type utilities like readonly prevents structural decay by strictly policing object mutations at compile time.

#6 about 3 min

Using conventions and interfaces to enforce architectural patterns

Utilizing typed interfaces for commands and queries standardizes controller behaviors and prevents divergent implementation styles.

#7 about 5 min

Minimizing type verbosity and maintenance overhead in projects

Relying on native type inference and derivation utilities prevents redundant abstractions while preserving strict safety.

#8 about 2 min

Evaluating structural scalability and developer update confidence

Gauging how quickly developers identify modification targets determines the true success of architectural planning.

#9 about 4 min

Building descriptive integration tests with strict data typing

Shifting test focus toward integration interactions ensures business cases execute correctly while static analysis maintains data alignment.

#10 about 2 min

Migrating legacy projects to clean structural architecture patterns

Refactoring peripheral gateways or data access modules first minimizes risk before attempting complex business logic overhauls.

#11 about 2 min

Choosing appropriate formatting and linting tools for codebases

Adopting commonly used community linting presets dramatically simplifies configuration troubleshooting across teams.

#12 about 2 min

Prioritizing folder organization over flat global file structures

Structuring deeply planned project directories prevents accidental duplication and tangled dependencies by clarifying intended file locations.

#13 about 1 min

Evaluating the anemic domain model approach in practice

Separating data objects from execution routines introduces known anti-patterns but consistently yields highly maintainable application states.

#14 about 3 min

Limiting API mocking boundaries in software integration tests

Exercising internal behavior implementations without extensive mocking guarantees realistic application flows during integration testing.

Matching moments

1:20 min

Core takeaways for end-to-end TypeScript development

Marco Podien Marco Podien · World Congress 2025

9:46 min

Questions on architecture typing and team organization

Trishul Goel · JS Congress

2:28 min

Exploring the benefits of type safety and TypeScript migration

Chris Heilmann +2 · LIVE

2:00 min

The origins and early problems solved by TypeScript

Dani Coll Dani Coll · World Congress 2026 Europe

2:51 min

Deciding when to adopt or avoid TypeScript

Rob Richardson · LIVE

9:52 min

Safely migrating legacy JavaScript codebases to strict TypeScript

Chris Heilmann +2 · LIVE

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 24, 2026 · 14:10–14:40

Stage 9

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Bartosz Leczycki, Paweł Matynia

Bartosz Leczycki
Paweł Matynia
Open session

World Congress 2026 North America

September 24, 2026 · 16:10–16:40

Outdoor Stage

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

September 24, 2026 · 16:50–17:20

Stage 3

Merging at Scale: From Broken Builds to Green Mainline

Manjari Akella, Preetam Dwivedi

Manjari Akella
Preetam Dwivedi
Open session

World Congress 2026 North America

September 25, 2026 · 09:40–10:10

Stage 3

Still on 4.8 or lower? A Practical Guide to Moving Your "Un-Migratable" .NET Apps

Isaac Levin

Developer Advocate

Isaac Levin
Open session

World Congress 2026 North America

September 25, 2026 · 11:40–12:10

Stage 3

Culture Doesn't Scale Itself: Leading Engineering Teams Through Hypergrowth and the AI Transition

Thanos Baskous

VP of Engineering and Co-founder of Cogent Security

Thanos Baskous
Open session

World Congress 2026 North America

September 25, 2026 · 14:50–15:20

Tech Leaders Stage

Keeping Code Quality at AI Speed

Daksh Gupta, Arthur Hicken, Brian Mann

Daksh Gupta
Arthur Hicken
Brian Mann