Malay-dev 打造 Clutch,以本地 Gemma 3 篩選社羣活動並同步至 Google Calendar
The Ticket Sold Out While I Was Lazyinhh... So I Built Clutch.
Malay-dev 打造 Clutch,以本地 Gemma 3 為社羣活動評分,並將符合興趣的項目加入 Google Calendar。它監察 Discord、Luma、KonfHub、Hacktoberfest 和 RSS 共 5 個來源,涵蓋 330+ 個活動,並按截止時間以日曆顏色由藍轉橙再轉紅;過期活動會自動刪除。
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
I missed GDG DevFest Bengaluru by one day. The announcement sat unread in my Discord (cause too much clutter and procrastination on reading all those) while the last ticket sold.
I don't need more notifications. I need something that knows what I can't afford to miss.
Clutch watches your communities — Discord, Luma, KonfHub, Hacktoberfest, RSS - scores every event against your interests using Gemma 3 locally, and puts only what matters on your Google Calendar with colors that escalate as deadlines approach.
330+ events. 5 sources. One calendar || feed || any form factor.
Gemma knows the difference
Profile: AI/ML, open source, hackathons, robotics, Bengaluru
[HIGH ] 0.79 Build Agents with Omega (Bengaluru)
[HIGH ] 0.77 Physical AI Demo Night (Bengaluru)
[HIGH ] 0.76 Hacktober Hack (Bengaluru)
[INFO ] 0.19 10 Tips for CSS Grid Layouts
[INFO ] 0.05 Flower Bouquet Out Of Pipecleaners
[INFO ] 0.05 Social dynamics of toxic metal in medieval Europe
A flower bouquet workshop never even reaches the model. Pre-filter catches it.
Calendar does the nagging
Google Calendar's native colors. No emojis. Time drives the escalation.
| Time left | Color | Suffix |
|---|---|---|
| >7 days | Blue | — |
| 3-7 days | Orange | [5d left] |
| <3 days | Red | [TOMORROW] |
| Past | gone | auto-deleted |
The pipeline
Connectors
| Source | Events | Auth |
|---|---|---|
| Luma | 90 | None |
| KonfHub | 128 | None |
| Hacktoberfest | 80 | None |
| RSS | 32 | None |
| Discord | varies | Bot token |
Every connector is a standalone pip package.
pip installand Clutch discovers it. We want the community to add Telegram, Slack, GitHub, Meetup — any source where opportunities hide in noise.
Escalation in action
The radar
Temporal workflow
Code
Clutch
The AI that won't let you miss what matters.
Clutch is a local-first AI agent that monitors your communities — Discord, Luma, KonfHub, Hacktoberfest, RSS — scores every event against your interest profile using Gemma 3, and puts what matters on your Google Calendar with escalating color-coded reminders.
How It Works
5 Connectors (330+ events)
-> Pre-filter (keyword match, drops obvious noise)
-> Gemma 3 scoring (interest, urgency, scarcity, impact)
-> Google Calendar (time-based color escalation)
-> Temporal (durable 4h cycle, survives restarts)
Events start blue on your calendar. As deadlines approach, they turn orange, then red. Past events are auto-deleted. You never configure this — time does it.
Quick Start
# Prerequisites: Python 3.12+, Ollama with gemma3:4b, Podman (optional) ollama pull gemma3:4b # Clone and install git clone https://github.com/Malay-dev/clutch.git cd clutch uv venv && source .venv/bin/activate uv pip install -e ".[dev]" uv pip install -e connectors/rss
…
How I Built It
Gemma 3 4B via Ollama — local inference, no cloud. Four-dimension scoring (interest, urgency, scarcity, impact) as structured JSON. Batch mode, 5 events per LLM call. Pre-filter drops noise before the model sees anything.
The prompt does the heavy lifting — it checks attending eligibility (same city? online? worth traveling?), penalizes expired events, and scores conservatively. Most things are noise. Only what you can realistically act on gets through.
Scoring guide baked into the prompt:
- Generic blog post: 0.1-0.2
- Hackathon in your city matching interests: 0.8+
- Great topic but wrong city: 0.2-0.4 (unless online)
- Online workshop matching interests: 0.6-0.8
- Expired event: urgency 0.0 regardless of topic
Temporal — 6-activity durable workflow. Connectors fetch in parallel. If one fails, the rest proceed. 4-hour durable timer survives restarts. Every activity visible in the Temporal UI. - Durable code, best observability, native OSS
Google Calendar API — native color IDs, time-based escalation, triple dedup (in-memory + SQLite + Calendar-side), capped at 10 active events. (Google here, but any calendar app with API support could be used)
pgvector (Tiger Data) — Temporal persistence backend + future interest graph. - all in one
Podman — full stack in containers. Ollama native on host for GPU.
Your interest profile is a YAML file. Your data stays on your machine. The model runs on your hardware. That's the whole point.
Why Does Open Innovation Matter?
Clutch monitors your Discord messages, your event feeds, your community channels. That is attention data. With Gemma running locally, none of it leaves your machine.
A closed API would mean every community message gets shipped somewhere you don't control. Open weight means offline, on a plane, behind a firewall. Swap the model whenever — Gemma today, Llama tomorrow.
The Lazy Payoff
Before: 6 Discord servers, 3 Telegram groups, Luma, KonfHub, RSS. Checked manually. Usually too late.
After: I check my calendar.
I used Clutch this week to track this hackathon's own deadline. It worked.
Ship your own
Here's the thing — don't run this on your MacBook while you work. Deploy it on a Raspberry Pi, an old laptop, any machine gathering dust. Let it run 24/7 as your personal attention server. Gemma runs slow on a Pi — ~30s per event instead of 4. But for a 4-hour cycle, that's fine. Slow and steady is literally the point.
We move fast. The tech world moves faster. Conferences sell out. CFPs close quietly. Hackathon deadlines pass while you're "going to get to it."
Don't just read about it. Deploy it. Level up.
Set it up once. Forget about it. Your calendar fills itself with what matters. Opportunities stop slipping through the cracks while you're busy shipping code or, you know, lazying.
Prize Categories
Gemma — Core scoring engine. Local inference, batch mode, structured output. 100+ events per cycle on consumer hardware. #Gemma
Temporal — 6-activity workflow. Parallel fetches, retries, durable timers, full UI observability. #Temporal
Tiger Data — pgvector as Temporal backend and interest graph store. #Tiger
來源:DEV Community · dev.to





