Ricardo Gonzalez
90d · built 2026-09-30
Performance
What Ricardo Gonzalez shipped in the selected window, measured in ETV, and how it compares with the 90 days before it.
Effective capacity
−0.5engineers
delivers like 0.5 (0.5x pre-AI)
Output (ETV)
3.1ETV
−74.4% vs 12.1 prior
Features share
40.6%
−3.5 pp vs prior window
Fixes share
2.9%
−3.1 pp vs prior window
Work mix
40.6% Features10.3% Maintenance41.6% Tests4.5% Docs2.9% Fixes
9 commits over 90 days, ending 2026-09-30.
Daily performance
Daily ETV, stacked by Features, Maintenance, Tests, Docs and Fixes.
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
Most impactful commits
Top 10 by ETV in the last 90 days.
- 1.0ETV[python] pyproject.toml subscribers vc dev (#16728) Adds `vc dev` support for running subscribers defined in `pyproject.toml` as sidecars to the main builder so a FastAPI app with Celery workers runs the full enqueue -> broker -> worker loop locally with a single vc dev. ```toml [tool.vercel] entrypoint = "main:app" # FastAPI [tool.vercel.subscribers.celery-worker] entrypoint = "worker:app" # Celery topics = ["celery"] ``` **How** * New optional builder hook getDevSidecars() in @vercel/build-utils; @vercel/python implements it by parsing `[[tool.vercel.subscribers]]` * The CLI runs sidecars through a dedicated ServicesOrchestrator + the existing dev QueueBroker * App and subscribers share one managed .venv per workspace; concurrent startups dedupe venv creation and installs --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>github.com-vercel-vercel · 7b30856a · 2026-07-08
- 0.7ETVconfigurable routing middleware in `vercel.json` (#17215) Enables configuration of routing middleware through `proxy` in `vercel.json`: ```json { "proxy": { "entrypoint": "proxy.ts" } } ``` ```javascript export default function proxy(request) { return new Response('proxy'); } ``` Explicitly configured `proxy` overrides the default `middleware.ts` builder. It also uses the nodejs runtime as opposed to implicitly built `middleware.ts` which defaults to the edge runtimegithub.com-vercel-vercel · 45025201 · 2026-07-24
- 0.5ETV[python] support declaring workflows in `pyproject.toml` (#16983) Adds support for declaring workflows in `[[tool.vercel.workflows]]` in `pyproject.toml` ```toml [[tool.vercel.workflows]] entrypoint = "flows:wf" ``` **Note:** We currently only support a single workflow entrypoint. This is because we don't yet have a way to namespace workflows into different topics: see https://github.com/vercel/vercel-py/pull/162github.com-vercel-vercel · 9637ae6a · 2026-07-10
- 0.4ETV[services] compose `pyproject.toml` subscribers into `services` (#16977) Add support for composing subscriber services defined in `pyproject.toml` into a `services` build: ```toml # FastAPI [tool.vercel] entrypoint = "main:app" # Celery [[tool.vercel.subscribers]] entrypoint = "worker:app" topics = ["a"] ``` ```json { "services": { "frontend": { ... }, "backend": { // produces both FastAPI and Celery "root": "backend/", "entrypoint": "pyproject.toml" } } } ```github.com-vercel-vercel · 7bbfd48b · 2026-07-11
- 0.2ETV[python] apply request path transforms (#17212) Currently rewrites for python are no-ops since they only modify the path that Vercel matches at the proxy layer, not the request path actually seen by the user code This means the following currently has no effect, user code still sees `/old` ```json { "rewrites": [ { "source": "/old", "destination": "/new" } ] } ``` This PR fixes this issue by adding a `request.path` transform to the emitted catch all lambda for python frameworks, which sets the request path seen by user code to the path ```json { "src": "/(.*)", "dest": "/index", "transforms": [ { "type": "request.path", "op": "set", "args": "/$1" } ] } ```github.com-vercel-vercel · ae12b018 · 2026-07-23
- 0.1ETV[python] fail hard on unresolvable entrypoint (#16976) Currently, if we fail to resolve an entrypoint from `tool.vercel.entrypoint` in `pyproject.toml`, we fall back to searching the default list. We should instead be failing loudly when you configure an entrypoint that does not exist ```toml [tool.vercel] entrypoint = "bad_main:app" ``` Now loudly errors during buildgithub.com-vercel-vercel · e12b1bd6 · 2026-07-08
- 0.1ETV[python] make queue subscriber topics optional (#17293) Makes `topics` optional in `[[tool.vercel.subscribers]]` since they are extracted from code Explicitly configured topics must be a subset of the derived topics --------- Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com> Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>github.com-vercel-vercel · 5858c354 · 2026-07-29
- 0.0ETVupdate python docs to no longer mention experimentalServices (#2935)github.com-vercel-workflow · d07bbf2e · 2026-07-15
- 0.0ETV[python] `pyproject.toml` subscribers array declaration (#16950) Declare `pyproject.toml` subscribers as arrays instead of named objects, e.g.: ```toml [[tool.vercel.subscribers]] entrypoint = "worker:app" ``` instead of: ```toml [tool.vercel.subscribers.celery_app] entrypoint = "worker:app" ``` **Note:** This is a breaking change but the feature is still unreleasedgithub.com-vercel-vercel · dbefe959 · 2026-07-08