Skip to content
Rafael Aslanian

Freight forwarders and customs brokers, with systems that agree

One record,every system

Rafael Aslanian

A booking confirmation sits on an FTP server. Nothing reads it. Somebody opens it later and keys what it says into CargoWise, and integration is the work of removing that step. One shipment gets one identity, and the carrier reference, the house bill and the entry all point at it. A change in one of them shows up in the rest.

Book a 15-minute call

Send the details below. I'll reply by email to arrange a time.

London, UK · Available for new projects

The usual bottlenecks

What actually slows freight forwarders and logistics firms

  1. Every carrier speaks its own EDI

    EDIFACT is the standard, and what lands on the FTP server is one carrier's reading of it. The next carrier's reading disagrees about which field holds the container number. Descartes will carry the message either way, so the mapping is yours. It breaks quietly whenever a carrier changes something.

  2. The customs entry is typed from PDFs

    The commercial invoice arrives as a PDF, the packing list as another, and the weights come in the body of an email. Somebody reads them and keys the entry into Sequoia, which files it to CDS. CHIEF is gone, CDS asks for more than it did, and none of it arrives as data.

  3. Milestones live behind a login per carrier

    Maersk has a portal, MSC has a portal, the terminal has another, and the ETA on each moves without telling anyone. So the milestone gets copied across by hand into CargoWise, or into the sheet the customer sees. A rolled container is found by somebody checking, and nothing tells them to check.

  4. Quotes built from rate sheets that expire

    The rates come in as spreadsheets, one per carrier, none of them the same shape. The quote gets built in another spreadsheet, on somebody's desktop, with the surcharges pasted in from the last one. Validity runs out. A GRI lands, and the sheet quotes the old number anyway.

How I do it

making your systems talk

The sync runs one way where one way is enough, and two ways only where it has to, with an agreed rule for what happens when the two disagree. Which system owns which field is settled in writing before any of it starts. Every run leaves a record. A row that cannot be matched stops and says so, and the disagreement goes into a reconciliation report somebody reads.

Who owns each field, in writing
One line for every field that lives in more than one system, and the name of the one system allowed to change it. Most arguments about bad data end there, before any code is written.
Sync that stops when it is unsure
Where two systems disagree and no rule covers it, the job halts and flags the row. Nothing silently picks a winner.
A monthly list of what still disagrees
Every field where the systems still differ, counted and listed, sent on a schedule. The count is the point. If it is climbing, something upstream broke quietly.
The integrations I recommend against building
Some pairs of systems should stay separate, and some should be retired instead of wired together. That list arrives before the quote does.
See the full service
Selected work

Selected projects

Products I built and open-source projects I maintain. Open a project to see the work for yourself.

  • 01
    2025 →

    Delta Xi

    E-commerce · Brand

    A mathematics apparel brand on a storefront I wrote from scratch

    Delta Xi's website hero, showing the front of a white T-shirt with a neural network diagram.

    I built the cart, checkout, product recommendations, affiliate programme and support desk, and run the infrastructure myself.

    • Next.js
    • React Server Components
    • Stripe
    • Auth.js
    • Tailwind
    • Umami
    • Chatwoot
    • Cloudflare

    Founder · Engineer · Operator

    • Custom checkout on Stripe + Klarna
    • Server-rendered recommendation engine
    • Self-hosted analytics and live chat
    • 50+ STEM explainers driving organic search
  • 02
    2026

    Continuum

    Web3 · DeFi protocol

    A Solana DeFi protocol for 24/7 synthetic exposure to real-world assets

    The Continuum page as it is published

    Deposit USDC, mint matched long and short tokens at NAV, sell the leg you don't want. A constant-product invariant keeps the pair redeemable back to the deposit.

    • Rust
    • Anchor
    • Solana
    • TypeScript
    • Pyth
    • Next.js
    • Bun
    • Railway

    Pre-mainnet. Devnet markets, audits pending.

    Protocol · Frontend · Infra

    • 5 Solana smart contracts in Rust
    • 8 synthetic markets on devnet
    • 4-state oracle risk machine
    • Volatility-scaled fee curve
