About PreflightAI

PreflightAI is an educational tool that decodes METAR, TAF and NOTAMs and prioritizes them using AI — so you can quickly understand what matters for your flight. It is available as a website and a Telegram bot.

For educational and informational use only. Not a substitute for official AIP, NOTAM briefings or operator dispatch documentation. Full disclaimer →

How the website works

  1. Enter your departure, arrival and alternate IATA or ICAO codes and aircraft type.
  2. Optionally add a flight date, STD and STA in UTC. Only today or tomorrow are accepted.
  3. Optionally upload your dispatch package (PDF) or paste NOTAM text.
  4. When you upload a dispatch package, PreflightAI reads the route, aircraft type and UTC times from it and fills the fields for you. Every filled field is marked as coming from the file, anything it could not find is marked so you enter it, and a value you typed yourself is never overwritten — if the file disagrees, it says so and leaves the choice to you. If the file is dated for another day, it says that too. Check the filled values against the original before generating.
  5. AI fetches live METAR and TAF, classifies NOTAMs by priority (RED / YELLOW / GREEN), and writes a plain-language summary.
  6. The result opens with one block stating what the briefing carries: every blocking (RED) item in full, then any significant weather named by phenomenon — thunderstorms, windshear, hail, squall, snow, freezing precipitation, dust or sandstorm, fog, or a reported RVR — then YELLOW counts, incomplete coverage and unknown weather listed per airport. All of it is computed from the source data, not written by the model.
  7. The model's own summary is shown only when nothing at all is flagged. Whenever anything is flagged, the block states it directly and no generated text is displayed, so a summary can never soften or remove a classified item. A green block therefore means nothing was flagged at all — no classified item and no significant weather.
  8. Each airport is a card. A card opens on its own when it carries a RED item, incomplete NOTAM coverage, a runway surface condition or significant weather — thunderstorms, windshear, hail, squall, snow, freezing precipitation, dust or sandstorm, fog, or any reported RVR — and says which of those opened it. Instrument conditions alone do not open a card. Every card opens with a click.
  9. Download the result as a PDF for your records.

Flight date and times are optional and use UTC. If no usable date is provided, PreflightAI uses today in UTC. If an hour is missing or cannot be understood, it checks the whole relevant UTC day. The briefing is still generated. A ±2h window helps decide which scheduled items may matter; it is not a delay forecast.

Example timing basis: 26 AUG 2026 · STD 0900Z · STA 1200Z · relevance window ±2h

What PreflightAI adds

A one-off paste into a generic chatbot is limited to the context and sources available in that conversation. PreflightAI preserves a bounded Flight or selected Duty context, carries source health and timestamps, and presents structured highlights instead of an unstructured answer.

It also keeps original NOTAM text traceable where available, organizes airports by flight role, supports a PDF review copy, and can send advance Telegram duty summaries after a roster upload.

These features support workload management; they do not establish completeness or operational authority. Company/operator briefing material and official sources remain authoritative and must still be reviewed.

How Pilot Assistant works on Telegram

Start @PreflightAI_bot. One conversation is active at a time. Send follow-up questions as ordinary or new messages. In Training, replies also continue the scenario unless they select an exact Duty pre-brief.

General — use Pilot Assistant for general aviation questions. Stable concepts can be explained from model knowledge; exact or current claims need an official or authorised source.

Flight — upload a dispatch package and generate a briefing. Follow-up questions use the structured briefing and metadata, extracted dispatch text — kept verbatim from your own document rather than rewritten — added notes, bounded Q&A history, source health and selected reference transcriptions.

Duty — upload a roster, receive the 18:00 UTC pre-brief, then explicitly select the latest duty pre-brief with its button or by replying directly to that bot message. The assistant uses only that selected Duty snapshot. Each new roster upload replaces the previous roster, so dates or duties omitted from the new upload are treated as removed. For example, replacing Tue–Wed–Thu with Wed–Thu–Fri keeps Wed and Thu; uploading only Fri–Sat removes the earlier saved days. Include every future duty you still want covered.

