# Mesrop's Team

- **Event:** [Built with Claude: Life Sciences](https://cerebralvalley.ai/e/built-with-claude-life-sciences)
- **When:** Jul 7 at 12:00 PM – Jul 14 at 12:00 AM (EDT)
- **Where:** Online
- **Team:** [Mesrop Tarkhanyan](https://cerebralvalley.ai/u/mesrop)
- **GitHub:** https://github.com/mesropt/data-ingestor
- **Demo video:** https://youtu.be/i21eV0Uj5Lk
- **Gallery:** https://cerebralvalley.ai/e/built-with-claude-life-sciences/hackathon/gallery
- **Page:** https://cerebralvalley.ai/e/built-with-claude-life-sciences/hackathon/gallery/231

Data Ingestor turns the hours a data curator spends hand-reformatting every CRO's differently-shaped Excel/CSV into a one-click review.

The pain I keep meeting at the scientists I work with: the ingest parser is hardcoded to one vendor. Each new vendor needs its own bespoke parser, and when a vendor quietly changes its Excel, last quarter's parser breaks. Maintaining that pile is the real cost.

Data Ingestor has no per-vendor code. You declare the fields you need; Claude judges the file's structure — where the table actually starts, whether a sheet is row-per-record or key-value — and proposes a column mapping with honest per-field confidence and a plain-English reason for each pick. Anything uncertain is flagged yellow, never silently guessed. Nothing is saved until a human clears every field.

The design rule: Claude judges, Python reads. The model may see a bounded sample in order to judge, but every exported value is read from the file by deterministic code; a no-LLM validator re-checks it against your declared constraints.

Beyond a wrapper: a learning loop (a repeat file from the same lab auto-maps at full confidence with zero Claude calls), a canonical schema + vendor-alias crosswalk with provenance, and a headers-only privacy mode.

---

Markdown version of https://cerebralvalley.ai/e/built-with-claude-life-sciences/hackathon/gallery/231. Site index for agents: https://cerebralvalley.ai/llms.txt · full text: https://cerebralvalley.ai/llms-full.txt
