work/project/2025-11-11

Sherlock — Lab Inventory & Lending System

A full-stack inventory and lending system designed for real-world lab environments, rebuilt from an early Rails prototype into a production-ready Django application.

Sherlock Logo
Sherlock System Identity

Inventory & Lending Management System

Managing lab inventory sounds simple — until real-world factors like borrowing, returns, damaged items, and tracking usage come into play. Sherlock turns this complexity into a structured, usable system.

"Built for real lab environments — where inventory is constantly moving, borrowed, and evolving."

Context & Evolution

Sherlock began as a Ruby on Rails project developed in 2023 by Sumukh Prasad, designed to organize inventory using a simple but powerful structure — Sections, Spaces, and Items.

In 2025, I rebuilt the system from the ground up using Python and Django. This was not just a migration, but a complete transformation — expanding Sherlock from a static inventory tracker into a full inventory and lending management system designed for real lab environments.

What I Built

Sherlock v2.0 introduces a complete system for managing inventory lifecycle — from tracking stock and organizing assets to handling lending workflows, user access, and real-time operational visibility.

System TypeFull-Stack Web App
FrameworkDjango (Python)
ArchitectureModular Inventory Model
Core FeatureInventory + Lending System

System Evolution

The biggest challenge was rebuilding a Ruby on Rails system into Python while preserving its core structure and logic. Each component had to be rethought — not just translated — to ensure consistency, reliability, and scalability.

Beyond replication, the system was significantly expanded. Features like lending workflows, condition tracking, role-based access, and audit trails transformed Sherlock into a complete operational system rather than just a database.

"This was not just a rewrite — it was a transition from a static inventory tracker to a dynamic system that interacts with real-world usage."

Interface & Experience

Dashboard
Command center dashboard providing real-time visibility into inventory and activity
Checkout Terminal
Fast, kiosk-style interface designed for efficient lending operations

Beyond high-level dashboards, the system drills down into item-level activity, lending history, and condition tracking.

Item Detail
Detailed item-level tracking with audit history and status visibility
Loan Report
System-wide insights into active loans and overdue items

What Makes It Different

  • Designed around real-world lab workflows, not abstract data models
  • Handles lending, returns, and condition tracking seamlessly
  • Optimized for usability — minimal friction for students and staff
  • Bridges physical inventory behavior with digital tracking

Reflection

This project changed how I think about systems. Inventory is not just a list of items — it becomes complex when people interact with it. Borrowing, damage, and movement introduce layers of logic that must be carefully handled in software.

It also reinforced the importance of usability. A system like this is only valuable if people can actually use it easily. Designing for real-world usage — and anticipating what can go wrong — became just as important as building the system itself.

Project Access

View Full Project on GitHub

Contributors

Chirag P Patil — System Architecture, Backend, Product Design
Sumukh Prasad — Original Concept & Initial System (Rails Version)

"Sherlock is not just an inventory system — it transforms physical resources into a structured, trackable, and reliable system."

Reference UID

CPP-2025-002-SHERLOCK

Data Integrity

Verified Stable / 2025-11-11

Citation Permalink

https://cp099.github.io/cp099/item/sherlock-python