Arlem

Case studies / Photo Imagen Video & Export

How Photo Imagen spends 1/8 of the timeit used to on routine tasks with AI adoption.

Photo Imagen Video & Export is an import and export trading company operating between Buenos Aires and Miami. Its margin is made in the minutes between a supplier's price update and the customer's quote. Those minutes used to be spent reading chat messages.

ClientPhoto Imagen Video & Export
IndustryImport / export trading
ScopeRelational database · AI data entry · Automations · AI agent · MCP
StatusIn daily use, operated by Arlem

The situation

Several suppliers send updated price lists every day, some daily and some weekly, each in its own format: WhatsApp messages, Excel sheets, PDFs, sometimes a photo. The same model appears under different names across lists. Prices expire, and an expired price quoted to a customer is a loss.

The trading team kept the picture in their heads and in a spreadsheet. Quotes depended on who was at the desk. Orders, invoices and delivery notes were assembled by hand, and nobody had a running account per customer or supplier without opening three files.

What we built

  1. The relational model first. We designed the database the desk runs on: catalog and variants, suppliers, prices with full history and expiry, customers, orders and their lines, invoices, delivery notes and running accounts. Every screen and every automation reads from this one model.
  2. Data entry by AI, confirmed by a person. Lists arrive in any format and are matched to a normalized catalog of about 180 SKUs. New models are proposed, never silently created. Every load is backed up first and versioned.
  3. A live board, one row per model, one column per supplier. The best live price is highlighted, expired prices are dimmed, stale ones flagged, and each cell carries the week-over-week change and a ten-week history. The board refreshes every 60 seconds.
  4. Selling rules with a cost floor. Sell prices are derived per category from the best live cost plus a rule the owner sets. A hard floor means the system cannot quote below cost, whatever the rule says.
  5. Automations across the desk. Orders carry quantity, color and supplier per line; invoices and per-supplier delivery notes are generated as PDFs; customer and supplier accounts update on their own; stale and expired prices are flagged without anyone checking; the board refreshes itself.
  6. A Telegram assistant. In the team's group it answers price queries with numbers computed by the code, not the model; loads lists; creates and edits orders with a preview-then-confirm step; and sends the resulting PDFs back into the chat.
  7. A remote MCP server. The same 13 capabilities are exposed as typed tools, so the CEO works the desk from Claude on the desktop without a terminal or a login form.

A mobile view for the sales floor, a weekly view of price movements and an Excel export round it out. Everything runs on infrastructure Arlem operates, with Postgres, backups and monitoring.

How it runs today

Lists are loaded within minutes of arriving. Anyone on the team can ask the assistant for a price and get the same answer the board shows. Quotes no longer depend on who is at the desk, and an expired or below-cost price cannot leave the building.

BeforeAfter
Prices read from chat messages and a spreadsheetOne relational database, ~180 SKUs, best live price per model, full price history
Freshness known only to whoever loaded the listExpiry and staleness visible per cell; 60-second refresh
Sell prices judged case by caseRules per category with a hard cost floor
Lists typed in by handAI data entry from WhatsApp, Excel and PDF, confirmed in one step
Documents assembled by handInvoices, delivery notes and accounts generated from the order
Questions answered by a personTelegram assistant and 13 MCP tools, confirm-before-write

Stack: Node.js, Express, Postgres, React board, Telegram Bot API, Claude, Model Context Protocol, Caddy and pm2 on Hetzner.