But gotchas don't seem worth it anymore
• Breaks try/catch/finally expectations
• Loses stack trace context
My default is now to always await. Change my mind.
But gotchas don't seem worth it anymore
• Breaks try/catch/finally expectations
• Loses stack trace context
My default is now to always await. Change my mind.
stack.convex.dev/authorization
stack.convex.dev/authorization
www.youtube.com/watch?v=YM9n...
www.youtube.com/watch?v=YM9n...
-> docs.convex.dev/agents
Odd coincidence that there's ~2300 lines of documentation & ~2300 lines of example code 🤔
...maybe more surprising there's fewer lines of React?
@convex-dev/agent
-> docs.convex.dev/agents
Odd coincidence that there's ~2300 lines of documentation & ~2300 lines of example code 🤔
...maybe more surprising there's fewer lines of React?
@convex-dev/agent
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)
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)
• Agentic := prompting + routing
• Prompting is input -> LLM -> output
• Routing has code at every boundary
(...even if an LLM "decides" what to do next)
Full 📺🔗->🧵
• Agentic := prompting + routing
• Prompting is input -> LLM -> output
• Routing has code at every boundary
(...even if an LLM "decides" what to do next)
Full 📺🔗->🧵
Agent v0.2.1 is out! Repo & release notes in 🧵
- Streaming text react hook + server fns
- Client-side smoothing hook
- Optimistic update helpers
Agent v0.2.1 is out! Repo & release notes in 🧵
- Streaming text react hook + server fns
- Client-side smoothing hook
- Optimistic update helpers
youtu.be/SxdOUGdseq4?...
youtu.be/SxdOUGdseq4?...
Investigate threads, messages, tool calls
Dial in context params
Iterate on prompting, etc.
For the @convex-dev/agent component.
Links in 🧵
Investigate threads, messages, tool calls
Dial in context params
Iterate on prompting, etc.
For the @convex-dev/agent component.
Links in 🧵
Last night I figured out a way to prioritize some embeddings over others using a "bias" feature 🧵
Last night I figured out a way to prioritize some embeddings over others using a "bias" feature 🧵
It's open source and the code is remarkably simple, if you're looking for an example for yourself.
It's open source and the code is remarkably simple, if you're looking for an example for yourself.
🪨Durable Workflows🪨: Orchestrate steps async with retries, checkpointing and more, using Inngest-style syntax
🤖 Agent Framework 🤖: Define agents and use threaded memory (can hand off between agents), with hybrid text/vector search.
🧵
🪨Durable Workflows🪨: Orchestrate steps async with retries, checkpointing and more, using Inngest-style syntax
🤖 Agent Framework 🤖: Define agents and use threaded memory (can hand off between agents), with hybrid text/vector search.
🧵
I reimplemented Mastra workflows in Convex last week and I regret it. Article in 🧵
I reimplemented Mastra workflows in Convex last week and I regret it. Article in 🧵
This one is me when I'm too deep in a project that's gone off the rails, complete with alt text.
Should I ship it or make a "better" version to make it "more professional"?
This one is me when I'm too deep in a project that's gone off the rails, complete with alt text.
Should I ship it or make a "better" version to make it "more professional"?
Maybe they should also know better :P
Maybe they should also know better :P
mental blip when I first posted this.
The reality is that while everyone's talking about how cool their app is in the happy path, actually handling failure is near impossible when you're using leaky abstractions.
Details in 🧵, but tl;dr:
1️⃣ Isolate unreliable steps to safely retry
2️⃣ Model LLMs as ~idempotent & ~deterministic
3️⃣ Run asynchronously, subscribe to results
Bonus: I made a thing
mental blip when I first posted this.
The reality is that while everyone's talking about how cool their app is in the happy path, actually handling failure is near impossible when you're using leaky abstractions.
Details in 🧵, but tl;dr:
1️⃣ Isolate unreliable steps to safely retry
2️⃣ Model LLMs as ~idempotent & ~deterministic
3️⃣ Run asynchronously, subscribe to results
Bonus: I made a thing
Details in 🧵, but tl;dr:
1️⃣ Isolate unreliable steps to safely retry
2️⃣ Model LLMs as ~idempotent & ~deterministic
3️⃣ Run asynchronously, subscribe to results
Bonus: I made a thing
Anyone interested in an alpha I made over the last week? Based on the architecture diagram I shared.
It uses my durable Workpool component to execute them with parallelism limits, retries, etc.
(Open Source)
Anyone interested in an alpha I made over the last week? Based on the architecture diagram I shared.
It uses my durable Workpool component to execute them with parallelism limits, retries, etc.
(Open Source)
with @convex.dev so I made a demo last night.
- realtime syncing flow chart
- authorize reads and writes
- validation of custom data payloads
- optimistic updates for UX 🧑🍳💋
I'm proud of it, and thanks Tiago for the help!
github.com/ianmacartney...
with @convex.dev so I made a demo last night.
- realtime syncing flow chart
- authorize reads and writes
- validation of custom data payloads
- optimistic updates for UX 🧑🍳💋
I'm proud of it, and thanks Tiago for the help!
github.com/ianmacartney...
- durable execution w/ onComplete handler
- limit parallelism to be a nice neighbor
- configure retries (w/ backoff, jitter, max attempts)
- backlog & lag monitoring
v0.2.1 out now
www.convex.dev/components/w...
- durable execution w/ onComplete handler
- limit parallelism to be a nice neighbor
- configure retries (w/ backoff, jitter, max attempts)
- backlog & lag monitoring
v0.2.1 out now
www.convex.dev/components/w...
What deserves my attention?
What deserves my attention?
Drag your files onto the site
Drag them off on another computer
git clone github.com/mikecann/our...
cd ourfiles/
docker compose up
open localhost:5173
by
@mikeysee
video in 🧵
Drag your files onto the site
Drag them off on another computer
git clone github.com/mikecann/our...
cd ourfiles/
docker compose up
open localhost:5173
by
@mikeysee
video in 🧵
Really grateful that we met through @kentcdodds.com's #EpicWebCamp.
So obviously I had to try it out on Fly.io (spoiler, it was awesome)
www.youtube.com/watch?v=YPCg...
Really grateful that we met through @kentcdodds.com's #EpicWebCamp.
including running the dashboard.
npx degit get-convex/convex-backend/self-hosted/fly fly && cd fly/backend && fly launch
Dockerfiles, images, binaries @flydotio and more.
Check it out 🧵
including running the dashboard.
npx degit get-convex/convex-backend/self-hosted/fly fly && cd fly/backend && fly launch
Dockerfiles, images, binaries @flydotio and more.
Check it out 🧵