Open-source project
Tracklet
Self-hosted Inventory & Instrument Management
Tracklet is a self-hosted inventory and instrument management platform designed for organizations that need a centralized way to manage technical equipment.
It brings equipment records, availability, reservations, locations and rentals into a single interface instead of relying on disconnected spreadsheets and databases.

Features
Inventory Management
Manage instruments, serial numbers, manufacturers, status, documentation and other equipment information.
Availability & Reservations
Reserve equipment for projects and keep track of what is available, reserved or currently in use.
Locations
Organize equipment across laboratories, storage areas and other physical locations.
Rentals
Track equipment which leaves the organization, including active, upcoming, overdue and returned rentals.
Role-Based Access
Give users appropriate access while protecting administrative and modification capabilities.
Live Demo
A public read-only Tracklet instance is available so you can explore the interface without modifying the demo inventory.
URL: https://tracklet.yaselmo.dev
Username: demo
Password: demo123
Demo limitations
The public demo uses a restricted read-only account. Some functionality is intentionally limited to protect the demo environment and its data.
- Creating, editing and deleting records is disabled.
- Administrative and configuration features are restricted.
- Some organization-specific workflows are not exposed in the public demo.
- Features still under development may not yet be available in the demo environment.
Architecture
Tracklet is split into a web frontend, backend application, persistent data services and background processing components. The application is packaged and deployed using Docker.
System Architecture
The frontend communicates with the Django backend through the application API. The backend contains the main inventory logic and manages access to persistent data and background services.
┌──────────────────────────────┐
│ Browser │
└──────────────┬───────────────┘
│
▼
┌──────────────────────────────┐
│ React + TypeScript UI │
│ Frontend │
└──────────────┬───────────────┘
│
│ API
▼
┌──────────────────────────────┐
│ Django Backend │
│ │
│ • Inventory │
│ • Locations │
│ • Events & Reservations │
│ • Rentals │
│ • Authentication │
│ • Permissions │
└──────────────┬───────────────┘
│
┌────────┼─────────┐
│ │ │
▼ ▼ ▼
PostgreSQL Redis Background
WorkerDeployment Architecture
In production, Tracklet runs as a collection of Docker services. Caddy handles incoming web traffic and HTTPS before requests are passed to the application server.
Internet
│
│ HTTPS
▼
┌───────────────┐
│ Caddy │
│ Reverse Proxy │
└───────┬───────┘
│
▼
┌───────────────────┐
│ Django / Gunicorn │
└─────────┬─────────┘
│
┌─────┼──────────┐
│ │ │
▼ ▼ ▼
PostgreSQL Redis Worker
All services run through Docker Compose.Technology Stack
Contributing
Tracklet is open source and contributions are welcome. Developers can help improve the project by reporting problems, proposing new features, improving documentation or contributing code.
- Report bugs and unexpected behavior
- Suggest new features
- Improve documentation
- Improve the user interface
- Add integrations
- Submit fixes and pull requests
Need a Customized Version?
Every organization manages equipment differently. Tracklet can be adapted for custom equipment types, workflows, terminology, dashboards, permissions, branding and deployment requirements.
If you are interested in using Tracklet for your organization and need a customized version, feel free to contact me.
Contact Me