es
All work

Supra Argentina

An inventory system for a construction company, in development. It records each movement of materials where it happens. I am its sole developer.

Role
Sole developer
Period
Mar 2026 – Present
Stack
Next.js, TypeScript, Supabase, Postgres, Drizzle, shadcn/ui, TanStack Table, Valibot, Sentry
Point of sale: origin
The first step of the point of sale on a tablet, with a progress bar and the locations to take material from, grouped into building sites, the warehouse and its sections.
Point of sale: items
The items step of the point of sale, which lists only the materials with stock at the chosen origin, with photos, categories and a search box.
Orders
The orders list in the desktop panel, with number, date, location, item count, state and requester, and filters by state, location and date.
Movement ticket
The ticket of a movement from the warehouse to a building site, with the date, the operator, the origin, the destination and the materials moved.

Context

Supra Argentina is a construction company. Its materials move between warehouses and building sites, and site managers order what each site needs. Since March 2026 I have been the sole developer of the system that records all of it: inventory, movements, orders, direct purchases and permissions. The screens above replace the names of people, suppliers, sites and warehouses with generic ones.

Problem

Knowing what is where only works if whoever moves the material records every movement at the moment it happens, on site and not at a desk. Each record also has to say who made it, what it moved and which order it serves.

Constraints

  • Operators record movements on a device at each location, without typing credentials, and every movement still has to be traced to a person.
  • Permissions have two axes: a role defines the allowed actions and the assigned locations define where they apply.

Approach

  • Documentation first: I meet with the people at Supra who run each flow to map it, put the data model and every flow (movements, orders, direct purchases, sessions, permissions) into diagrams, and validate them with those people before building. I keep the diagrams up to date.
  • Point of sale: a five-step wizard (origin, items, destination, confirmation, ticket) that only lists items with stock at the origin and validates stock before confirming.
  • Two kinds of session: a location session ties a device to one place, and the operator identifies themselves with a pattern or an access token. People at a desk sign in with email and password.
  • Orders: state lives on each item of an order, and the order’s state is derived, never stored. What each role can edit depends on that state.
  • Direct purchases: material bought outside the usual suppliers comes in from a virtual location, and the system offers to link it to open orders for the same destination.
  • Search: Postgres unaccent and fuzzystrmatch, plus aliases per item, so the same material is found however it is typed.

Outcome

Since March 2026: 242 commits, 8 database migrations and 7 design documents with diagrams.

Selected work
Experience
Capabilities
Contributions
Contact
Case study: Supra Argentina
Case study: Exa App
Case study: Ruvibet
Copy email
Open CV
Switch to Español
View source
Copy as Markdown
View as Markdown
Open in ChatGPT
Open in Claude
Toggle grid overlayG
Toggle diagnostics
Toggle hash mode
Pause or resume motion
Open terminal

Arrows to move, Enter to select, Esc to close