Operam was built with the experience of creating many iterations of feedback systems for our own clients over the years.

There were lots of times where we wished for something close to Crashlytics, but not restricted to only crash conditions.

Comprehensive Reports

Each user reported issues contains a screenshot, full device and environment information.

Full user tracking information, such as which screens were opened, which buttons tapped, console (i.e. NSLog) log messages, etc.

Programatic Events

Decide exactly when an event is generated, depending on your specific business needs.

Record an event when an upload to Amazon S3 fails, or perhaps when an API request fails with a specific error code. It's all up to you.

All events record a stack trace, so you can track down exactly where your code was executed.

User Information

Identify exactly who is reporting problems by recording the user identifier, username, email and even full name.

The email address is also used to pre-populate the issue reporting interface to make it even easier to use.

Tracking User Actions

Sometimes knowing the navigation path to a specific feature is very important.

How many times have you wished for a way to know the actions that lead the user to the current screen or feature? Operam provides a full set of log messages with all of that.

Attach Files

Have you ever wished that you could get a copy of the Core Data database file when a customer reports a problem on a feature?

Maybe storing an XML file from a remote web service response, or JSON output from a third party library.

Log Messages

Record log messages in standard info/error/debug categories, without sending them via NSLog and only visible within Operam.

These log messages also contain special metadata information so you know exactly which file, method name and line number generated them.


Record data in a simple key/value pair structure for future analysis.

It's an alternative to logging messages, if all you need is one set of values per unique key.

Measure Performance

Analyze the performance of parts of your applications by recording the timing for specific features, such as JSON parsing or downloading resources.