Software · Systems · Research
Interface sounds
Ambient music
a.
Adjie Workspace
Interface sounds
Ambient music

Scripted introduction. The project study is Adjie AI’s prepared answer; use Ask AI for your own questions.

How do you keep inventory traceable from spreadsheet import to final report?

Adjie AI

The workbook is the entry point. LabStock carries source identity into a stock ledger, preserves corrections instead of overwriting history, and builds reports and Excel exports from that same record.

Laboratory inventory / 2026

Closed · maintenance

LabStock

Every movement has a source.

LabStock on desktop and phone. Existing demo screens; mobile view cropped for the cover.
Desktop overview. Mobile entry.Real product · Demo data
Designed & built by
Adjie Rizqan
My role
Product engineering · data correctness · release engineering
Built with
Next.js 16 · TypeScript · PostgreSQL · Drizzle ORM · ExcelJS
01The brief

The balance is only
half the story.

The problem

Moving inventory out of spreadsheets is only half the problem. The source of each balance still needs to be identifiable when data is imported again, corrected, or exported.

What I built

I built LabStock around a stock movement ledger. Source-aware validation and repeat-import checks protect the input; history-preserving corrections keep reports and exported workbooks connected to that record.

02 / System design

One ledger.
Every view connected.

Keeps monthly and yearly web reports and exported workbooks on the same ledger data.

Data lineageSource → record → output
  1. 01

    Source

    • Workbook
    • Sheet
    • Source row
  2. 02

    Validate

    • Item identity
    • Unit
    • Period
    • Source mapping
  3. 03

    Ledger

    • OPENING
    • IN
    • OUT
    • ADJUSTMENT
    • REVERSAL
  4. 04

    Output

    • Monthly report
    • Yearly report
    • Excel export

Repeat import

A repeated source is recognized before it can create another stock movement.

Correction

Supersession records the change while retaining the earlier ledger evidence.

03 / Engineering decisions

Designed for
the second import.

  1. Keep the source attached.

    Workbook, sheet, row, item identity, unit, and period travel together.

    Source identity
  2. Import twice. Post once.

    A repeated source is recognized before it can create another stock movement.

    Repeat import
  3. Correct without erasing.

    Supersession records the change while retaining the earlier ledger evidence.

    Correction

04 / Inside the product

From daily work
to the final workbook.

A closer look at the software. Every screen below uses synthetic demo data.

01 / Daily overview

Know what needs attention.

Today brings low stock, expiry, recent requisitions and recorded movements into one operational view.

Inspect the stock view ↓
The Hari Ini (Today) screen: what needs action, recent requisitions and movements.
Hari Ini · content detailFull screen in Quick Look ↗
02 / Requisition

One request. Every item recorded.

Amprah collects the items in a single requisition. The phone view keeps room and requester alongside items leaving the lab.

Amprah, the lab's requisition form: one request posts every item to the stock ledger in one step.
Desktop · one requisition, multiple items
The requisition form on a phone: room and requester for items leaving the lab.
Mobile detail · full screen in Quick Look ↗
03 / Reporting

Close the loop in Excel.

Monthly and yearly reporting reads from the ledger. The monthly screen exposes corrections alongside the closing balance and Excel export.

Monthly report read from the same ledger, ready as the Excel workbook.
Laporan · monthly reportCorrections, closing balance and Excel output
Supporting view

The stock behind the work.

The Stok screen: usable stock per item with expiry and condition, derived from the ledger.

The Stok screen: usable stock per item with expiry and condition, derived from the ledger.
05Evidence

A product you can inspect.

The public record, and where to look.

Workflow
Import → ledger → report → export
View system ↗
Import safety
Idempotent re-import
View decision ↗
Corrections
Auditable · history-preserving
View decision ↗
Monthly output
Detail + recap workbook
View report ↗

Screens show the interface. They are not an independent test of import safety or correction logic.

What this demonstrates

The interface is the visible part.
The record is what holds it together.

A usable operational product and a traceable data model, designed together—from source identity to the workbook people need at the end.

Want to go deeper?