preloader
post-thumb

Last Update: September 10, 2026


BYauthor-thumberic

|Loading...

Keywords

For a couple of years, my trading strategies told me things by email. Every entry, every close, every alert — a little SMTP message into my inbox. It worked, in the sense that the information arrived. But email is a filing cabinet, and a trading signal is an interrupt. I had been routing interrupts through a filing cabinet.

Last week I finally stopped. My strategy fleet now publishes its signals to TYO Notify — private push notifications, delivered the second the strategy decides — and I don't think I'll ever go back.

The inbox was the wrong place for a signal

Here is what actually happened when a setup fired. The strategy sent an email. Gmail fetched it on its own schedule, ran it through filters, and eventually surfaced a bold unread count. I'd notice the little (1) a few minutes later, open the message, and read a paragraph of text to find out what symbol it was, which direction, and at what price. By then the candle that triggered it had often closed and the next one was well underway.

Two things were wrong, and neither is Gmail's fault:

  • Latency. Email is a pull medium dressed up as a push one. There is no guarantee about when you see it, and "a few minutes" is an eternity when a signal has a shelf life measured in seconds.
  • No structure. An email is a wall of text. To know whether to care, I had to open it and read. A signal isn't prose; it's a handful of fields — symbol, direction, level, price — and I wanted to read it the way I read a clock: at a glance, without opening anything.

What I actually wanted

  • Instant. Pushed the moment the strategy commits, not whenever a mail server gets around to it.
  • Glanceable. Symbol, direction, timeframe, price — visible on the lock screen without unlocking, colour-coded so long and short are obvious before I've read a word.
  • Private. My signals are my edge. I did not want them flowing through a third-party push service that logs every payload it forwards.
  • Mine. I run the broker, so there is no per-notification pricing, no metered "premium" tier, and no account I can be deplatformed from.
Email
TYO Notify
Latency
Whenever the mail server delivers
Sub-second push
What you see
A paragraph you must open
A colour-coded card at a glance
Who can read it
Your mail provider, in plaintext
Only a device holding the topic key
Who runs it
Someone else's servers
The broker you own

Enter TYO Notify

TYO Notify is ntfy-compatible push built into our own message broker, tyo-mq. Publishing a notification is a plain authenticated HTTP POST; subscribing is your phone. If you already speak ntfy, you already know how to talk to it.

Two features made it the right home for signals:

Private topics. A topic starts public, but you can claim it with a device key — after that, only a holder of that key can publish to it or read from it. My signal topics are locked to my phone's key. Nobody else can post a fake signal, and nobody else can read mine.

Structured cards. When I publish, I put the signal's fields in the ntfy Tags header — symbol, dir, level, price, sl, tp — and the app renders them as a card instead of a line of text: a coloured accent bar (green for long, red for short), the timeframe chip, and the price, front and centre. That is the whole point. I can read a signal off the lock screen the way I read the time.

A TYO Notify trading-signal notification in the Android shade: a green accent bar marking a long, the symbol MPL, an M15 timeframe chip, and the price with stop-loss and take-profit — the whole thing readable at a glance without opening it.

Publishing one looks like this:

sh
curl \
  -H "Authorization: Bearer $TOKEN" \
  -H "Tags: symbol=ETHUSD,dir=long,level=h1,price=2450,sl=2400,tp=2600" \
  -d "ETHUSD long h1 @2450" \
  https://freemq.tyo.com.au/notify/tyostocks-signals

That's it. No SMTP, no template, no HTML. A POST with the fields in a header, and a card lands on my phone.

The tyostocks-signals topic inside the TYO Notify app: a stream of structured signal cards — green accent bars for longs, red for shorts — each showing the symbol, an M15 timeframe chip, and the price with stop-loss and take-profit.

The migration itself was almost boring

The best part: switching over was nearly nothing. My strategy processes already had a "notify me" seam; it used to build an email, now it builds a POST with a bearer token. I flipped it across the live fleet without a restart and without a gap — the last email signal and the first push signal were minutes apart, and I didn't miss a single alert in between.

It followed me to the desktop

I spend the trading day on a Linux desktop, not staring at my phone. So over the weekend I built a small companion: a system-tray client. You sign in once with your TYO ID, it pulls your topics and your device key from your encrypted backup vault, and from then on it pops a native desktop toast — the same colour-coded card — the instant a signal fires. Sign-in to first toast was about a minute, and now the alerts find me wherever I'm working.

That the desktop client could exist at all is a nice property of the design: because the key that owns a private topic is yours and portable, any device you trust can read your topics. The phone isn't special.

And it's on the Play Store

TYO Notify is rolling out on Google Play now — the same app I use for my own signals, not a stripped-down demo. Point your own scripts, cron jobs, alerting rules, or trading strategies at it, or self-host the broker; it's the same tyo-mq underneath either way.

The takeaway

Email is a filing cabinet: durable, searchable, permanent, and completely indifferent to time. That is exactly what you want for a receipt and exactly what you don't want for a signal. If something in your life fires an alert that matters in the next ten seconds — a trade, a deploy, a form submission, a server on fire — stop mailing it to yourself. Push it.

Comments (0)

Leave a Comment
Your email won't be published. We'll only use it to notify you of replies to your comment.
Loading comments...
Previous Article
post-thumb

Oct 03, 2021

Setting up Ingress for a Web Service in a Kubernetes Cluster with NGINX Ingress Controller

A simple tutorial that helps configure ingress for a web service inside a kubernetes cluster using NGINX Ingress Controller

Next Article
post-thumb

Sep 09, 2026

The Connection Reset That Wasn't: Hunting a Protobuf Bug in IBKR's TWS API

A market data gateway that worked fine for hours started rejecting every single connection with 'Connection reset by peer' - and stayed broken through TWS restarts, a full machine reboot, and every conventional fix. Here's how a raw packet capture and a hand-crafted socket client found the real bug: a version-gated Protobuf auto-switch that TWS silently didn't support.

agico

We transform visions into reality. We specializes in crafting digital experiences that captivate, engage, and innovate. With a fusion of creativity and expertise, we bring your ideas to life, one pixel at a time. Let's build the future together.

Copyright ©  2026  TYO Lab · v0.0.28