
Hi there! I'm Farza, the guy that made Clicky. The existing codebase remains open source. Tinker with it, make it yours, start a company out of it, do whatever you want I don't mind. But, for all the new stuff I'm hacking on, gonna keep it private. To get the latest Clicky, you can go here. Go crazy with this repo!! It's an MIT license.
Update: April 27, 2026.
Hi there! I'm Farza, the guy that made Clicky.
The existing codebase remains open source. Tinker with it, make it yours, start a company out of it, do whatever you want I don't mind. But, for all the new stuff I'm hacking on, gonna keep it private. To get the latest Clicky, you can go here.
I also tweeted about this here.
Go crazy with this repo!! It's an MIT license.
It's an AI teacher that lives as a buddy next to your cursor. It can see your screen, talk to you, and even point at stuff. Kinda like having a real teacher next to you.
Download it here for free.
Here's the original tweet that kinda blew up for a demo for more context.

This is the open-source version of Clicky for those that want to hack on it, build their own features, or just see how it works under the hood.
The fastest way to get this running is with Claude Code.
Once you get Claude running, paste this:
Hi Claude.
Clone https://github.com/farzaa/clicky.git into my current directory.
Then read the CLAUDE.md. I want to get Clicky running locally on my Mac.
Help me set up everything — the Cloudflare Worker with my own API keys, the proxy URLs, and getting it building in Xcode. Walk me through it.
That's it. It'll clone the repo, read the docs, and walk you through the whole setup. Once you're running you can just keep talking to it — build features, fix bugs, whatever. Go crazy.
If you want to do it yourself, here's the deal.
The Worker is a tiny proxy that holds your API keys. The app talks to the Worker, the Worker talks to the APIs. This way your keys never ship in the app binary.
cd worker
npm install
Now add your secrets. Wrangler will prompt you to paste each one:
npx wrangler secret put ANTHROPIC_API_KEY
npx wrangler secret put ASSEMBLYAI_API_KEY
npx wrangler secret put ELEVENLABS_API_KEY
For the ElevenLabs voice ID, open wrangler.toml and set it there (it's not sensitive):
[vars]
ELEVENLABS_VOICE_ID = "your-voice-id-here"
Deploy it:
npx wrangler deploy
It'll give you a URL like https://your-worker-name.your-subdomain.workers.dev. Copy that.
If you want to test changes to the Worker without deploying:
cd worker
npx wrangler dev
This starts a local server (usually http://localhost:8787) that behaves exactly like the deployed Worker. You'll need to create a .dev.vars file in the worker/ directory with your keys:
ANTHROPIC_API_KEY=sk-ant-...
ASSEMBLYAI_API_KEY=...
ELEVENLABS_API_KEY=...
ELEVENLABS_VOICE_ID=...
Then update the proxy URLs in the Swift code to point to http://localhost:8787 instead of the deployed Worker URL while developing. Grep for clicky-proxy to find them all.
The app has the Worker URL hardcoded in a few places. Search for your-worker-name.your-subdomain.workers.dev and replace it with your Worker URL:
grep -r "clicky-proxy" leanring-buddy/
You'll find it in:
CompanionManager.swift — Claude chat + ElevenLabs TTSAssemblyAIStreamingTranscriptionProvider.swift — AssemblyAI token endpointopen leanring-buddy.xcodeproj
In Xcode:
leanring-buddy scheme (yes, the typo is intentional, long story)The app will appear in your menu bar (not the dock). Click the icon to open the panel, grant the permissions it asks for, and you're good.
If you want the full technical breakdown, read CLAUDE.md. But here's the short version:
Menu bar app (no dock icon) with two NSPanel windows — one for the control panel dropdown, one for the full-screen transparent cursor overlay. Push-to-talk streams audio over a websocket to AssemblyAI, sends the transcript + screenshot to Claude via streaming SSE, and plays the response through ElevenLabs TTS. Claude can embed [POINT:x,y:label:screenN] tags in its responses to make the cursor fly to specific UI elements across multiple monitors. All three APIs are proxied through a Cloudflare Worker.
leanring-buddy/ # Swift source (yes, the typo stays)
CompanionManager.swift # Central state machine
CompanionPanelView.swift # Menu bar panel UI
ClaudeAPI.swift # Claude streaming client
ElevenLabsTTSClient.swift # Text-to-speech playback
OverlayWindow.swift # Blue cursor overlay
AssemblyAI*.swift # Real-time transcription
BuddyDictation*.swift # Push-to-talk pipeline
worker/ # Cloudflare Worker proxy
src/index.ts # Three routes: /chat, /tts, /transcribe-token
CLAUDE.md # Full architecture doc (agents read this)
PRs welcome. If you're using Claude Code, it already knows the codebase — just tell it what you want to build and point it at CLAUDE.md.
Got feedback? DM me on X @farzatv.
Clicky Just Changed How We Use Computers Forever! (Tutorial)
Samin Yasar · 16K views
Using the Open-Source AI Teacher 'Clicky' with QGIS
Spatial Thoughts · 4K views
Clicky is Special...
Cmd+AI · 3K views
“@timr: > Well, first off, you're just shifting the goalposts and redefining what it means to "program" to suit your needs: it's inconvenient for your argument that there's now software that does what programmers used to …”
“"It hasn't required a programmer to build a website in many years now - HTML and CSS were declarative to begin with. It's only with the advent of CMS's - which are definitely NOT all automated (i.e. Joomla or WordPress) …”
“Rank ordered by amount spent: AdWords (I spend more than everything else on this list, doubled.) SwiftCD (outsourced CD fulfillment) Paypal / Google Checkout Slicehost Microsoft AdCenter CrazyEgg Clicky (getclicky.com)”
“I strongly agree with this. Cherry browns don't have very much tactility to them. Cherry clears add tactility, but IMO the springs are too heavy; the Matias ones sit right in between these two. Matias also has a higher a…”
“'Clicky' Is a macOS Companion That Can Help You With Just About Anything - Lifehacker — Lifehacker”
“The 5 Best Clicky Mechanical Switches of 2026 - RTINGS.com — RTINGS.com”
“Retro Arcade Coin Slot Clicky Button Fidget AMS #3DThursday #3DPrinting - Adafruit — Adafruit”
Mobile
Pixel-perfect skeleton loading screens, extracted from your real UI. No manual measurement, no hand-tuned placeholders. Works with React, Preact, Vue, Svelte 5, Angular, and React Native. import { Skeleton } from 'boneyard-js/react'
Mobile
Website: whatcable.uk (overview, screenshots, and CLI docs) A small macOS menu bar app that tells you, in plain English, what each USB-C cable plugged into your Mac can actually do, and why your Mac might be charging slowly. USB-C hides a lot under one connector. Anything from a USB 2.0 charge-only cable to a 240W / 40 Gbps Thunderbolt 4 cable, all looking identical in your drawer. macOS already exposes the relevant info via IOKit; WhatCable surfaces it as a friendly menu bar popover.
Mobile
Production-grade React Native ink primitives extracted from the MathNotes canvas. @mathnotes/mobile-ink is an iOS-first native drawing engine for React Native apps. It gives you Apple Pencil input, Skia/Metal rendering, stroke serialization, selection, zoom, momentum scrolling, and a continuous notebook surface backed by a fixed native engine pool. Mobile Ink is young, but the goal is serious: make high-quality mobile ink available to every React Native team that needs it. If you try the package, report a bug, improve docs, test it on a real device, suggest an API shape, or think through a native rendering problem with us, thank you. Notes-app canvases are full of sharp edges, and thoughtful feedback from people building real apps is one of
Mobile
A handwriting-first notebook for Android, built for pen and stylus Both channels ship the same signed APK. F-Droid rebuilds from source and verifies it against the GitHub release, so you can switch between them without reinstalling. Requires JDK 17 (the project pins Java 17):