Skip to content

The Complex Challenges Facing Our Engineering Team

Stephen Okano  | 07 August 2016  |  6 minute read


It’s gone by so quickly, but it was two years ago that we started work with our first major metropolitan city to build a next-generation records management system (RMS) for law enforcement officers. At the time, we somewhat naively thought we could build, test, and deploy a new system, and then train 15,000 officers…all in under 6 months.

Ha! Looking back, we’ve received 200 page requirements documents detailing the features required to build a system such as this. That should have been a big honking warning sign.

Do not pass go, do not collect $200, please hit yourself in the face on the way out.

We learned the hard way and have the war wounds to prove it. But almost a year after we initially thought we could go live, we succeeded in accomplishing that goal and now have the ability to take the next step to grow and build the public safety platform we’ve always envisioned.

What does that platform look like to us? We see a data-driven and interconnected platform in the cloud that enables city governments to efficiently govern all aspects of public safety. We aim to bring the latest technology to bear and push easy-to-digest insights and analysis to the first responder in real time. Here are some of the current challenges we are tackling.

Records Management

The key to the records management system is efficiency and configuration. Our primary challenge is in building beautiful workflows that enable efficient data collection in highly configurable ways.

Currently many systems out there still look something like this:


*Officers deserve a better user experience in the software they use every day.*

In addition, this team currently owns the ability to accurately search through all of the law enforcement data in all the complex ways that an officer may want to parse through the information to make the right decisions in the field.

The records management system is the system of record and the lifeblood of a law enforcement department. Engineers working on this product need to understand the myriad of business processes related to an officer’s workflow and also be able to make generic components that can be re-used in highly configurable ways by different departments. The records management system is to law enforcement agencies what JIRA is to many product and engineering teams.

At Mark43 we allow each law enforcement agency to configure the system to their specific workflows, which makes the tool so much more powerful for the end users. The system also handles automated auditing and versioning, as well as configurable fields, validation, and approval processes.

On top of these configurable workflows, the system is responsible for the data quality for all crime data in an agency. We will continue to iterate on ways to improve this quality and efficiency throughout the system to better support law enforcement officers do their jobs with maximum efficiency and ease of use.

Intelligence & Case Management

One of the most common themes in police crime shows is that the technology is all inter-connected and easy to use. Detectives in law enforcement dramas routinely search through multiple sources of data, gather DNA evidence and get results back from the forensics labs in no time, and can ‘enhance’ grainy CCTV video magically to catch the perpetrator’s face in real time. In addition, suspect known associates and criminal history is generally easy to find and access from events that may have happened anywhere in the country.

tap tap

The reality is generally very different from what is shown on TV. Data is hard to connect, forensics take a long time to come back with any results, and it can be highly unlikely to find a suspect in a sea of video footage. In addition, searching for information is generally time-consuming if not next to impossible. Sharing and linking of data is far from real time and in many times just doesn’t happen.

Our engineers building case management and intelligence tools for detectives aim to help change this equation. This forces us to confront a range of challenges, such as enhancing workflow tools to make investigations easier to manage for detectives, being able to parse large sets of data for insights into the links between entities, generating automated alerts when new information becomes available, and using advanced techniques to automatically improve data quality that generate insights for detectives. The possibilities for this software are endless and we intend to help detectives catch the bad guys with the most information that can be legally gleaned from the data sources they have access to.

Computer Aided Dispatch

Almost every public safety event that happens in a city goes through a computer aided dispatch system of some design. In some small cities, this simply involves a manual switch board and use of the radio system. In more densely populated areas, this manual system results in slower dispatch times and more difficulty in quickly sending the right resources to the call for service. Computerized systems instead are designed to handle the call taking and dispatch of emergency events.

The dispatch system for Mark43 acts as the information hub for any incoming calls for service and thus must be designed to be a highly available, real-time messaging and dispatch center. All updates must be propagated to all listening parties whether they be in a dispatch center on the Electron app, a first responder using an application in the car, an officer walking a beat with their mobile device, or even the numerous 3rd party applications or other dispatch systems that need to see this information immediately.

We’re exploring frameworks like Apache Kafka and web-socket solutions to provide real-time push updates to all devices as well as front end frameworks like Electron to enable multi-window support with locally cached data. The engineers on our CAD team are extremely focused on reliability and speed while realizing the same configurability and complex workflows needed in the records management system are also needed in CAD.


The Public Safety platform is the critical platform for accomplishing any task throughout a city and must reliably route all Fire, EMS, and law enforcement data in a speedy and highly available manner. Of all systems, you’d expect that this system that handles your city’s emergency dispatch, crime records, jails, evidence and potentially more would be highly available and performant. Evidence suggests that this is incorrect. System breakdowns and performance problems seem to especially plague dispatch systems.

As an engineer working on the Mark43 infrastructure, it is your job to architect a highly available system when the result of downtime or bad system performance isn’t just revenue lost, but also potential lives at stake.

Using a number of different tools, our infrastructure team architects repeatable and scalable processes to run our continuous integration suite of tests against all code written for the platform. They also build and deploy consistent infrastructure and code in different operating environments including AWS and other cloud environments, client data centers, and mobile environments, such as officer vehicles and mobile phones.

Finally, as pioneers in the cloud public safety technology community, we care deeply about protecting the criminal justice information potentially routed through our platform. Our infrastructure team designs secure technical architectures and performs monitoring and regular security activities to ensure our system is a leader in security best practices.

Solutions Engineering

Even though Mark43 is a SaaS solution, every department likely has from dozens to hundreds of other systems that perform some sort of function within the department. These systems include courts systems, jail management, evidence, mapping, intelligence, fingerprinting, personnel and external state-built systems. In addition, each department has differing access points to state and federal law enforcement information. While Mark43 is building out many functions within its own suite of products, there will always be more systems to integrate and interface with.

In addition, departments may have legacy data that needs to be translated and migrated and interfaces that need to push Mark43’s data into other downstream applications. Engineers on this client-facing team are nimble, well spoken, and able to both describe an innovative solution to a client as well as design and implement that software or manage other partners in the execution of that plan.

Each Solutions Engineer has the ability to determine the success or failure of the Mark43 platform for a client, which requires great attention to detail, ability to be flexible and innovative, and an ability to build great software.

We’re working hard to develop and roll out the best public safety technology platform in the world, and we have far more engineering challenges than anything I can write here. If you’re tired of startups all trying to merely build the next Uber-for-something, consider a career at Mark43. We’re a small but growing team of passionate engineers!

Download Podcast