# Drawings

> Every drawing in the library, by category, with what it shows and the kinds it suits.

The library holds 237 drawings in 17 categories. Any part can show any drawing; “suits” is only which parts Flozu suggests it for. The id under each name is what a map file saves in a part’s `visual`. See [drawings](https://docs.flozu.app/guides/looks.md#drawings) in Make it look right.

## People

| Drawing                             | What it shows                                          | Suits                  |
| ----------------------------------- | ------------------------------------------------------ | ---------------------- |
| People `crowd`                      | A few people, sending requests.                        | Person                 |
| Journey `journey`                   | One person moving from browsing to paying.             | Person                 |
| Online now `online`                 | How many people are here, with a live count.           | Person                 |
| Team `team`                         | A small team, each with a status dot.                  | Person                 |
| Support agent `support`             | Someone with a headset, answering a chat.              | Person                 |
| Admin `admin`                       | Someone with a key, changing settings.                 | Person                 |
| Around the world `around-the-world` | People across time zones, with the awake ones lit.     | Person, CDN            |
| Persona `persona`                   | A profile card with a name, a role and what they need. | Person                 |
| Audiences `audiences`               | People split into groups: new, returning and paying.   | Person, Data warehouse |

## Apps and devices

| Drawing                       | What it shows                                         | Suits                            |
| ----------------------------- | ----------------------------------------------------- | -------------------------------- |
| Browser `browser`             | A web page with a button being pressed.               | Client app                       |
| Phone `phone`                 | A mobile app, with a list and a tap.                  | Client app                       |
| Devices `devices`             | A laptop, a tablet and a phone, all sending requests. | Client app                       |
| Desktop app `desktop`         | A desktop window with a sidebar, syncing.             | Client app                       |
| Watch `watch`                 | A smartwatch with a ring filling up.                  | Client app                       |
| Sensor `sensor`               | A small device sending a reading on every beat.       | Client app, Worker               |
| TV app `tv`                   | A screen playing a stream, with its progress bar.     | Client app                       |
| Terminal `terminal`           | A command typed, and its answer printed.              | Client app, Service, Custom part |
| Point of sale `point-of-sale` | A till, with a card tapped against it.                | Client app                       |
| API client `api-client`       | Code calling an API, and the answer coming back.      | Client app, Service              |
| Vehicle `vehicle`             | A vehicle on a route, sending where it is.            | Client app                       |

## Email and alerts

| Drawing                     | What it shows                                     | Suits                |
| --------------------------- | ------------------------------------------------- | -------------------- |
| Email `email`               | Envelopes leaving an outbox, one at a time.       | Service, Worker      |
| Inbox `inbox`               | An inbox, with new mail arriving at the top.      | Service              |
| Text message `text-message` | A phone with text messages arriving.              | Service              |
| Push notification `push`    | A notification sliding onto a lock screen.        | Service              |
| Chat room `chat-room`       | Several people talking in one room.               | Service, Topic       |
| Webhook `webhook`           | A POST sent to a web address, and the reply code. | Service, Function    |
| Video call `video-call`     | A grid of people on a call, with the speaker lit. | Service              |
| Alerts `alerts`             | A bell ringing, with a count of what's new.       | Service, Custom part |

## Network

| Drawing                           | What it shows                                                 | Suits                           |
| --------------------------------- | ------------------------------------------------------------- | ------------------------------- |
| Records `records`                 | Names and the addresses they point to, looked up in turn.     | DNS                             |
| Lookup `lookup`                   | A name resolved step by step, from the root to the address.   | DNS                             |
| Time to live `expiry`             | Records counting down until they're looked up again.          | DNS                             |
| Globe `globe`                     | A globe with edge servers around it.                          | CDN                             |
| Edge map `edges`                  | Edge servers around the world, close to people.               | CDN                             |
| Offload `offload`                 | How much the edge serves, and how little reaches the origin.  | CDN                             |
| Lanes `lanes`                     | Lanes of requests merging through one gate.                   | Gateway                         |
| Paths `paths`                     | Paths, and the service each one is routed to.                 | Gateway                         |
| Checks `checks`                   | Each request checked for its key and quota, then routed.      | Gateway                         |
| Shares `shares`                   | One stream split three ways, with each share's level.         | Load balancer                   |
| Round robin `rotation`            | Requests handed to each copy in turn.                         | Load balancer                   |
| Targets `targets`                 | The copies behind it and whether each is healthy.             | Load balancer                   |
| Packets `packets`                 | Packets crossing between two machines, after a handshake.     | Gateway, Load balancer, Service |
| Anycast `anycast`                 | One address, answered by whichever site is nearest.           | DNS, CDN                        |
| Edge cache `edge-cache`           | Copies kept at the edge, with a hit served at once.           | CDN, Cache                      |
| Routes `routes`                   | A table of routes, and where each one sends traffic.          | Gateway, Load balancer          |
| Reverse proxy `reverse-proxy`     | One door in front of several servers.                         | Gateway, Load balancer          |
| Tunnel `tunnel`                   | A private tunnel joining two networks.                        | Gateway, Firewall, Custom part  |
| Service mesh `mesh`               | Services joined through side-cars, with traffic between them. | Gateway, Service                |
| Health checks `health-checks`     | Each server checked in turn, and the failing one taken out.   | Load balancer                   |
| Failover `failover`               | Traffic moving from a failed site to its standby.             | Load balancer, DNS, Database    |
| Round trips `latency-map`         | Round trips to each region, with the quickest lit.            | CDN, DNS                        |
| Live connection `live-connection` | A connection held open, with messages going both ways.        | Gateway, Service                |
| Query `graphql`                   | A query asking for fields, and an answer shaped like it.      | Gateway, Service                |
| Ports `ports`                     | A machine's ports, with the open ones lit.                    | Firewall                        |

## Traffic and limits

| Drawing                           | What it shows                                                      | Suits                           |
| --------------------------------- | ------------------------------------------------------------------ | ------------------------------- |
| Gauge `gauge`                     | A needle that edges into the red past the limit.                   | Rate limiter                    |
| Token bucket `token-bucket`       | A bucket of tokens: each request takes one.                        | Rate limiter                    |
| Per second `window`               | Each second's traffic against the limit, with the excess cut.      | Rate limiter                    |
| Leaky bucket `leaky-bucket`       | Requests pour in and drip out at a steady pace.                    | Rate limiter                    |
| Sliding window `sliding-window`   | A window sliding over the last minute of requests.                 | Rate limiter                    |
| Throttle `throttle`               | Bunched-up requests spaced out to a steady pace.                   | Rate limiter, Gateway           |
| Quota `quota`                     | A daily allowance being used up, and what's left of it.            | Rate limiter, Gateway, AI model |
| Bandwidth `bandwidth`             | A pipe filling with traffic towards its limit.                     | CDN, Gateway, Rate limiter      |
| Circuit breaker `circuit-breaker` | A switch that opens when calls fail, and closes once they recover. | Gateway, Service                |
| Retries `retries`                 | A call failing, waiting longer each time, then going through.      | Service, Gateway                |

## Security and sign-in

| Drawing                     | What it shows                                                  | Suits                           |
| --------------------------- | -------------------------------------------------------------- | ------------------------------- |
| Rules `rules`               | A wall of rules: allowed traffic passes, the rest bounces off. | Firewall                        |
| Shield `shield`             | A shield with what it let through and what it blocked.         | Firewall                        |
| Log `log`                   | Allowed and blocked requests as they happen.                   | Firewall                        |
| Password `password`         | A password being typed, then a tick.                           | Sign-in                         |
| Token `token`               | A signed token, issued in three parts.                         | Sign-in                         |
| One-time code `code`        | A six-digit code being filled in.                              | Sign-in                         |
| Lock `lock`                 | A padlock closing over what it keeps safe.                     | Sign-in, Firewall, Storage      |
| Secrets `secrets`           | Keys kept in a vault, handed out one at a time.                | Sign-in, Custom part            |
| Fingerprint `fingerprint`   | A fingerprint being scanned, line by line.                     | Sign-in                         |
| Passkey `passkey`           | A device confirming who it is with a touch, and no password.   | Sign-in                         |
| Two-step sign-in `two-step` | A password, then a code from a phone.                          | Sign-in                         |
| Permissions `permissions`   | Roles, and what each one may do.                               | Sign-in, Gateway                |
| Sessions `sessions`         | Signed-in sessions, each running out in time.                  | Sign-in, Cache                  |
| Certificate `certificate`   | A certificate, who issued it and the days until it expires.    | DNS, Gateway, CDN               |
| Attack `attack`             | A flood of traffic, mostly stopped at the edge.                | Firewall, CDN                   |
| Bot check `bot-check`       | Visitors checked one by one, with the bots turned away.        | Firewall, Sign-in               |
| Audit log `audit-log`       | Who did what and when, written down for later.                 | Firewall, Database, Custom part |
| Encryption `encryption`     | Plain text going in, and scrambled text coming out.            | Storage, Service                |

## Compute

| Drawing                         | What it shows                                             | Suits                          |
| ------------------------------- | --------------------------------------------------------- | ------------------------------ |
| Activity `activity`             | Recent traffic as a line, and how busy it is.             | Service                        |
| Instances `instances`           | Copies of the service, each with its load.                | Service                        |
| Latency `latency`               | How long answers take: typical, slow and slowest.         | Service                        |
| Jobs `jobs`                     | Jobs in progress, each filling as it's worked on.         | Worker                         |
| Stages `stages`                 | Jobs moving from taken, to working, to done.              | Worker                         |
| Pool `pool`                     | Worker slots, busy or free.                               | Worker                         |
| Warm instances `warm`           | Copies that light up as they're called.                   | Function                       |
| Calls `calls`                   | Calls arriving over time, each a short burst.             | Function                       |
| Scaling `scaling`               | Copies rising and falling with demand.                    | Function                       |
| Containers `containers`         | Containers stacked on a machine, starting and stopping.   | Service, Worker                |
| Pods `pods`                     | Pods spread over three machines, with one being replaced. | Service, Worker                |
| Servers `servers`               | A rack of servers with their lights blinking.             | Service, Database, Custom part |
| CPU `cpu`                       | A processor's cores, and how busy each one is.            | Service, Worker, Function      |
| Threads `threads`               | Requests handed to threads, with a few waiting.           | Service                        |
| Endpoints `endpoints`           | An API's routes, with how often each is called.           | Service, Gateway               |
| Code `source-code`              | Lines of code, with the one running lit.                  | Function, Service, Custom part |
| Deploys `deploys`               | A new version rolling out across the copies.              | Service, Function              |
| Blue and green `blue-green`     | Two versions side by side, with traffic switching over.   | Load balancer, Service         |
| Scaling out `scale-out`         | Copies added as the load climbs past a line.              | Service, Function, Worker      |
| Cold start `cold-start`         | A function waking up, then answering quickly.             | Function                       |
| Batch job `batch`               | A big job split into chunks, worked on side by side.      | Worker, Data warehouse         |
| Pipeline `pipeline`             | Data passing through steps, one after another.            | Worker, Data warehouse         |
| Video encoding `video-encoding` | One video turned into several sizes.                      | Worker, Function               |
| Image resizing `image-sizes`    | One picture made into several sizes.                      | Function, Worker               |
| Workflow `workflow`             | Steps that branch, wait on each other, then join.         | Worker, Scheduler, Custom part |

## Time

| Drawing                     | What it shows                                         | Suits                          |
| --------------------------- | ----------------------------------------------------- | ------------------------------ |
| Clock `clock`               | A clock, and the job it starts every hour.            | Scheduler                      |
| Timeline `timeline`         | A day's runs on a timeline, with now moving along it. | Scheduler                      |
| Week `week`                 | A week of runs on a calendar.                         | Scheduler                      |
| Countdown `countdown`       | A timer counting down to the next run.                | Scheduler                      |
| Cron `cron`                 | A cron line, and when it next runs.                   | Scheduler                      |
| Month `month`               | A month, with runs on chosen days.                    | Scheduler                      |
| Hourglass `hourglass`       | Sand running through, for something that takes time.  | Scheduler, Worker, Custom part |
| Delayed jobs `delayed-jobs` | Jobs parked until their time comes.                   | Scheduler, Queue               |

## AI

| Drawing                             | What it shows                                              | Suits                      |
| ----------------------------------- | ---------------------------------------------------------- | -------------------------- |
| Tokens `tokens`                     | An answer appearing a word at a time.                      | AI model                   |
| Chat `chat`                         | A prompt and the reply streaming back.                     | AI model                   |
| Layers `layers`                     | Layers of a network, with a signal passing through.        | AI model                   |
| Embeddings `embeddings`             | Words placed as points, with similar ones close together.  | AI model, Search, Database |
| Vector search `vector-search`       | A question finding its nearest neighbours.                 | Search, AI model, Database |
| Agent `agent`                       | Think, use a tool, look at the result, and go round again. | AI model                   |
| Retrieval `retrieval`               | A question, the passages found for it, then the answer.    | AI model, Search           |
| Classifier `classifier`             | Items sorted into labelled bins, each with how sure it is. | AI model                   |
| Training `training`                 | The error falling as a model learns.                       | AI model, Worker           |
| Image generation `image-generation` | A picture sharpening out of noise.                         | AI model                   |
| Speech `speech`                     | A voice turned into words as it speaks.                    | AI model                   |
| Recommendations `recommendations`   | Items picked for someone, best match first.                | AI model, Service          |
| Moderation `moderation`             | Posts checked as they arrive, with a few held back.        | AI model, Service          |
| Context `context-window`            | Tokens filling a context window towards its limit.         | AI model                   |

## Messaging

| Drawing                         | What it shows                                        | Suits                   |
| ------------------------------- | ---------------------------------------------------- | ----------------------- |
| Line `line`                     | Work waiting in line, with new items arriving.       | Queue                   |
| Depth `depth`                   | How long the line has been over time.                | Queue                   |
| Waiting and in flight `states`  | What's waiting, being worked on and failed.          | Queue                   |
| Fan-out `fan-out`               | One event copied to every subscriber.                | Topic                   |
| Subscribers `subscribers`       | Each subscriber, and the events reaching it.         | Topic                   |
| Partitions `partitions`         | The event log, split into partitions.                | Topic                   |
| Priority `priority`             | Urgent work jumping to the front of the line.        | Queue                   |
| Dead letters `dead-letters`     | Messages that kept failing, set aside to look at.    | Queue, Topic            |
| In order `in-order`             | Messages kept in exact order, handled one at a time. | Queue                   |
| Consumer group `consumer-group` | Messages shared out between the members of a group.  | Queue, Topic            |
| Event stream `event-stream`     | Events flowing past, each tagged with its type.      | Topic                   |
| Publish and subscribe `pub-sub` | Publishers on one side, subscribers on the other.    | Topic                   |
| Outbox `outbox`                 | Changes written down, then sent on as events.        | Database, Topic, Worker |
| Acknowledged `acks`             | Messages delivered and ticked off one by one.        | Queue                   |
| Back pressure `back-pressure`   | A fast sender slowed down by a full line.            | Queue, Worker           |

## Data

| Drawing                     | What it shows                                           | Suits                    |
| --------------------------- | ------------------------------------------------------- | ------------------------ |
| Faders `faders`             | Levels for reads, writes and connections.               | Database                 |
| Table `table`               | A table of records, with new rows being written.        | Database, Table          |
| Replicas `replicas`         | A primary copying its writes to two replicas.           | Database                 |
| Hit rate `hit-rate`         | How much is served from memory.                         | Cache                    |
| Keys `keys`                 | Keys in memory, each expiring in time.                  | Cache                    |
| Memory `memory`             | Memory used and free, with the oldest keys making room. | Cache                    |
| Results `results`           | A search and its best matches.                          | Search                   |
| Index `index`               | Words, and the records each one is found in.            | Search                   |
| Suggestions `suggest`       | Suggestions appearing as someone types.                 | Search                   |
| Key-value `key-value`       | Keys and their values, each read in a blink.            | Cache, Database          |
| Documents `documents`       | Documents with fields nested inside them.               | Database                 |
| Graph `graph`               | Records joined by how they relate.                      | Database                 |
| Time series `time-series`   | Readings landing on a timeline as they're taken.        | Database, Data warehouse |
| Shards `shards`             | Records spread over shards by their key.                | Database                 |
| Schema `schema`             | Tables and the links between them.                      | Database                 |
| SQL `sql`                   | A query, and the rows it brings back.                   | Database, Data warehouse |
| Transactions `transactions` | Changes saved together, or not at all.                  | Database                 |
| Migration `schema-change`   | A table changing shape, a step at a time.               | Database                 |
| Change feed `change-feed`   | Each change copied out as it happens.                   | Database, Topic          |
| Connections `connections`   | A pool of connections, busy and free.                   | Database                 |

## Files and media

| Drawing                       | What it shows                                      | Suits                         |
| ----------------------------- | -------------------------------------------------- | ----------------------------- |
| Bucket `bucket`               | Files dropping into a bucket.                      | Storage                       |
| Files `files`                 | Images, documents and archives, kept side by side. | Storage                       |
| Space used `usage`            | How much space each kind of file takes.            | Storage                       |
| Images `images`               | A grid of photos, with a new one uploading.        | Storage                       |
| Video `video`                 | A video playing, with its buffer filling ahead.    | Storage, CDN, Client app      |
| Upload `upload`               | A file uploading in chunks.                        | Storage, Function             |
| Cold storage `cold-storage`   | Files moving from hot to cold as they age.         | Storage                       |
| Folders `folders`             | Folders, and the files inside them.                | Storage                       |
| File versions `file-versions` | One file, and its earlier versions behind it.      | Storage                       |
| Audio `audio`                 | A sound wave playing.                              | Storage, AI model, Client app |

## Analytics

| Drawing                 | What it shows                                       | Suits                       |
| ----------------------- | --------------------------------------------------- | --------------------------- |
| Bars `bars`             | Data flowing in, and a chart growing from it.       | Data warehouse              |
| Heatmap `heatmap`       | A grid of figures, darker where there's more.       | Data warehouse              |
| Trend `trend`           | A figure over time, with this week's point.         | Data warehouse              |
| Funnel `funnel`         | Steps from visiting to buying, each one narrower.   | Data warehouse              |
| Dashboard `dashboard`   | A dashboard of tiles: a figure, a chart and a list. | Data warehouse, Custom part |
| Breakdown `donut`       | A ring split into shares.                           | Data warehouse, Custom part |
| Extract and load `etl`  | Data copied from several sources into tables.       | Data warehouse, Worker      |
| Cohorts `cohorts`       | Each week's sign-ups, and how many came back.       | Data warehouse              |
| Report `report`         | A report with a headline figure and a chart.        | Data warehouse              |
| Places `places`         | Activity by place, as dots on a map.                | Data warehouse, CDN         |
| Top list `top-list`     | The top items, ranked, each with a bar.             | Data warehouse, Search      |
| Big number `big-number` | One large figure, and how it's changed.             | Custom part, Data warehouse |

## Payments and shopping

| Drawing                     | What it shows                                        | Suits               |
| --------------------------- | ---------------------------------------------------- | ------------------- |
| Card payment `card-payment` | A card tapped, and the payment approved.             | Service             |
| Checkout `checkout`         | A basket, its total and a pay button.                | Service, Client app |
| Receipt `receipt`           | A receipt printing line by line.                     | Service, Database   |
| Invoice `invoice`           | An invoice with its lines, a total and a paid stamp. | Service             |
| Subscription `subscription` | A plan renewing each month.                          | Service, Scheduler  |
| Cart `cart`                 | Items dropping into a shopping cart.                 | Service, Client app |
| Stock `stock`               | Products on shelves, with how many are left.         | Database, Service   |
| Orders `orders`             | Orders moving from placed, to packed, to shipped.    | Service, Worker     |
| Refunds `refunds`           | Payments going out, and a few coming back.           | Service             |
| Fraud check `fraud-check`   | Each payment scored, with the risky ones held.       | Service, AI model   |
| Ledger `ledger`             | Debits and credits that always balance.              | Database, Service   |
| Delivery `delivery`         | A parcel moving along its route to a door.           | Service, Worker     |
| Prices `prices`             | A price tag that follows demand.                     | Service             |

## Operations

| Drawing                       | What it shows                                         | Suits                        |
| ----------------------------- | ----------------------------------------------------- | ---------------------------- |
| Logs `logs`                   | Log lines scrolling past, with a warning in amber.    | Custom part, Service, Worker |
| Metrics `metrics`             | Charts of requests, errors and response times.        | Custom part, Service         |
| Incident `incident`           | An alert going off, and the person on call taking it. | Custom part                  |
| Trace `trace`                 | One request's time spent in each part, as bars.       | Service, Custom part         |
| Uptime `uptime`               | Each day's uptime as a bar, with one bad day.         | Custom part, Service         |
| Errors `errors`               | Errors spiking, then settling down.                   | Service, Custom part         |
| Feature flags `feature-flags` | Switches turning features on for some people.         | Service, Custom part         |
| Experiment `experiment`       | Two versions side by side, and which one is winning.  | Service, Data warehouse      |
| Build `build`                 | Build, test and deploy steps, ticking off in turn.    | Custom part, Worker          |
| Branches `branches`           | Branches splitting off and merging back.              | Custom part                  |
| Backups `backups`             | A copy taken every night, with the oldest let go.     | Storage, Database, Scheduler |
| Settings `settings`           | Settings, with switches and values.                   | Custom part, Service         |

## Inside a service

| Drawing                 | What it shows                                                          | Suits                       |
| ----------------------- | ---------------------------------------------------------------------- | --------------------------- |
| Routes `route-list`     | An endpoint's routes, each lit in turn as a request comes in.          | Endpoint                    |
| Module `module-graph`   | A module's own parts, with calls running from its way in to its store. | Module                      |
| Source file `source`    | Numbered lines of code, with the running line lit.                     | Code file                   |
| Contract `contract`     | An interface's methods, ticked off as code keeps each one.             | Interface                   |
| Package `package`       | A package with its name and version, and an update waiting.            | Library                     |
| Rows `rows`             | A table's columns, and new rows being written.                         | Table                       |
| Imports `imports`       | A file's imports, fanning out to what it uses.                         | Code file, Module, Library  |
| Call stack `call-stack` | A call stack growing as one function calls the next.                   | Code file, Module, Endpoint |
| Tests `tests`           | Tests running, each passing in turn.                                   | Code file, Module           |
| Columns `columns`       | Columns or fields, each with its type.                                 | Table, Interface            |
| Version `semver`        | A version number going up, with the kind of change it is.              | Library, Interface          |
| Handler `handler`       | A request arriving at a handler, worked on and answered.               | Endpoint, Module, Function  |

## General

| Drawing               | What it shows                                         | Suits                         |
| --------------------- | ----------------------------------------------------- | ----------------------------- |
| Blank `blank`         | An empty box, for anything.                           | Custom part                   |
| Cog `cog`             | A turning cog, for something that does work.          | Custom part                   |
| Modules `modules`     | Blocks fitted together, for something made of parts.  | Custom part                   |
| Sparkline `sparkline` | A small line chart, drawing as it goes.               | Custom part, Service          |
| Bar chart `bar-chart` | Bars rising and falling.                              | Custom part                   |
| Ring `ring`           | A ring filling to a share.                            | Custom part                   |
| Status `status`       | A list of checks, each passing or failing.            | Custom part                   |
| Flowchart `flowchart` | Boxes and arrows, with something moving through them. | Custom part                   |
| Stack `stack`         | Layers stacked one on another.                        | Custom part                   |
| Checklist `checklist` | Tasks being ticked off.                               | Custom part                   |
| Hub `hub`             | One centre joined to many.                            | Custom part, Gateway, Topic   |
| Filter `filter`       | Many go in, and few come out.                         | Custom part, Firewall, Search |
| Cycle `cycle`         | Steps going round and round.                          | Custom part, Worker           |
| Signal `signal`       | A pulse sent out in rings.                            | Custom part, Client app       |
| Transform `transform` | Shapes going in, and changed shapes coming out.       | Custom part, Function, Worker |
