AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
A toolbox for building event publish & discovery web sites, apps, feeds, and more
Developer toolsTypeScript · JavaScriptGitHub @robertoranonSelf-installOwner unconfirmed
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Installable projects can be verified without a deployment domain. Use GitHub sign-in for a personal repository, or the repository verification file above for an organization repository.
Ask about other verification options
Loading the full README. The saved excerpt is shown below.
Finding out what's on near you is weirdly broken: events are scattered across dozens of sites, buried in social feeds, or locked behind logins. There's no common layer you can just query.
This is my attempt to build one — open source, self-hosted, LLM-powered.
Live demo of my instance: https://tokoro-query.pages.dev/.
If you want to test event extraction tools, contact me for an API key.Read the full README ↗Finding out what's on near you is weirdly broken: events are scattered across dozens of sites, buried in social feeds, or locked behind logins. There's no common layer you can just query. This is my attempt to build one — open source, self-hosted, LLM-powered.
Live demo of my instance: https://tokoro-query.pages.dev/.
If you want to test event extraction tools, contact me for an API key.
Tokoro is a thin, collaborative event calendar layer on top of the web. Not a replacement for Eventbrite or Resident Advisor — instead, a way for curators to harvest events from those sites and pool them into a shared geo-located calendar anyone can query.
Example: Imagine a loose network of jazz fans spread across a country. One of them lands on a label's tour page listing a dozen dates across different cities. Rather than manually copying each one, they use one of the browser tools to point the LLM at the page — it reads whatever structure the page happens to use, extracts all the events at once with their dates, locations, and categories, and presents them for a quick review. One click to publish, and all twelve gigs are in the shared calendar, signed under their key. Adding ten events takes the same effort as adding one.
Each event is stored with its coordinates. A friend planning a trip to London for a week in July opens the web interface, sets a location and radius around where they'll be staying, picks a date range, and instantly sees everything the group has curated there — concerts, club nights, pop-ups — sorted by date. No algorithm, no feed to scroll.
Events are queryable through a simple API. Point it at a location, a radius, and a time interval, and you get back a list of events — ready to power a mobile app, a newsletter, a Telegram bot, or any other tool you want to build on top.
┌───────────────────────────────────────────────────────────┐
│ Client tools │
│ Chrome Ext · Bookmarklet · Apple Shortcut · Telegram Bot │
└──────┬──────────────────────────────┬─────────────────────┘
│ POST /crawl │ POST /events (signed)
┌───────────▼──────────────┐ │
│ Crawler Worker │ │
│ Fetch → LLM extract ├───────────────┘
│ → PreparedEvent[] │ bot signs & publishes via service binding
│ POST /telegram (bot) │
└──────────────────────────┘
│
┌──────────────────────────▼────────────────────┐
│ Worker API │
│ Events · Stars · Follows · Feed · Discover │
│ Cloudflare Workers + D1 │
└──────────────────┬────────────────────────────┘
│ GET /events
┌──────────────────▼────────────────────────────┐
│ Public Web / Your App │
│ Query by location, time, category, tags │
└───────────────────────────────────────────────┘
| Component | What it does |
|---|---|
| Worker | Cloudflare Worker + D1 backend — events, stars, follows, recommendations |
| Crawler Worker | Serverless LLM crawler — extract events (unsigned) from any URL or image |
| Node.js Crawler | Local CLI crawler — Playwright/Jina fetching, direct/discover/festival/image modes |
| Chrome Extension | One-click crawl from the browser toolbar or right-click menu |
| Apple Shortcut | iOS Share Sheet integration — extract and publish events from Safari on iPhone |
| Bookmarklet | Same capability in any browser, no extension install needed |
| Telegram Bot | Send a URL or image to extract and publish events; query the calendar with /events in Milan next weekend |
| Web Publisher | Static HTML form for manually composing and publishing events |
| Public Web | Example event browser — query by location, date, category; embeds the bookmarklet; festival radar and band-tours pages |
Members: My bands and My festivals. The band-tours page (tours.html) and the festival radar (festivals.html) are public. In addition, the admin can give a small group of people a personal link (created in the Admin Panel's Members tab). Opening it once lets that person follow bands and festivals (♡), switch the pages to "My bands" / "My festivals", suggest new bands and festivals, and get Telegram alerts for them. The admin reviews suggestions in the Suggestions tab, adds bands with bands-scout and festivals by pasting entries into festivals.yaml (see HOW-TO-USE). Members cannot publish events.
| Admin Panel | Static HTML moderation UI — browse and delete events with admin key auth; manages tours members and reviews their band suggestions |