# Reactive Apps with Model-View-Intent - Part 5: Debugging with ease

DevFeed: [Reactive Apps with Model-View-Intent - Part 5: Debugging with ease](<https://devfeed.tech/articles/reactive-apps-with-model-view-intent-part-5-debugging-with-ease-25458.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/android/mosby3-mvi-5/>)

Author: Hannes Dorfmann

Published: 2017-03-17T09:00:00Z

Content type: tutorial

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [debugging](<https://devfeed.tech/topics/debugging.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Crashlytics](<https://devfeed.tech/topics/crashlytics.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [crashlytics](<https://devfeed.tech/tags/crashlytics.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [json](<https://devfeed.tech/tags/json.md>), [logging](<https://devfeed.tech/tags/logging.md>), [mvi](<https://devfeed.tech/tags/mvi.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>)

## AI overview

This tutorial explains how the Model-View-Intent pattern and unidirectional data flow can simplify debugging unreproducible crashes. It shows how to log user intents and rendered view state, serialize the state as JSON, and include these logs in crash reports using Crashlytics or another crash-reporting tool.

## Source excerpt

In the previous blog posts we have discussed the Model-View-Intent (MVI) pattern and it's characteristics. In part 1 we have talked about the importance of an unidirectional data flow and application state that is driven by the "business logic". In this blog post we will see how this pays off when it comes to debugging to simplify the life of developers.