live in the cloud

neilAI

Cloud-native stock forecasting. Daily, weekly, monthly outlooks and a same-day accuracy report — delivered to Telegram on schedule, regardless of whether anyone's at their computer.

16tickers
4forecast modes
$0cost / month
24/7uptime

what it does

Four forecasts. Zero excuses.

Each one fires on a precise schedule in Eastern Time, scores every prediction against the actual close, and sends a clean, ad-free Telegram message.

Weekdays — 10:00 AM ET

Daily

For every ticker, predicts where it lands at today's 4:00 PM close. Includes a confidence tag and the signal context.

Mondays — 9:30 AM ET

Weekly

Each Monday at market open, projects each ticker to the upcoming Friday's close.

Last Friday — 4:00 PM ET

Monthly

On the last Friday of every month, sends a one-month forward outlook. Skips other Fridays automatically.

Weekdays — 4:15 PM ET

Accuracy

Scores today's morning predictions against the actual close and replies with a single number: X / Y correct (P%). Nothing else.

what you actually receive

It looks exactly like this.

A real Telegram message, on schedule, ad-free.

get your own

Pick a stock. Pick a time. Check your inbox.

Enter your email and a ticker, choose when you want it, and neilAI emails you a next-day forecast. One free alert per email.

1 free alert per email · momentum-based · delivered to your inbox

how it works

A scheduler, an edge function, and the public web.

No proprietary feeds, no API keys, no server to maintain. Six pieces fitting together cleanly.

  1. 01

    Postgres cron fires

    pg_cron runs in the database and triggers on a UTC schedule. Each job is duplicated at both possible UTC times so the system is DST-proof year-round.

  2. 02

    Edge function wakes

    A Deno/TypeScript function on Supabase Edge runs guards (weekend, holiday, market-state, hour). If anything's off, it exits silently — no stale messages.

  3. 03

    Score past predictions

    Looks up every prediction whose horizon has passed, fetches the actual close from Yahoo, and grades it using the direction-plus-meaningful-move rule.

  4. 04

    Generate new forecast

    Pulls fresh data for all 16 tickers plus SPY in parallel. Computes a multi-signal lean (momentum, intraday trend, SPY co-move, opening gap), caps it to the realistic intraday range, and assigns a confidence based on signal agreement.

  5. 05

    Log to Postgres

    Every signal lands in the predictions table with its entry, target, horizon, and confidence — feeding the next day's track record.

  6. 06

    Telegram delivery

    A single POST to the Bot API. The message arrives in your pocket whether your laptop is open, closed, or in your backpack.

pg_cron
pg_net
Edge Function
Yahoo Finance
Predictions DB
Telegram

the stack

Built with boring tools so it doesn't break.

No bleeding-edge dependencies, no premium data feeds, no servers to babysit.

  • Supabase Postgres
  • pg_cron
  • pg_net
  • Supabase Edge Functions
  • Deno
  • TypeScript
  • Yahoo Finance API
  • Telegram Bot API
  • Three.js
  • Netlify
  • Supabase Postgres
  • pg_cron
  • pg_net
  • Supabase Edge Functions
  • Deno
  • TypeScript
  • Yahoo Finance API
  • Telegram Bot API
  • Three.js
  • Netlify

the metric

Honest scoring. No vanity numbers.

Hitting a price target within a dollar isn't realistic on individual stocks. So neilAI measures something better.

right = same direction AND the move was meaningful

"Meaningful" means the actual move covered at least 30% of the predicted move, with a floor of 0.5% of price (so a stock that barely twitched in the right direction doesn't get a free pass).

right

Entry $100 · Target $150 · Close $140

Direction up · move covered 80% of predicted

wrong

Entry $100 · Target $150 · Close $102

Direction up · but only 4% of predicted move

wrong

Entry $100 · Target $150 · Close $90

Wrong direction

built solo

A 16-year-old, a free database, and a Telegram bot.

neilAI started as a frustration with TradingView's free tier and ended as a small piece of infrastructure that runs whether anyone's watching.

— Neil Gupta · 2026