<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n" -->

---
title: Toss: Building less to ship faster | daily.dev
description: Toss, Korea's financial super-app with an iOS codebase split into close to 1,000 modules, used Tuist's binary cache and focused generation to cut build times....
canonical: https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Toss: Building less to ship faster | daily.dev
og:description: Toss, Korea's financial super-app with an iOS codebase split into close to 1,000 modules, used Tuist's binary cache and focused generation to cut build times....
og:url: https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n
og:image: https://api.daily.dev/og/posts/1ARhtuS0N.png
og:image:alt: Toss: Building less to ship faster
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Toss: Building less to ship faster

**[
      Tuist
    ](https://daily.dev/sources/tuist-blog)** · 7 min read · 4 upvotes · 0 comments

## Summary

Toss, Korea's financial super-app with an iOS codebase split into close to 1,000 modules, used Tuist's binary cache and focused generation to cut build times. By turning modules a developer isn't touching into prebuilt XCFrameworks, reshaping the dependency graph for cacheability, unifying build variants, and self-hosting a remote cache warmed by CI, the team more than tripled the share of local builds finishing within a minute. Scaling binary caching to near-1,000 modules surfaced new bottlenecks around framework search paths, hash stability, and warming cost, which Toss and the Tuist team fixed together, with the fixes now shipping in Tuist generally. Faster builds also sped up AI coding agents, which verify changes by building.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tuist.dev/customers/toss>

## Questions this post answers

### How can I speed up Xcode builds in a large modularized iOS codebase with hundreds of modules?

Replace modules a developer isn't actively working on with prebuilt XCFrameworks instead of building them from source, using a tool like Tuist to generate a workspace where only the focused modules remain as source. This removes the recompilation and Swift planning work entirely rather than speeding it up. Toss used this approach across roughly 1,000 modules and more than tripled the share of local builds finishing within a minute.

_daily.dev surfaces build-performance case studies for teams scaling modular iOS codebases like this one._

### What problems appear when scaling binary module caching to hundreds or thousands of iOS modules?

At that scale, three previously invisible costs become bottlenecks: resolving imports across hundreds of framework search paths becomes measurably slow, small inconsistencies in module hashing cause unnecessary cache misses and rebuilds, and keeping the whole graph warmed and distributed as binaries must stay fast enough to track a constantly moving main branch. Toss and the Tuist team resolved these issues, and the fixes shipped in Tuist for all users.

_Developers scaling binary caching to huge module graphs can track these fixes on daily.dev._

## Similar posts on daily.dev

- [The new Tuist, from build toolchains to bare metal](https://daily.dev/posts/the-new-tuist-from-build-toolchains-to-bare-metal-waw3c6jvd) · 
      Tuist
     · 0 upvotes · 0 comments

---

Tags: [#ios](https://daily.dev/tags/ios), [#xcode](https://daily.dev/tags/xcode), [#build-systems](https://daily.dev/tags/build-systems), [#tuist](https://daily.dev/tags/tuist)

[View this post on daily.dev](https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Toss: Building less to ship faster","url":"https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n"},"datePublished":"2026-10-02T08:09:10.171Z","dateModified":"2026-10-02T08:09:31.847Z","description":"Toss, Korea's financial super-app with an iOS codebase split into close to 1,000 modules, used Tuist's binary cache and focused generation to cut build times....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/02b8037561edb7f10e403fd9d211bb4a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/02b8037561edb7f10e403fd9d211bb4a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"\n      Tuist\n    ","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"\n      Tuist\n    ","logo":"https://media.daily.dev/image/upload/s--3AYDH23h--/f_auto,q_auto/v1787487506/logos/tuist-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/tuist-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":4},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ios,xcode,build-systems,tuist","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"\n      Tuist\n    ","item":"https://daily.dev/sources/tuist-blog"},{"@type":"ListItem","position":3,"name":"Toss: Building less to ship faster"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/toss-building-less-to-ship-faster-1arhtus0n#faq","mainEntity":[{"@type":"Question","name":"How can I speed up Xcode builds in a large modularized iOS codebase with hundreds of modules?","acceptedAnswer":{"@type":"Answer","text":"Replace modules a developer isn't actively working on with prebuilt XCFrameworks instead of building them from source, using a tool like Tuist to generate a workspace where only the focused modules remain as source. This removes the recompilation and Swift planning work entirely rather than speeding it up. Toss used this approach across roughly 1,000 modules and more than tripled the share of local builds finishing within a minute. daily.dev surfaces build-performance case studies for teams scaling modular iOS codebases like this one."}},{"@type":"Question","name":"What problems appear when scaling binary module caching to hundreds or thousands of iOS modules?","acceptedAnswer":{"@type":"Answer","text":"At that scale, three previously invisible costs become bottlenecks: resolving imports across hundreds of framework search paths becomes measurably slow, small inconsistencies in module hashing cause unnecessary cache misses and rebuilds, and keeping the whole graph warmed and distributed as binaries must stay fast enough to track a constantly moving main branch. Toss and the Tuist team resolved these issues, and the fixes shipped in Tuist for all users. Developers scaling binary caching to huge module graphs can track these fixes on daily.dev."}}]}
```

