NCIC Inmate Communications

Product Design

Designing an ethical, friendly, and personal inmate communications system.

Designing with Ethics

NCIC is an inmate communications provider that produces software used by inmates, visitors, and prison administration to schedule visits, video and text chat with visitors and other inmates, and perform various administrative tasks.

My primary concern with this project was to maintain a fine balance between functionality, ethics, personality, and professionalism. Working within the prison system made me nervous to say the least — we all know that the prison system is a historically unethical and corrupt industry — but I used this project as an opportunity to bake my ethics into a real-world product that can influence positive change in the lives of inmates and visitors.

Ethical Design Techniques

  • Color: I used a selective palette of cool colors to make the product feel personal and friendly without crossing the fine line into being inappropriate for the subject matter at hand.
  • Names: Because I did not have access to inmate photos within the product, I had to make due with other means. I decided to feature names prominently throughout the application in order to make the experience as personal as possible.
  • Custom avatars:Lacking inmate photos made the chat experience feel dull, so I developed a system of custom avatars to make the product feel more friendly to the user.

Scheduling a Visit

I designed visitation scheduling to be as smooth as possible, reducing the number of steps involved to a total of four and building a design system that made the entire experience cohesive.


Inmates on the NCIC platform can chat with each other. I designed a system of custom avatars where each inmate is assigned a unique color that is overlaid with a friendly face to make the experience personal and friendly without using inmate photos.

Backend Interface

I also had the opportunity to design the backend administrative interface for the product. This allowed me to extend the design system established on the frontend to more complex operations and views.