Skip to content

Lessons Learned: From Notebooks to Node IDs

Let me tell you about the time I was working at a police department—doing digital forensics, extracting data from smartphones, and quietly losing my mind because we were tracking devices with pen and paper.

Yes, pen. And yes, paper. In the digital crimes unit. I know.


The Context: Phones, Phones Everywhere

At the department, I was responsible for performing extractions from smartphones using Cellebrite and other tools. We handled devices from over 36 other law enforcement agencies—mostly small, under-resourced departments that didn’t have the hardware or training for extractions.

So they came to us.

And because we had the gear, the cases started pouring in. Phones from ongoing investigations, seized during warrants, recovered from scenes—you name it.

And how were we tracking them? A binder. With handwritten entries. Sometimes in cursive.


The Problem: Chaos, Lost Context, and Constant Guesswork

This wasn’t just annoying—it was dangerous.

  • Devices would come in without proper notes.
  • We had no way to tell who dropped what off.
  • Phones would vanish into evidence lockers with little to no visibility.
  • Follow-up? Forget it. “Check the notebook” was the answer to every question.

Eventually I hit my limit. The straw? Spending half an hour trying to figure out which black iPhone belonged to which open case—based on a half-legible scrawl that said “iPhone, cracked screen.”

So I decided to fix it.


The Solution: Build the System Nobody Asked For (But Everyone Needed)

In my free time—lunch breaks, after hours—I built an internal device intake system from scratch.

Here’s what I used:

  • Backend: Java with Spring Boot
  • Frontend: Vue.js
  • Database: MySQL
  • Containerization: Docker + docker-compose
  • CI/CD: Jenkins pipeline for automatic build and deploy
  • Hosting: A cheap Amazon Lightsail VM (probably the smallest possible instance they offered)

What It Did:

  • Outside agencies could submit extraction requests online.
  • Each device got a unique ID and status tag.
  • We could track the extraction lifecycle: Intake → Queued → Extracting → Complete.
  • Devices were searchable by agency, date, type, or case reference.
  • I even added photo upload fields and location info so we could visually confirm we were working on the right unit.

What started as a simple web form turned into a full dashboard with role-based access, status updates, and internal auditing tools. It went from side project to mission-critical app almost overnight.


Bonus Insight: Cracking iPhones Is Scarily Easy

Quick tangent: the easiest devices to extract were iPhones.

Why? Because companies like Cellebrite prioritize cracking the most popular phones. That means iPhones get VIP treatment—regular tool updates, clean extractions, and disturbingly efficient unlocks.

The takeaway? If you're relying on your iPhone being "secure," I have bad news for you.


The Outcome: Clearer Workflow, Grateful Officers, and No More Binder

The impact was instant:

  • No more confusion about what devices we had or where they were in the process.
  • Officers could track their own devices and get notified on status changes.
  • Internal teams weren’t scrambling to find out who touched what.
  • And most importantly: nobody ever said “check the notebook” again.

What made me proud wasn’t just the tech—it was that I spotted a problem nobody else had time to fix, and I fixed it. I didn’t wait for permission. I didn’t need a committee. I just saw a gap, built a bridge, and walked the team across it.


Final Thoughts: Innovation Doesn’t Need a Memo

Not every improvement needs to come from the top. Sometimes, the most impactful work is the one you do because you care.

No one told me to build that system. But when I did?

People used it. They depended on it. And the entire department got better because of it.