See 4 more projects
  • 03
    2026

    Dr Flavia Pretti Aslanian

    Healthcare · Practice site

    A bilingual dermatology website for a practice in Harley Street and Wimbledon

    Dr Flavia's new dermatology landing page, with consultation booking and treatment navigation

    A new landing page guides patients to medical, aesthetic and surgical care. The practice edits its own content, and staff have a password-protected dictation tool in the same app.

    • Next.js
    • Sanity CMS
    • Tailwind v4
    • Radix
    • Motion
    • ISR
    • Railway
    • Cloudflare

    Design · Build · Deploy

    • 84 published English and Portuguese routes
    • 72 treatment pages with clinic-editable content
    • Custom before/after comparison UI
    • Internal clinician dictation tool
  • 04
    2026

    Dray

    AI tools · Product website

    A product website for keeping project context across AI agents

    The Dray page as it is published

    An editorial landing page introduces shared project context, shows illustrative agent workflows and explains setup and privacy ahead of beta.

      Beta coming soon. The public demos illustrate the workflow; they are not live agent connections.

      Design · Build

      • Interactive agent-linking illustration
      • Project-context walkthrough
      • Setup and privacy guidance
    • 05
      2026

      Tallylamp

      Open source · Browser infrastructure

      A browser for AI agents that you can watch and take over

      Tallylamp's public website, with an interactive demo of an agent handing browser control to a person.

      I built the browser service, dashboard, MCP server and public website. Agents use Chrome on your server while you watch the same browser live. Take control to sign in, then hand it back; saved profiles carry between sessions.

      • TypeScript
      • Next.js
      • Chrome
      • MCP
      • SQLite
      • Docker
      • Railway

      Public site at tallylamp.dev. The browser service and dashboard are self-hosted.

      Creator · Engineer · Maintainer

      • Live viewing and explicit human handoff
      • Separate agent permissions and reusable profiles
      • MIT licensed, with a Railway deploy template
    • 06
      2025 →

      CarClout

      SaaS · AI content engine

      A subscription app that turns a phone photo of a car into something worth posting

      The CarClout page as it is published

      Upload a photo, pick a template, get the edit back a moment later. Thirteen AI models sit behind a metered credit ledger, next to a layer editor, a post scheduler and a live chat room.

      • Next.js
      • SurrealDB
      • Auth.js
      • Stripe
      • fal.ai
      • Cloudflare R2
      • Stream.io
      • Railway

      Engineering · Infra · SEO

      • 724 generated landing pages, all live
      • 128 API routes behind one app
      • 13 AI models on a metered credit ledger
      • Instagram posting, scheduling and analytics
    Also on the books

    One runs on the client's own domain and one is internal to theirs, so there is nothing here of mine to show you.

    The rest

    Not everything is public. A fair amount of the work sits in private repositories I cannot hand you a link to. Ask, and I will walk you through it.

    Ask to see more
    Process

    How a project runs

    1. 01Before code

      Scope

      One call, then a written spec. What it does, what it deliberately does not do, and what milestone one is. You sign that off before I write a line.

    2. 02Early

      First deploy

      A narrow slice that actually works, running where it belongs. A URL you can open, a build on your phone, a job on your own servers. Real data, real hosting, no placeholder screens.

    3. 03Ongoing

      Build in the open

      Deploys land as the thing fills in, not in one drop at the end. You watch it happen. And you get to change your mind while changing it is still cheap.

    4. 04Handover

      Yours to run

      The product runs in your accounts, with the domain, hosting and documentation under your control. Source-code transfer is quoted separately; we agree what is included during scoping.

    Rafael Aslanian photographed against bamboo
    Rafael AslanianLondon, UK
    About

    Rafael Aslanian

    I got my hands on a computer at 6 and never really stopped.

    Now it is decentralised finance, tokenising real-world assets and topological deep learning, then building whatever those turn into. Continuum came out of that. So did Delta Xi (δξ, an infinitesimal change in a random variable).

    Bossa nova and MPB were always on at home, so I sang before I played anything. Guitar and piano came later, then jazz.

    Based
    London, UK
    Languages
    English, Portuguese; intermediate Spanish and Chinese
    Focus
    Web3, DeFi, real-world asset tokenisation
    Also
    Music
    Contact

    Have an idea? Tell me.

    A paragraph is plenty. I read every one myself and reply within one business day. If it isn't something I can do well, I will say so and point you somewhere better.

    Reply within one business day

    One thing I don't do

    Need the audience too?

    I can build the thing. Getting people to notice it is a separate job, and not mine. For that I work with Nytforge, who film, edit and put the work in front of a local audience. They are strongest with automotive and local businesses.

    Talk to Nytforge