← Back to work
AI Workflow / Event Data ReviewIBM SkillsBuild National Hackathon 2026 × Hacktiv8 · Submitted prototype

BeresEvent

Evidence before decisions

A Langflow prototype that checks registration and payment CSVs, traces discrepancies to source rows, and prepares neutral clarification drafts for event organizers.

Role

Solo builder

Outcome & status

Submitted to IBM SkillsBuild National Hackathon 2026 × Hacktiv8. One synthetic live baseline returned five review cases; the AI draft preserved all case IDs, participant IDs, codes and evidence. Seven local unit tests passed. Competition results and real-user impact are not claimed.

Overview

The problem to solve.

BeresEvent is a registration and payment review prototype submitted to IBM SkillsBuild National Hackathon 2026 × Hacktiv8. It combines deterministic discrepancy checks with SOP-grounded AI clarification drafts. The published evidence uses synthetic data; a working demo is separate from validated user benefit.

Problem

Before event day, organizers need to reconcile separate registration and payment records without treating missing or ambiguous data as proof of non-payment. The frequency and user impact of this problem still need field validation.

People

Campus event registration coordinators and treasurers

Decisions

Key decisions.

Use code for factual checks and a model for language. Keep ambiguous IDs unresolved until a person reviews them. The goal is a traceable review packet; improved review time remains a hypothesis.

Prototype limited to 500 records per CSV. Price inputs are not independently verified official policies. No bank verification, automatic participant decisions, refunds or message sending.

BeresEvent JSON audit with five cases and row evidence from synthetic CSV inputs.
Synthetic baseline: six registration rows, six payment rows and five review cases.
Implementation

What I built.

Defined the review workflow, built the Python audit component and Langflow integration, tested deterministic rules, and prepared synthetic fixtures, documentation and the hackathon submission.

  • Built CSV schema, ID, reference and integer-rupiah validation in a custom Python component.
  • Implemented discrepancy rules and versioned input price checks, case IDs, source-row evidence and a snapshot hash.
  • Connected two CSV readers, chat input, the audit component, a Google language model and two outputs in Langflow.
System architecture +

Seven nodes and six edges: two Read File nodes and Chat Input feed BeresEvent Audit; the audit report goes directly to Chat Output; a separate prompt feeds Language Model and the clarification Chat Output. Prices and SOP are text inputs to the audit component.

User flow +

Upload registration and payment CSVs → supply versioned prices and SOP → request an audit → compare deterministic JSON with AI drafts → manually review and decide the next action.

Explore the pipeline

01Read and validate CSV snapshots and input price rules.

Registration notes, findings and SOP enter the model prompt. Published fixtures and screenshots are synthetic; uploaded files and Playground history can persist locally.

02Produce factual review cases with source evidence in Python.

Produce factual review cases with source evidence in Python.

03Supply cases, registration notes and SOP as context to the language model.

Supply cases, registration notes and SOP as context to the language model.

04Display JSON and AI drafts separately for human review.

Strict CSV headers, required identifiers, integer-rupiah amounts, unique price categories and version labels. Audit code determines findings; the reviewer compares AI output against JSON.

Results

Results, with context.

The final synthetic baseline had six registration rows and six payment rows, five findings and five affected participant IDs. AI output retained CASE-001 through CASE-005 with matching codes and row evidence. This is one observed baseline, not a general accuracy or time-saving benchmark.

5

Baseline review cases

One synthetic dataset with 6 registration and 6 payment rows.

7

Local unit tests passed

Code-level validation; not seven live Langflow runs.

Lessons & next steps +
  • Missing snapshot data is not proof of non-payment.
  • Case count and affected participant count describe different things.
  • A correct demo does not establish demand, time savings or production readiness.
Technical details

Under the hood.

Technologies & features +

Langflow / Python / Google Gemini / CSV / unittest

  • Registration and payment CSV input validation
  • Duplicate registration, repeated payment and reference checks
  • Unmatched IDs, missing payment rows and amount mismatches
  • Versioned price-table checks and unknown ticket-category review
  • Case IDs, row evidence and deterministic JSON output
  • SOP-based explanations and neutral clarification drafts
Feature status & limitations +

Deterministic audit and evidence

working

Final baseline demonstrated in Langflow; local tests cover input validation and audit rules.

AI clarification drafts

prototype

Baseline case identifiers and evidence preserved; every draft still needs review.

Real-user impact

unvalidated

No user pilot, measured time savings or paying customers claimed.

AI system notes +

Provider / model

Google Gemini via Langflow; the final workflow screenshot records the selected model.

Data flow

Registration notes, findings and SOP enter the model prompt. Published fixtures and screenshots are synthetic; uploaded files and Playground history can persist locally.

Validation

Strict CSV headers, required identifiers, integer-rupiah amounts, unique price categories and version labels. Audit code determines findings; the reviewer compares AI output against JSON.

Failure handling

Malformed inputs stop the workflow with an error. Ambiguous matches remain unresolved; AI drafts never change source data or send messages.

Limitations

No automatic draft verifier, review-decision audit trail, production access controls or scheduled deletion. Prompt instructions alone do not guarantee resistance to all model errors.

Keep exploring.