aether.A
Convex Communityโ€ข2d agoโ€ข
1 reply
aether.

Convex + App Router API routes for uploads / AI โ€” bad practice?

Hey folks ๐Ÿ‘‹

Iโ€™m building a Next.js app using Convex for state + realtime, but Iโ€™m also keeping a separate app/api layer for stateless compute + integrations (UploadThing routes, AI SDK calls, webhooks).

Some of my AI logic needs system-specific stuff (Python workers, heavier compute, streaming, etc.), which feels like a better fit for Vercel/edge/server functions rather than Convex functions.

My current boundary is:

Convex โ†’ source of truth, mutations, queries, realtime sync

Next.js API routes โ†’ uploads, AI calls, external services, then calling Convex to persist results

From a Convex best-practices POV:
๐Ÿ‘‰ is this considered a bad practice, or a reasonable/expected hybrid setup?

Curious how others are drawing this boundary in real apps.
Was this page helpful?