# Slow Web Resource Budget > Model a resource list under bandwidth, latency, caching and packet-loss assumptions. Compare a resource list or HAR in sequential and shared-link modes with explicit throughput assumptions, cache effects and a baseline waterfall. Part of usefulweb.app (https://usefulweb.app/). Part of [Signalhouse](https://signalhouse.usefulweb.app/) (ownerApp: signalhouse). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://signalhouseresourcebudget.usefulweb.app/ (interactive tool at https://signalhouseresourcebudget.usefulweb.app/tool) - JSON API: POST https://signalhouseresourcebudget.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://signalhouseresourcebudget.usefulweb.app/api/v1/tool) - OpenAPI: https://signalhouseresourcebudget.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://signalhouseresourcebudget.usefulweb.app/mcp - tool `signalhouse_resource_budget` ## Inputs - bandwidth (number): Bandwidth (Mbit/s) - rtt (number): Round-trip latency (ms) - loss (number): Packet loss (%) - mode (select): Transfer model - connections (number): Concurrent resources in shared-link mode - resources (table): Resources ## Method - Signalhouse tcpModel supplies aggregate window/loss/bandwidth-limited throughput. A host needs two RTTs of modeled setup and each uncached resource one request RTT. - Sequential mode transfers one resource at a time. Shared-link mode fairly divides that aggregate throughput among ready resources, with a bounded number in flight; it is not an implementation of HTTP/2, HTTP/3 or browser scheduling. - HAR import reads sizes and cache indicators. Modeled requests do not fetch resource URLs. CPU, rendering, dependency discovery, DNS/TLS details and real traffic are excluded.