opportunity radar on public events
Live
Upcoming moments, scored against a profile, with the reasons shown.
MomentRadar watches public calendars, feeds, ticketing APIs and event pages for what is coming in the next few months, and scores each event against a profile: a brand with audiences, industries and denied topics, or a household described only by age ranges and interests. Every score comes with its breakdown, every brief separates facts from assumptions, and every AI call is logged. The business product runs at momentradar.tech; MyMoment, the consumer vertical for individuals and families, runs on the same engine at mymoment.tech. Both have been live in early access since August 2026; the paid launch is still gated.
I own the product and platform architecture: the spec-first repository, the two-profile-type model on one engine, the source and AI contracts, the operator console, and the public presentation.
momentradar.techProject images




What we are building
One engine, two profile types
An event is scored once, then matched per profile. A brand profile carries audiences, industries, tone, preferred channels and a hard list of denied topics. A personal profile is a household: up to eight personas, each an age range plus interests plus things to avoid, with a city and a way of getting around. The two types share the registry, the pipeline and the audit trail, and the registry is built to take more.
Sources you can audit
Eighteen built-in connectors and a sitemap-driven crawler. Deterministic ones parse iCal, JSON-LD, h-event, JSON Feed, CKAN portals, Eventbrite, Ticketmaster, TheSportsDB, GitHub releases, the F1 calendar, Snapshot governance, The Events Calendar, ETHGlobal, and static holiday, crypto and tech-conference tables; RSS and structured HTML go through AI extraction with a synthesised recipe. Every source sits in a tier from official to experimental, and a trust score from 0 to 100 follows its drop, correction and duplicate rates.
Scores with a breakdown
Rule-based features are computed first: lead time, how many sources agree, their credibility, search velocity. AI then scores eight axes, from engagement and timing to confidence and risk, with a brand-fit overlay for businesses and named dimensions for households: persona fit, age appropriateness, schedule, mobility, language, timing. The headline number is reproducible from the sub-scores on screen.
MyMoment, shipped
The consumer vertical, Romanian first with an English toggle. It never asks for names, dates of birth, schools, photos or exact locations; nicknames stay in the interface and are stripped in code before any AI call; only adults hold accounts. Plans are listed publicly on both sites, marked as subject to change before the production launch; paid sign-up is not open yet.
How it works
A model-agnostic gateway with an audit trail
Business code never imports a model provider; every call goes through one gateway that can switch vendors per task. Prompts are versioned files, 28 registered today, never edited in place, each with pinned golden cases. Every call is logged with its model, prompt version, tokens, cost and latency, and structured output is validated against a schema before it is used. For personal profiles the PII boundary sits at the gateway entry, so the model only ever sees age ranges and interests.
Refusals are enforced on the server
Six categories are refused outright when a brand profile or a source is created: gambling, adult content, drugs, weapons, child sexual abuse material, and criminal services. The gate is a deterministic deny-list that returns HTTP 422 before any AI work is paid for; there is no operator override and no per-team allow-list. Political, conflict, tragedy and medical moments go to a human review queue and never trigger an alert on their own.
Three ways out, none of them a second engine
Telegram carries staged alerts at 60, 30, 14 and 7 days, plus a weekly digest, each with an idempotency key so nothing is sent twice. The Companion is a chat inside the product that calls typed internal endpoints only, no web search, and cites the evidence row behind every claim. A read-only MCP server gives Claude, ChatGPT or Cursor the same scoped reads; it cannot write, score or bill.