How it's built

Three steps, a few seconds, and no account. Here is what happens to a flyer between seeing it and having it in your calendar, and what is under the hood.

The three steps

  1. 1Give it anything about the event. Paste the text of a message or a caption, add a photo or screenshot of a flyer or poster, or paste a public Instagram post or reel link. The app works out what it was handed. The one choice is at the top: Event, or Translate post if you would rather read the post in your own language first, slide by slide, and turn it into an event only if it is one.
  2. 2An AI reads it. A language model pulls out the title, date, start and end times, venue and address, and returns them as real fields. Anything it could not find stays empty rather than being guessed at. The model is OpenAI’s GPT-5: the small, fast gpt-5-nano for plain text, and the stronger gpt-5-mini when there is an image to look at, because reading a flyer is the harder job.
  3. 3You check, then send. A short preview shows what it read, marks any field it was unsure about in amber, and states in plain sentences anything it filled in for you. One tap adds it to your calendar.

What it can read

Text. A message from a friend, a copied caption, an email. “Drinks with Souki at Akbar 7pm” is enough.

A photo or screenshot. A club night flyer, a gig poster on a wall, a screenshot of a story. This is the common case, and the image is downscaled in your browser before it is sent.

A public Instagram link. Posts and reels. If Instagram will not show the post without logging in, XUsCalendar says so and offers to read a screenshot of it instead, which always works.

It cannot open other links. Paste a ticketing page or a news article and it will tell you so rather than pretend, because it genuinely cannot fetch them.

Google Calendar, Apple Calendar or Outlook

Add to Google Calendar opens Google with the event already filled in. You still press Save there, and it only helps if you use Google Calendar.

Download calendar file gives you a standard .ics file, which is what calendars everywhere understand. On an iPhone, opening it adds the event to Apple Calendar. The same file imports into Outlook, and into Google Calendar too.

Why it shows you the result first

Reading a flyer is genuinely ambiguous work. Doors at 10 and music at 11 is the classic trap, and a confidently wrong date in your calendar is worse than an obvious gap.

So the app never invents a detail: what it could not find stays empty, anything it worked out for you is written out as a sentence, and the fields it was least sure about are marked for you to glance at. Checking takes a moment and it is the whole point.

Under the hood

Reading
OpenAI GPT-5. gpt-5-nano reads plain text; gpt-5-mini reads anything with an image, because flyers are the harder job.
Output
A strict JSON schema. Anything the model can't find stays empty instead of being guessed.
Images
Downscaled in your browser before they're sent. Up to 20 slides in Translate.
Instagram
The server fetches the public post, then its slides from Instagram's own image servers. Nothing else is fetched.
Storage
None. No account, no database. Each request is handled in memory and discarded.
Logs
Token counts and the model name, to watch running costs. Never your words.
Limits
8 reads a minute in the app, plus a 10-per-minute edge rule, both counted per address.
Calendar
The Google Calendar link and the .ics file are built on your device.
Stack
Next.js, TypeScript and Zod, hosted on Vercel. Installable as an app.

Common questions

Is XUsCalendar free?
Yes, completely. There is no account, no subscription, no advertising and no paid tier.
Do I need to sign up?
No. There is no account and no sign-in. Open it, paste something, send it to your calendar, and leave.
Does it work with Apple Calendar?
Yes. Choose Download calendar file and you get a standard .ics file. On an iPhone, opening it adds the event to Apple Calendar. The same file imports into Outlook and into Google Calendar.
How do I turn a flyer into a calendar event?
Take a screenshot or a photo of the flyer, add it, and press Read the flyer. The AI reads the date, time and venue off the image, and you check the preview before sending it to your calendar.
Can I paste an Instagram link?
Yes, for public posts and reels. Paste the link as it comes. If Instagram will not show the post without a login, XUsCalendar says so and offers to read a screenshot of it instead.
Can it translate a post?
Yes. Choose Translate post at the top, then paste a public Instagram link, a caption, or screenshots of each slide in order. You get the post translated slide by slide, in the language you pick. If the post is an event, one tap turns it into a calendar event; if details are missing, you fill in the rest.
What happens to what I paste?
It is sent to OpenAI to be read, because that is the part doing the reading. XUsCalendar itself saves nothing: no account, no database, no history and no record of your events.
Why does it sometimes get the time wrong?
It is reading a flyer the way a person would, and flyers are ambiguous. Doors at 10 and music at 11 is the common trap. That is exactly why the preview shows you what it read and flags anything it was unsure about before you send it.

More on what happens to your data is on the privacy page.

Create a calendar event