Ian Macartney
@ianmacartney
friendly engineer. works at https://convex.dev former infra lead for previews @ Dropbox 🦋 https://bsky.app/profile/ianmacartney.bsky.social
Rate limiting LLM chat per-user with `useRateLimit` const { status } = useRateLimit(api.rl.getRateLimit) Full code in 🧵 Algorithms: Sending messages: fixed window Token usage: token bucket courtesy of @convex-dev/rate-limiter + @convex-dev/agent (components)
5 different package releases in 5 hours. Alphas are great for shipping fast

UI nit from iOS days: Activity indicators with linear rotation vs. steps ❌ animation: 1s linear infinite spin ✅ animation: 1s steps(10) infinite spin
That was a doozy! Docs and examples galore, will share more soon github.com/get-convex/age…
The Agent Component can now manage files sent to / generated by your LLM call. Via Convex storage, tracking refcounts via sha256 hash, w/ vacuuming controls, etc.