RelayVano

← All postcards

Friday Night in Room 204: Our Hackathon Token Budget

Fare watch EN

At 6:40 p.m. on Friday, our four-person team had a prototype, a Monday demo, and no clear idea what our AI experiments would cost. We had heard the word “tokens,” but treated it like a meter that only mattered after the bill arrived. A token budget gave us a simpler way to plan: estimate how much text our project would send to and receive from models, then decide how to spend that allowance.

What a token measures in a model request

A token is a small piece of text a model reads or writes. It might be a whole short word, part of a longer word, punctuation, or whitespace. Tokens are not exactly words, so a 1,000-word document does not necessarily use 1,000 tokens. The exact count depends on the text and the model.

Each request can use input tokens and output tokens. Input includes your instructions, the user’s message, and any context you attach, such as code or documents. Output is the model’s reply. A conversation may also resend earlier messages as context, so a short follow-up can still carry a sizable input if the full history goes with it.

Our room 204 budget for the weekend

We began with the work we expected: a code assistant, a feature-planning chat, and a small document summarizer. Instead of guessing one grand total, we split the allowance by task and person. That made it easier to see which experiments mattered and where usage might grow.

  • Give each feature a rough number of requests per hour and expected input and output size.
  • Leave room for retries, debugging, and the Sunday demo. First attempts rarely stay first attempts.
  • Track usage by teammate or project task so one long-running experiment does not hide the rest of the team’s activity.
  • Check the provider’s current pricing before translating token estimates into money. Rates can differ by model and by input or output.

For example, an assistant that reads a few files before every answer may use far more input than a one-off question. A summarizer that returns a short result may use little output, even if its input document is large. These patterns matter more than a vague estimate of “messages per day.”

What made our estimate change

On Saturday morning, we added project notes to every request. The answers improved, but the same notes were being sent again and again. We trimmed context to the files and details needed for each task, and kept routine replies concise. We also stopped asking the model to restate information already visible in the conversation.

We treated the budget as a planning tool, not a promise that every request would use the same amount. Unexpectedly large outputs, repeated context, and retries can all move the total. A quick check during the day helped us adjust before the final demo rush.

Choosing models without losing track of cost

Use a capable model where the task benefits from it, and test whether a less costly option is sufficient for routine work. For instance, a team might compare Claude Sonnet 5.5 with DeepSeek V4 Flash for a narrow coding or summarization task, then judge the results against both quality and current pricing. Model names alone do not tell you what a particular task will cost; check the live rates and measure actual usage.

RelayVano is a pay-as-you-go relay for AI models, with one API base at https://api.relayvano.com. It works with Claude Code, Codex, Gemini CLI, and OpenAI-compatible SDKs, which can be useful when a team wants to try different supported models without changing its whole workflow. If that fits your setup, sign up for RelayVano and test a small task before routing the entire project through it.

Our Sunday rule for token budgets

By Sunday, we had a practical routine: estimate before a feature, inspect usage after a meaningful test, and revise the estimate when the prompt or workflow changes. We did not need a perfect forecast. We needed enough visibility to make deliberate choices, keep experiments moving, and arrive at the demo with the important work finished.

More postcards from this route