Project Info
Inspiration
Most people quit something or never start, depending on where friction lives in their lives. If a product makes their skin worse for 3 days, they panic, they switch products, or buy into the hype from social media paranoia. Uncomfortable doesn't just block quick pivots; it explains biologically why the discomfort is expected and when it will resolve. The user sees a peer-reviewed research paper linked in-app showing "your skin typically purges on days 5-7 of retinol, you're on day 4, here's what that looks like in the research." This directly solves a real human problem (impatience + fear of failure) with an insight-first design.
What it does
The anxious generation explores less, aims to avoid any and every feeling of discomfort, and sets up an impossible standard of never slipping. So, when discomfort hits, they interpret it as failure. I built an agent-driven experiment engine that blocks unsafe choices, explains why discomfort is expected, and helps contextualize their concerns with data. It is aimed at helping people experiment and enjoy making sense of the world around them, while taking advantage of an engine rooted in the scientific method of hypothesis building, variable (independent, dependent, control) scoping, and timed trials.
How we built it
When the user starts an experiment, they get to set their hypothesis, variables (independent, dependent), and the time duration of tracking this. Compiling this into a protocol happens dynamically using Claude by creating high-signal JSON objects from a raw transcript. This forms the Protocol Compiler. Deterministic Validation Engine maps incompatibilities and thresholds using a list for structured output. Reasoning is done by a Research Committee, where we have Research, a De-escalator, and an Arbiter agent. Compaction Agent keeps milestones and recent logs raw, summarizes older prose, and preserves all structured metrics exactly. An A/B harness runs the arbiter on both full and compressed context and asserts the verdict is unchanged. On completion, non-milestone logs are purged (milestones survive); on delete, all Redis keys are removed atomically. All the agents are ten chained and orchestrated by a Master agent. Challenges I ran into Structuring LLM outputs is hard. I used the Instructor library to type-check LLM outputs and enforce JSON schema. It took me some time to realize I was using a deprecated method, which kept returning empty responses despite being syntactically correct. Lots of un-triggered UI calls. Issues with the separation of concerns for agents and constantly chaining agents in a manner that would reset the running context window.
What we learned
Everything outside of Python and Flask was new for me.
What's next
I want to add stricter enforcement for experimentation by reducing the time to get an LLM response. Also thinking of a way to visualize milestones and not just all daily logs.
Analysis
View
Metric
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- HTMLIn code
- PythonIn code
- CSSClaimed
- FlaskClaimed
- Google GeminiClaimed
- JavaScriptClaimed
- RedisClaimed
2 of 7 appear in the indexed code. 5 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
110 KB
Source files
13
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
yashishandilya/cal-hacks-26
21 files · 111 KB · @ 4eaae3f
Structure
Interface
1 file · 5%Screens, components and styles rendered to the user.
Application logic
18 files · 86%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python50%
- HTML50%
- Markdown0%
Share of indexed source by file size. Binary and vendored files are excluded.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.