Buenos Aires Event Search Built on Real Local Data

Turns scattered Buenos Aires event listings into one search experience for finding plans by mood, neighborhood, and time.

Buenos Aires Event Search Built on Real Local Data project visual

Finding a plan should not require six different sources

Buenos Aires event listings are scattered across social posts, ticketing sites, venue pages, and group chats. The details change often, and each source describes events differently.

BA Eventos is an independent product I own and operate as its AI Product Engineer. I built the SvelteKit interface, event ingestion, search tools, and conversational workflows so someone can ask for a plan by mood, neighborhood, or time and get options from one cleaned catalog.

Clean the catalog before adding AI

Treat event discovery as a data problem first.

Imports had to be normalized, venues matched, and descriptions improved before search could return useful results.

Use AI to understand the question, not invent the answer.

Semantic retrieval handles descriptive requests such as “romantic jazz in Palermo”; keyword retrieval preserves exact names. Both retrieval paths apply the same venue, date, neighborhood, and category constraints before their rankings are combined. Resolvable requirements belong in structured filters instead of being left to similarity alone.

Keeping follow-up questions attached to the right events

A question such as “where is the second one?” depends on what the person actually saw. I retain event identifiers and display positions from prior responses, then reload the corresponding facts from the catalog. Missing or withdrawn records are excluded without silently renumbering the remaining references.

Saved-event membership comes from the authenticated account rather than a client-supplied marker. For guests or an unavailable membership lookup, saved status stays unknown. These boundaries keep the model’s conversation context separate from authoritative event and account state.

I built regression evaluations to check that recommendations stayed grounded in the event catalog and follow-up questions referred to the right events. Tests cover invalid references, changed catalog records, and descriptions that do not support a requested criterion. They check specific failure cases rather than establish an overall model-accuracy rate.

A streaming conversation that survives navigation

The SvelteKit chat streams responses, saves conversations, and handles retry and recovery states. Opening an event detail page preserves the conversation and scroll position, so someone can inspect a venue or ticket link and return to the same shortlist.

The interface uses event cards and detail views for practical decisions, while the assistant handles the conversational request. Keeping these structured surfaces together means the user can inspect an actual event instead of relying only on generated prose.

Reducing browser acquisition work without dropping source data

Some event sources need a browser to pass challenges; others can use HTTP or Cloudflare Browser Rendering. I kept Browserbase for protected Passline reads, restricted proxying to the required domains, and blocked unnecessary images, fonts, media, and trackers. A thin detail read has one standard-profile retry when needed.

Completed source observations are reused during retries of the same import run, and browser sessions close before database and AI processing. That avoids repeating a paid browser read just because a later processing stage failed. Fresh daily catalog reads remain separate from retry reuse.

Together with acquisition changes in Casamo, this brought combined Browserbase usage within the plan allowance.

From a vague idea to a useful shortlist

People can type or dictate a question, or begin with Tonight, This Weekend, or Surprise me. The same search works whether the request starts with a genre, a neighborhood, a date, or a mood.

A live product built on real local records

The visible search is only one part of BA Eventos. Imports, venue matching, cleanup, and search support a natural-language answer grounded in catalog records. Catalog coverage and recommendation quality still depend on the source data and retrieval results.

01

Six sources feed one searchable catalog.

An earlier catalog snapshot contained 9,200+ event records, 1,250+ upcoming events, and 1,500+ venues; these are historical inventory counts.

02

Recommendations use catalog records.

Hybrid retrieval and structured filters supply candidate events. Regression evaluations check grounding and references in conversational follow-ups.

03

The data can improve without rebuilding the product.

Automated imports and data-quality tools support venue matching, description enrichment, and record cleanup behind the public search.

04

A plan starts with one tap or one sentence.

Voice dictation and shortcuts for Tonight, This Weekend, and Surprise me reduce the work needed to begin a search.

A search result becomes a plan

Each event page brings the practical details together: artwork, date, venue, price, description, and a ticket link.

BA Eventos event page showing artwork, date, venue, price, description, and ticket link.

Need an engineer who can work directly with your clients?

I work with clients on discovery, scope, implementation, and handoff. Available for fully remote roles and contracts.