How a stack is chosen

You describe the app. Kritelo returns one stack. The model may classify the description and write a short reason. It may not invent a tool, and it may not write a price.

  1. The description is shortened to 1,000 characters. Links and markup are removed. It is sent as data, not as instructions.
  2. A small model, or a set of rules if the model is off or over budget, picks an archetype from a fixed list: a SaaS MVP, a marketplace, an internal tool, a landing page, a chatbot, a voice app, a web game, or a Shopify store.
  3. Code filters the database. A tool has to be active, fit the skill you chose, and have a price checked within 30 days. About four candidates are kept for each role.
  4. The model chooses one id from that list and writes why, plus why one or two others lost. If it names something else, or the reply is the wrong shape, you see the archetype default instead.
  5. Hobby and launch prices are attached afterwards, from the database. Totals are added in code. Usage fees are shown on the card and left out of the flat total.

If a reason contains a currency amount, a percent that looks like a fee, or the name of a tool that is not part of the answer, that sentence is replaced with a line from the database. The model is asked once more first.

Affiliate terms are stored in a separate file. They are used only by the outbound /go/ link and the disclosure. They are not in the prompt. Cursor can win. Replit can win. A program is not a reason.

The game archetype does not include a game engine. No engine in this database has a verified price. You get a web stack, and the page says so. The same applies to native mobile.

Share links are not indexed. A wrong price can be reported on the result page. The public record of checks is the price log.