Back to portfolio Phase 1 demo complete

Catalyst Laboratory Management System

A configurable LIMS foundation for small laboratories that need disciplined sample intake, chemical inventory, audit history, and operational visibility without starting with enterprise overhead.

Project summary

A practical laboratory operating foundation, built around controlled records.

Industry
Environmental, industrial, chemical, and quality-control laboratories
Architecture
PySide6 desktop application -> service layer -> SQLAlchemy -> PostgreSQL production target
Primary tools
Python, PySide6, SQLAlchemy, PostgreSQL, Alembic, Pydantic, ReportLab
Deployment model
Windows desktop app with PostgreSQL; self-contained SQLite demo adapter
Implemented scope
Samples, chemical inventory, append-only audit history, operational dashboard, reporting foundation, and optional local read-only assistant
System architecture

Phase 1 connects the records labs touch every day.

The application keeps validation and transaction rules in a reusable service layer, leaving a clean seam for future API, automation, and reporting work.

PySide6 Application

Focused desktop workflows for laboratory staff and managers.

Service Layer

Validated sample transitions and atomic inventory transactions.

PostgreSQL Path

Typed relational models and Alembic migrations for a multi-user target.

Reporting Seam

Database-backed KPIs, PDF foundation, and a proposed Power BI model.

01

Sample Management

Receive, search, filter, edit, and transition samples through controlled statuses with chain-of-custody and deadline context.

02

Chemical Inventory

Track chemical master data, quantities, storage, expiry, SDS status, hazards, suppliers, and related sample usage.

03

Atomic Stock Ledger

Balance changes, inventory events, and audit records succeed or roll back together inside one transaction.

04

Operational Dashboard

Database-backed sample, inventory, expiry, review, and equipment signals give managers a concise current-state view.

05

Append-only Audit

Record creation, updates, status changes, and inventory adjustments preserve before-and-after context.

06

Configurable Foundation

Application identity, environment, sample prefix, database connection, time zone, and local AI settings are supplied through configuration.

Video demonstration

See the sample and inventory workflows in motion.

The demonstration covers live KPIs, sample search and history, chemical records and ledger activity, and the optional local assistant boundary.

Product boundary

Implemented foundation now. Regulated modules remain a deliberate next phase.

Analytical Methods, Results, QA/QC, Equipment, Reports, and Administration are present as clearly labeled future modules. Production use also requires laboratory-specific validation of methods, calculations, holding times, reporting, retention, security, and deployment controls.

Implemented
Samples
Implemented
Inventory
Implemented
Audit
Future
QA/QC+
Case-study facts

A tested Phase 1 demonstration with an honest production path.

Status
Working Phase 1 desktop demonstration with isolated automated tests and a Windows build shell.
Demo data
Synthetic laboratory, client, sample, chemical, supplier, and inventory records.
Production database
PostgreSQL 15+ target using psycopg and versioned Alembic migrations.
Demo adapter
SQLite is used only for a self-contained demonstration and test environment.
Safety boundary
Workflow support only; chemical handling, methods, calculations, and regulatory decisions require qualified review.
Distribution
One-folder Windows build; deployment still requires database, security, validation, training, and operating procedures.
Technology

Technologies used in Catalyst.

  • Python
  • PySide6
  • SQLAlchemy
  • PostgreSQL
  • SQLite
  • Alembic
  • Pydantic
  • ReportLab
  • Power BI model
  • PyInstaller
  • pytest
  • Ruff

Need software shaped around a small laboratory's real workflow?

OCBS builds focused systems that connect operational records, validation rules, and management visibility without forcing enterprise complexity on a local team.