Show roster — use the menu button or /myroster to check the flights currently saved, ten per page. Confirmed times are shown in UTC, including the arrival date when it differs. A dash means missing or unresolved timing; an unconverted date is labelled as a source date. Opening the list does not generate a briefing, change your conversation or extend storage. Even an older button reads the current roster.

Roster dates and duty boundaries — include the time-zone legend and any arrival-day markers in your upload. The application converts explicitly stated times to UTC; it does not guess ambiguous local times. Flights with unresolved timing stay in your saved list but are excluded from time-specific pre-briefs. Older saved rosters retain their original times with a reminder to check or re-upload them. Each pre-brief covers departures in the displayed 24-hour window, not necessarily a whole duty. Source duty labels are kept when available, but reporting, release, rest and FTL compliance are not inferred. The assistant uses the same selected flight dates; it may need more schedule information for duty questions. Uploads are limited to 120 flights and each new upload replaces the previous one.

Training Scenario — select it from the menu or use /training before sending a package. Clear supported source labels such as OPC, LPC or TRAINING SCENARIO can also activate Training when generating a package. Recognition does not replace an active conversation and does not recognise every document or language. Training is scenario-only: dates, METARs, TAFs and NOTAMs are treated as fictional, even if they match today. There is no live weather or NOTAM mixing. You receive a short package acknowledgement, with no automatic summary; ask questions or request a summary when you want one.

Without a supported label or explicit Training selection, a past date or one beyond the next 7 UTC days prompts Training or Live. Today through the next 7 UTC days is a Live candidate. Missing, malformed or invalid dates do not block generation; operational packages fall back to today in UTC. Time-only operational inputs also use today in UTC where applicable. Choosing Live for an anomalous date uses today in UTC without the package times.

Outside Training, direct replies to bot messages are reserved for exact Duty selection. An unrelated, wrong or expired reply may return a selection-unavailable message without AI work.

If a source is missing, incomplete or conflicting, the assistant should identify the gap and ask you to check or provide the current authorised source rather than inventing the detail.

Uploads, references and session limits

A briefing package may contain PDF 18 MiB, images 4.5 MiB each or CSV 10 MiB, with up to 10 items and 20 MiB total; pasted text is limited to 16,000 characters. Supported images are JPG/JPEG, PNG, GIF and WEBP.

For a procedure or manual question, do not submit whole manuals; submit selected, relevant, authorised pages or images. Each conversation accepts up to two reference excerpts: PDF 5 MiB each, image 4.5 MiB each and 10 MiB total; CSV is not accepted as a reference.

QRH, MEL or SOP screenshots and PDFs added to an active scenario are references, not a replacement briefing. Choose New conversation (/newflight) before a new live briefing for actual conditions, or /training for a new scenario. Reset keeps your roster and saved aircraft profile.

The active conversation expires two hours after the last successful Q&A turn or accepted reference. Reads, rejected inputs and failed work do not extend it. The assistant tries to reply in the language of your message when supported, but it does not guarantee every language.

Training selection lasts 10 minutes for the next package attempt; use /training again after expiry or a failed attempt. An extracted Training/Live choice lasts one hour, is single-use, and reads do not renew it. Reset or a context switch clears these pending states. Anthropic provider retention is separate from local expiry; see the Privacy Policy. Upload authorisation and confidentiality obligations apply to scenarios too; see the Terms of Use.

PreflightAI uses retained chat, dispatch, Training scenario and reference content only to answer requested follow-ups during that active two-hour context. It does not use the content for model training, product improvement or persistent learning.

Usage limits

AccountDaily limitWeekly limitHistory saved
Anonymous36No
Free account (Google sign in)410Last 20
Pro Coming soonUnlimitedUnlimitedLast 20

Limits reset at midnight UTC. Telegram bot limits apply separately.

Contact

Questions or feedback? Get in touch →