Inspiration
Most B2B teams selling AI infrastructure waste 60-70% of their marketing budget targeting the wrong accounts at the wrong time. The problem isn't the targeting criteria — it's that a title and a headcount range tell you nothing about when a company is actually ready to buy. Meanwhile, the real signal is already public: a platform lead complaining that their Kubernetes bill tripled, an SRE venting about inference latency, a CTO with a budget deadline. That's not noise — that's a buying moment. We built Signalcraft to read it before anyone else does.
What it does
Signalcraft takes a raw buying signal — a pain point, a complaint, a comment from a technical community — and scores how ready that company is to buy right now, using four weighted dimensions:
ICP Fit (35%) — does the company profile match the target buyer Intent Strength (30%) — how much real pain is expressed Persona Authority (20%) — how senior/technical the speaker likely is Timing Urgency (15%) — explicit budget or deadline pressure
It returns a readiness score, a tier (Hot / Warm / Nurture), and a ready-to-use GTM strategy: messaging angle, recommended channel, suggested asset, and a "why now" rationale — then persists every scored signal to Cloud Firestore automatically.
How we built it
The agent is a single Python script using the Google GenAI SDK to call Gemini 3.5 Flash, prompted with the four-dimension scoring framework and instructed to return strict structured JSON. Each scored result is written to Cloud Firestore as a permanent, queryable record — no manual spreadsheet work, no lost context.
This project extends a scoring framework we originally validated at an earlier hackathon (a Reddit-signal buyer-intelligence tool built with a different stack). For this hackathon, we rebuilt the core scoring logic natively on Gemini and Google Cloud to meet the Taskmaster track requirements, keeping the part that mattered most — the four-dimension readiness framework — and replacing everything around it.
Challenges we ran into
Getting Firestore and the Gemini API talking correctly from Cloud Shell under real time pressure, including a database-name mismatch ((default) vs. a custom database ID) that needed a one-line fix Keeping the scope small enough to actually finish and demo live, while still proving every required piece of the stack (Gemini 3.5+, a Google framework, a GCP service) end to end Making sure the scoring output was structured and consistent enough to be immediately actionable, not just a wall of AI-generated text
Accomplishments that we're proud of
Built the first Google cloud terminal used agent, and it was so easy!
What we learned
That a good scoring framework is portable — the hard part of this project was never the model call, it was the four-dimension logic distinguishing a Hot lead from a Nurture one. Once that was right, swapping the underlying stack was straightforward.
What's next for SignalCraft
Live signal ingestion from Reddit, LinkedIn, and other public technical communities instead of manually supplied text Company enrichment (size, funding, tech stack) to strengthen the ICP Fit dimension automatically A lightweight dashboard on top of the Firestore data for revenue teams to triage scored signals by tier


Log in or sign up for Devpost to join the conversation.