IntentFlow: an experimental workflow-first architecture for iOS apps

Hi everyone,

I wanted to share an experimental iOS architecture proposal I have been working on:

IntentFlow

IntentFlow is a workflow-first, AI-ready architecture for iOS apps.

The core idea is to model feature behavior explicitly:

State + Intent/Event -> Next State + Effects + Outputs + Routes

Instead of starting from a screen, ViewModel, presenter, or coordinator, IntentFlow starts from the workflow behind the feature.

For example, in many real apps the difficult part is not only rendering the UI. It is handling things like:

  • async work
  • cancellation
  • retry and recovery
  • navigation decisions
  • parent communication
  • side effects
  • testability
  • and increasingly, AI-assisted code generation

The core package focuses on:

  • pure reducers
  • typed effects
  • cancellation IDs
  • outputs and routes
  • projections
  • reducer trace tests
  • SwiftUI and UIKit adapter examples

There is also an AI mode.

AI mode adds .intentflow.yaml manifests with invariants and acceptance traces, plus instruction files for tools like Codex, Claude, Gemini, Copilot, and Cursor. The goal is not to let AI “design the app”, but to give coding agents a clear contract so generated changes are easier to review.

This is not meant to replace every existing pattern. MVC, MVVM, Coordinators, TCA, RIBs, Clean Architecture, etc. all solve real problems. IntentFlow is more of an attempt to make workflow behavior explicit and testable, while also making it easier for humans and AI agents to work from the same contract.

I would especially appreciate feedback on:

  • whether this contract shape feels useful for real iOS features
  • where it overlaps too much with existing approaches like TCA, MVI, RIBs, or coordinator-heavy MVVM
  • what parts feel too heavy or unnecessary
  • what migration examples would make adoption easier
  • which real workflows would be good examples to model next

Repository: