Software engineer connecting industrial machines to the systems that run the business.

Me

Full-stack, from the screen to the scale: the interface, Django and Java behind it, PostgreSQL under that — and the serial and I/O layers most stacks never reach. Thirteen installations across feed production, poultry, bulk weighing, recycling and warehouse logistics.

Based in Hermosillo, Mexico Relocating to the Netherlands

See what's in production

In production 13 installations running on customer sites
Built and shipped 6 software products, across 5 industries
Dosing accuracy ±50g per ingredient, recipe-driven
Bagging throughput 500–700 bags per hour, sustained
How it works

The operating cycle, one step at a time.

Feed production · 2 sites · On-premise

Recipe-driven batching

An ingredient maps to one or more motors, not one-to-one: one site runs three ingredients across five motors, another three across three. Same software, no branch.

Full walkthrough →
Five stores above one hopper: three of maize, one of soy, one of calcium. Every motor is off and the hopper reads 0.00 kg.
01/ 06

Recipe selected

The operator picks the recipe on the indicator. That one choice sets a target weight for each ingredient and decides which motors feed each of them.

Feed production · 2 sites · On-premise

Bagging line control

Product and bag size select the recipe and the line stops itself on completion. Reports total ingredient consumption, bags produced and kilos bagged per run.

Full walkthrough →
The bagging station with the hopper full and no bag on the spout. The indicator shows a target of 25.00 kg.
01/ 06

Product and target

The operator picks the product and the bag size on the indicator. That choice is the recipe: it sets the target weight, the tolerance band and the preact value.

Bulk weighing and transport · 6 sites · Local and web

Weighbridge platform

The most-deployed product of the six — the same core running on six sites, which is where the per-model configuration profiles came from.

Full walkthrough →
A five-axle rig loaded on a truck scale, the indicator reading 42,680 kg gross, and the PC beside it showing the receipt open and awaiting its tare.
01/ 07

Inventory receipt

A truck scale does not weigh a load — it weighs a truck, twice. Loaded on arrival: 42,680. The record opens on that reading and stays open, because the load is a difference and the other half of it has not happened yet.

Poultry · 1 site · Local and web

Poultry farm management

Crate weighing, label printing and barcode stock movements, with production curves per warehouse.

Full walkthrough →
A crate of eggs on a counter scale reading 21.40 kg, the PC beside it showing the weighing screen, and the label printer with the printed label.
01/ 06

On the scale

A crate of 360 eggs on a counter scale, read over serial. Pressing F8 is not printing: in one transaction the station takes the stable weight, resolves the collector into a house, a location and its flock, pulls the day’s lot, writes the record with a barcode that exists nowhere else, and posts the stock movement — then asks the printer. If the printer jams the crate is still counted.

Recycling · 1 site · Local and web

Recycling plant system

Buys and sells recyclable material across four scales on one PC — three floor scales at the counter and a truck scale in the yard — so one purchase can be several materials, each weighed where it fits.

Full walkthrough →
Three floor scales carrying a cardboard bale, two sacks of PET and a bin of cans, a truck on a scale behind them, four serial cables into one PC showing a card per scale, and the purchase order they add up to.
01/ 07

The counter

Four scales, one PC: three low-profile floor scales at the counter and a truck scale in the yard, each on its own serial port. A supplier brings several materials at once, so a purchase is a basket — each line weighed on whichever scale it fits, all of them on one ticket.

Consumer services · 1 site · Web

Appointment scheduling

Booking and scheduling for a personal-care business — the one delivery with no scale attached to it, and the one that had to survive contact with non-technical users all day.

Full walkthrough →
A reception PC showing the agenda, a web app with its reminder scheduler, and the client's phone with the reminder on her wallet pass and eight of ten stamps.
01/ 07

The system

The one product of the six with no scale in it. Reception books into a web app; the moment an appointment exists, a scheduler queues its two reminders — a day before and an hour before — and they arrive on a wallet pass on the client’s phone. She installs nothing, and the same pass carries her stamps.

13

Installations in production

Every one of them was built and commissioned end to end: the proposal and its costing, the development, the install on site, the training of the people who run it, and the phone call when something breaks at six in the morning. Six products, five industries, and not one of them has been handed over and forgotten.

What I work with

Plain lists. No proficiency bars.

Languages

What the thirteen systems are written in.

  • Java
  • Python
  • Lua
  • JavaScript

Web and data

The portals, the reports and the databases behind them.

  • Django
  • Hibernate
  • PostgreSQL
  • jQuery
  • HTML and CSS
  • Bootstrap

Device layer

Where the software stops being software.

  • Weight indicators
  • RS232 serial
  • Ethernet to the indicator
  • Relay / digital I/O
  • Industrial scales

Delivery

Getting it installed, understood and used.

  • Talking to the customer
  • Commissioning on site
  • Operator training
  • Delivering on the date agreed
  • Docker

Shipped with before

  • PHP
  • C#

I write software for places where being wrong has a physical cost — a batch out of spec, a truck weighed twice, a line that stops.

More about me →