每日 Show HN

Upvote0

2026年1月29日 的 Show HN

37 篇
143

Kolibri, a DIY music club in Sweden #

kolibrinkpg.com faviconkolibrinkpg.com
31 評論4:19 PM在 HN 查看
We’re Maria and Jonatan, and we run a small DIY music club in Norrköping, Sweden, called Kolibri.

We run it through a small Swedish company. We pay artists, handle logistics, and take operations seriously. But it has still behaved like a tiny cultural startup in the most relevant way: you have to build trust, form a recognisable identity, pace yourself, avoid burnout, and make something people genuinely return to, without big budgets or growth hacks. We run it on the last Friday of every month in a small restaurant venue, typically 50–70 paying guests.

What we built isn’t an app. It’s a repeatable local format: a standing night where strangers become regulars, centred on music rather than networking.

We put up a simple anchor site with schedule + photos/video: https://kolibrinkpg.com/

What you can “try” on the site:

  * Photos and short videos from nights (atmosphere + scale)
  * A sense of programming/curation (what we book, how we sequence a night)
  * Enough context to copy parts of the format if you’re building something similar locally
How it started: almost accidentally. I was doing one of many remote music sessions with a friend from London, passing Ableton projects back and forth while talking over FaceTime. One evening I ran out of beer and wandered into a nearby restaurant (Mitropa). A few conversations later we had a date on the calendar.

That restaurant is still the venue. It’s owned by a local family: one runs the kitchen, another manages the space. Over time they’ve become close to us, so I’ll put it plainly: if they called and needed help, we’d drop everything.

Maria was quickly dubbed klubbvärdinnan (hostess), partly as a joke. In Sweden in the 1970s, posh nightclubs sometimes had a klubbvärdinna, a kind of social anchor. She later adopted it as her DJ alias, and the role became real: greeting people, recognising newcomers who look uncertain, and quietly setting the tone for how people treat one another.

The novelty (if there is any) is that we treat the night like a designed social system:

  * Curation is governance. If the music is coherent and emotionally “true”, people relax. If it’s generic, people perform.
  * The room needs a host layer. Someone has to make it socially safe to arrive alone.
  * Regulars are made, not acquired. People return when they feel recognised and when the night has a consistent identity.
  * DIY constraints create legitimacy. Turning a corner restaurant into a club on a shoestring sounds amateurish, but it reads as real.
  * Behavioural boundaries are practical. If newcomers can’t trust the room, the whole thing stops working.
On marketing: we learned quickly that “posting harder” isn’t the same as building a local thing. What worked best was analogue outreach: we walked around town, visited local businesses we genuinely like, bought something, introduced ourselves, and asked if we could leave a flyer. It’s boring, but it builds trust because it’s human, not algorithmic.

A concrete example: early on we needed Instagram content that could show music visually without filming crowds in a club. We started filming headphone-walk clips: one person, headphones on, walking through town to a track we chose. It looked good, stylised, cinematic, and that mattered more than we expected. People didn’t just tolerate being filmed; many wanted to be in the videos. Then we’d invite them for a couple of free drinks afterwards as a thank-you and a chance to actually talk. That was a reliable early trust-building mechanism.

At one point we were offered a larger venue with a proper budget. It was tempting. But we’d just hosted our first live gig at Mitropa and felt something click. We realised the format works because it’s small and grounded. Scale would change the social physics.

52

Shelvy Books #

shelvybooks.com faviconshelvybooks.com
20 評論1:16 AM在 HN 查看
Hey HN! I built a little side project I wanted to share.

Shelvy is a free, visual bookshelf app where you can organize books you're reading, want to read, or have finished. Sign in to save your own collection.

Not monetized, no ads, no tracking beyond basic auth. Just a fun weekend project that grew a bit.

Live: https://shelvybooks.com

Would love any feedback on the UX or feature ideas!

12

Autonomous recovery for distributed training jobs #

docs.tensorpool.dev favicondocs.tensorpool.dev
3 評論5:01 PM在 HN 查看
Hi HN! We’re TensorPool. We help companies access and optimize large scale compute for training foundation models.

The Problem

It’s been almost a year since we’ve finished YC, and we’ve just crossed 100,000 multinode training GPU hours run on our platform.

On those training runs, we’ve seen countless 3am job crashes because of issues like an Xid error from a flaky GPU or an S3 timeout that corrupted a checkpoint save. By the time you wake up and notice, you've lost 8+ hours of compute. You scramble to diagnose the issue, manually restart from the last checkpoint, and hope it doesn't happen again. Rinse and repeat.

For training runs that take days to weeks, this constant babysitting is exhausting and expensive. The research iteration cycles lost can also make or break a model release (especially for short reservations).

What We Built

This agent monitors your training jobs and autonomously recovers them when things go wrong. It works with Kubernetes, Slurm, and TensorPool Jobs.

We originally built the TensorPool Agent as an internal tool to help us debug failures with our own customers. Over time, we realized its performance was so good that we could automate the entire triage process. We're now releasing a public beta for people to use.

Best case: The TensorPool Agent detects the failure, diagnoses the root cause, fixes it, and restarts your job from the last checkpoint – all while you sleep ;)

Worst case: If the TensorPool agent can't fix the issue automatically, it delivers a preliminary RCA and a list of actions it attempted, giving you a head start on debugging.

How It Works

1) Registration – You provide credentials to your job scheduler via our dashboard. Perms are granted on a whitelist basis; you explicitly control what actions the agent can take.

2) Monitoring – The agent continuously monitors your job for failure conditions.

3) Recovery – On failure, the agent analyzes logs and attempts to diagnose the issue. If successful, it restarts the job from the last checkpoint and resumes monitoring. If not, you get an alert with full context.

Target Failure Modes

The agent is specifically designed for runtime errors that occur deep into training, like:

- CUDA OOM: Memory leaks, gradient explosions

- Xid errors: GPU hardware faults (Xid 79, 63, 48, etc.)

- Distributed communication failures: NCCL timeouts, rank failures

- Storage I/O errors: Checkpoint corruption

- Network issues: S3 request timeouts on mounted object storage

9

I made a dual-bootable NixBSD (NixOS and FreeBSD) image #

github.com favicongithub.com
2 評論4:26 PM在 HN 查看
I've been working on getting NixBSD (Nix package manager + FreeBSD) to boot alongside NixOS on a shared ZFS pool. The result is a <2GB disk image you can try in QEMU or virt-manager.

What works:

    - GRUB chainloads FreeBSD's bootloader
    - Both systems share a ZFS pool
    - Everything is defined in a single Nix flake
    - Fully reproducible builds (some dependencies are now cached on Cachix)
Planned:

    - Support native compilation of NixBSD (currently cross-compiled on Linux)
    - Many shortcuts were taken to get this working, needs lots of cleanup
    - Add a semi-automated installer like nixos-wizard
Try it:

    qemu-system-x86_64 -enable-kvm -m 2048 \
      -bios /usr/share/ovmf/OVMF.fd \
      -drive file=nixos.root.img,format=raw
Login: nixos/nixos or root/toor

The hardest parts were getting mounts working at boot, making the bootloader setup idempotent, and debugging early init. This disk image could potentially work on a USB stick with a bit more work.

This is very much experimental. My goal is to eventually produce a proper NixBSD installation ISO and consolidate all configuration into one repository while still consuming upstream NixBSD as a flake.

Download: https://github.com/jonhermansen/nixbsd-demo/releases/tag/bui...

Feel free to leave feedback here or on GitHub! Thanks!

9

Nomod payment integrated into usage-based billing stack #

4 評論4:07 PM在 HN 查看
Hi HN,

We just shipped a Nomod integration in Flexprice. For context, flexprice is an open-source billing system that handles invoices, usage, and credit wallets. One gap we wanted to close was supporting region-specific payment providers without breaking billing state.

With this integration: - Invoices finalized in Flexprice can be synced to Nomod - A hosted Nomod payment link is generated for the invoice - Payment status updates flow back into Flexprice - Invoices and payment records stay in sync - Credits (if applicable) are applied only after payment succeeds

This keeps billing logic simple and avoids reconciliation issues later. There's no demo yet, but docs are live here: https://docs.flexprice.io/integrations/nomod/

Happy to answer questions or hear feedback from folks who've built billing or payment integrations before or feel free to join our open-source community if that interests you : http://bit.ly/4huvkDm

6

Craft – Claude Code running on a VM with all your workplace docs #

0 評論3:45 PM在 HN 查看
I’ve found coding agents to be great at 1/ finding everything they need across large codebases using only bash commands (grep, glob, ls, etc.) and 2/ building new things based on their findings (duh).

What if, instead of a codebase, the files were all your workplace docs? There was a `Google_Drive` folder, a `Linear` folder, a `Slack` folder, and so on. Over the last week, we put together Craft to test this out.

It’s an interface to a coding agent (OpenCode for model flexibility) running on a virtual machine with: 1. your company's complete knowledge base represented as directories/files (kept in-sync) 2. free reign to write and execute python/javascript 3. ability to create and render artifacts to the user

Demo: https://www.youtube.com/watch?v=Hvjn76YSIRY Github: https://github.com/onyx-dot-app/onyx/blob/main/web/src/app/c...

It turns out OpenCode does a very good job with docs. Workplace apps also have a natural structure (Slack channels about certain topics, Drive folders for teams, etc.). And since the full metadata of each document can be written to the file, the LLM can define arbitrarily complex filters. At scale, it can write and execute python to extract and filter (and even re-use the verified correct logic later).

Put another way, bash + a file system provides a much more flexible and powerful interface than traditional RAG or MCP, which today’s smarter LLMs are able to take advantage of to great effect. This comes especially in handy for aggregation style questions that require considering thousands (or more) documents.

Naturally, it can also create artifacts that stay up to date based on your company docs. So if you wanted “a dashboard to check realtime what % of outages were caused by each backend service” or simply “slides following XYZ format covering the topic I’m presenting at next week’s dev knowledge sharing session”, it can do that too.

Craft (like the rest of Onyx) is open-source, so if you want to run it locally (or mess around with the implementation) you can.

Quickstart guide: https://docs.onyx.app/deployment/getting_started/quickstart Or, you can try it on our cloud: https://cloud.onyx.app/auth/signup (all your data goes on an isolated sandbox).

Either way, we’ve set up a “demo” environment that you can play with while your data gets indexed. Really curious to hear what y’all think!

6

We review YC applications for free – with feedback from YC founders #

ycroaster.com faviconycroaster.com
2 評論9:57 PM在 HN 查看
Hi HN, We just launched YC Roaster, a free YC application review service run by Lobster Capital. If you’re applying to Y Combinator, you can submit your application and get written feedback from founders who’ve actually gone through YC and built real companies. How it works * You submit your YC application (PDF) * It’s reviewed by successful YC founders in our network * Everyone gets written feedback * If we think you have a strong shot, we offer a short 1-on-1 Zoom call Why are we doing this for free? Lobster Capital is a VC fund that exclusively invests in YC companies. We’ve reviewed hundreds of YC applications over the years and backed 100+ YC startups. This is our way of giving back, and hopefully helping more strong teams get in. There’s no guarantee of acceptance, no pitch requirement, and no obligation to talk to us afterward. What we’re curious about * What parts of the YC application do founders struggle with the most? * What feedback have you found most useful when applying? Website: https://www.ycroaster.com Happy to answer questions or take feedback (including criticism).
5

ZK Visualizer – I built this while learning zero-knowledge proofs #

zkvisualizer.com faviconzkvisualizer.com
0 評論8:54 AM在 HN 查看
I was learning ZK proofs and found that visualizing things really helped me understand them. Noticed there aren't many interactive visualizations out there, so I built one.

Here's the first version: zkvisualizer.com

It walks through the full pipeline step by step (Problem → Circuit → R1CS → Polynomials → Witness → Proof → Verification) with real Groth16 proofs generated in your browser using snarkjs.

You can toggle between what the prover knows vs what the verifier sees, and there's a tamper detection demo where you can watch verification fail.

This is still very early on, but I would be very happy to receive any feedback!

4

Codex.nvim – Codex inside Neovim (no API key required) #

github.com favicongithub.com
0 評論6:17 AM在 HN 查看
Hi HN! I built codex.nvim, an IDE-style Neovim integration for Codex.

  Highlights:
  - Works with OpenAI Codex plans (no API key required)
  - Fully integrated in Neovim (embedded terminal
  workflow)
  - Bottom-right status indicator shows busy/wait state
  - Send selections or file tree context to Codex quickly

  Repo:
  https://github.com/ishiooon/codex.nvim


  Why I built this:
  I wanted to use Codex comfortably inside Neovim without
  relying on the API.

  Happy to hear feedback and ideas!
4

Formatter Workspace – A multi-pane JSON/XML inspector and formatter #

formatter-workspace.com faviconformatter-workspace.com
0 評論12:44 PM在 HN 查看
Tree-based inspector for JSON/XML documents.

At work, debugging often means jumping between logs from multiple systems, and I got tired of opening a bunch of tabs just to quickly format and inspect JSON/XML side by side.

A lot of existing tools are ad-heavy, not fully client-side, or limit you to a single document, so I built a small workspace-style tool that lets me inspect multiple payloads at once, entirely in the browser.

4

TheBaduk – A Go/Baduk Platform Built with Vanilla JavaScript #

thebaduk.com faviconthebaduk.com
0 評論7:34 AM在 HN 查看
Hi HN I built this Go (Baduk/Weiqi) platform called TheBaduk.

Tech Stack & Key Features: Frontend: Vanilla JS (No frameworks), optimized for performance on both desktop and mobile. AI: Client-side KataGo integration (runs in the browser). Backend: Socket.io for real-time matching. I wanted to create a frictionless experience where you can play instantly without heavy initial loads. I'd love to hear your feedback on the code performance and UI responsiveness. Thanks!

4

41 Stars New AI – MIT License. Zero Hallucinations (For Real) #

github.com favicongithub.com
0 評論5:51 PM在 HN 查看
The problem with LLMs isn't intelligence; it's amnesia and dishonesty. Hey HN, I’ve spent the last few months building Remember-Me, an open-source "Sovereign Brain" stack designed to run entirely offline on consumer hardware. The core thesis is simple: Don't rent your cognition.

Most RAG (Retrieval Augmented Generation) implementations are just "grep for embeddings." They are messy, imprecise, and prone to hallucination. I wanted to solve the "Context integrity" problem at the architectural layer.

The Tech Stack (How it works):

QDMA (Quantum Dream Memory Architecture): instead of a flat vector DB, it uses a hierarchical projection engine. It separates "Hot" (Recall) from "Cold" (Storage) memory, allowing for effectively infinite context window management via compression.

CSNP (Context Switching Neural Protocol) - The Hallucination Killer: This is the most important part. Every memory fragment is hashed into a Merkle Chain. When the LLM retrieves context, the system cryptographically verifies the retrieval against the immutable ledger.

If the hash doesn't match the chain: The retrieval is rejected.

Result: The AI visually cannot "make things up" about your past because it is mathematically constrained to the ledger. Local Inference: Built on top of llama.cpp server. It runs Llama-3 (or any GGUF) locally. No API keys. No data leaving your machine.

Features:

Zero-Dependency: Runs on Windows/Linux with just Python and a GPU (or CPU).

Visual Interface: Includes a Streamlit-based "Cognitive Interface" to visualize memory states. Open Source: MIT License. This is an attempt to give "Agency" back to the user. I believe that if we want AGI, it needs to be owned by us, not rented via an API.

Repository: https://github.com/merchantmoh-debug/Remember-Me-AI

I’d love to hear your feedback on the Merkle-verification approach. Does constraining the context window effectively solve the "trust" issue for you?

It's fully working - Fully tested. If you tried to Git Clone before without luck - As this is not my first Show HN on this - Feel free to try again.

To everyone who HATES AI slop; Greedy corporations and having their private data stuck on cloud servers.

You're welcome.

Cheers, Mohamad

Authors note: Updated successfully.

Framework 50 is active.

For anyone passing by - yes this is a big deal. Eliminating AI hallucination is a 60 billion dollar market problem and I'm giving THAT + sovereign control of your DATA plus the capability to do high-end research via framework 50 (including advanced scientific research) for FREE - under an MIT license. If you don't take advantage of this - you are an idiot.

If you do - welcome to the future.

P.S: What do I get from lying? I got 41 stars on the repo - many from high-end senior engineers at fortune 500 companies. If you're too stupid to tell the real deal from a lie then keep it moving son.

4

Dotenv-gad – typed, validated .env with CLI and grouping #

github.com favicongithub.com
0 評論2:40 PM在 HN 查看
Hey HN,

I've been building small Node/TS apps for a while and got tired of the usual dotenv pitfalls: forgetting to set required vars, type mismatches (string vs number/port), or accidentally leaking secrets in logs/errors.

So I made dotenv-gad: a lightweight wrapper around dotenv that adds strong TypeScript inference, schema-based validation, and some practical extras.

Main things it does:

- Define a schema → get fully typed env object with inference - Built-in validators for url, email, port, json, arrays, objects, etc. - Custom rules: min/max, regex, enum, transform, validate fn - Group related vars automatically (e.g. DB_HOST, DB_PORT → db: { host, port }) - Compose schemas from different modules - Redacts sensitive values in error messages - Comes with a CLI for check/sync/generate-types/fix/init/docs

It's still early (v1.3), but I use it in my own projects and it's already saves me.

npm: https://www.npmjs.com/package/dotenv-gad

Would love to hear your thoughts, especially: - How do you currently handle env validation in TS projects? - What features are missing for your workflow? - Any rough edges / bugs you've spotted?

Thanks for looking!

3

Instant-on tiny ESP32 PC with an editor, compiler, and apps installer #

github.com favicongithub.com
0 評論11:43 AM在 HN 查看
This started as a "cyberdeck" style crafts project using ESP32-S3, for some retro coding. Then I got carried away and wrote a self-hosted mini C compiler for it. Now I published the whole system that runs it. The core reusable parts are also packaged in Espressif Components Registry as "BreezyBox".

So far, this platform lives up to my dreams: instant on, snappy when optimized, flexible with resource allocation.

I upgraded to a bigger screeen: Waveshare ESP32-S3-Touch-LCD-7B, 7", 1024x600. It takes some effort to drive it with good speed on the S3, but this sort of challenge is exactly why I started this project, so I am having fun.

It captures a lot of the old school DOS era coding experience. I created a custom fast text mode driver, plan to add VGA-like graphics next. ANSI text demos run smooth, as you can see in the demo video featured in the Readme.

App installs also work smoothly. The first time it installed 6 apps from my git repo with one command, felt like, "OMG, I got homebrew to run on a toaster!" And best of all, it can install from any repo, no approvals or waiting, you just publish a compatible ELF file in your release.

It is something like Raspberry Pi, but without the overhead of a full server-grade OS.

Repo: [https://github.com/valdanylchuk/breezydemo/](https://github.com/valdanylchuk/breezydemo/)

If you like small elegant systems that punch above their weight, consider trying this sort of setup! It is surprisingly capable.

2

GLinksWWW – A lightweight browser with 9 independent clipboards #

2 評論2:55 PM在 HN 查看
Hi HN, I built a browser for power users who are tired of the "copy, switch tab, paste" loop.

Key Features:

9-Segment Clipboard: Copy 9 different items (Ctrl+Shift+1-9) and paste them anywhere.

Granular Cookie Control: Delete cookies for a specific site with one click (Great for privacy).

Built-in AI Search: Direct access to Perplexity, Google, Brave, etc., from the home screen.

Linux First: Native .AppImage and .deb support.

It's a solo project, and I'd love to get some feedback on the performance.

Download: https://drive.google.com/drive/folders/1_l4mEDoyERPMj_AXsvDC...

1

Prompt → landing page: locally-run AI with a execution layer (demo) #

github.com favicongithub.com
0 評論4:09 PM在 HN 查看
Hi HN — this is a short demo of a locally run AI workflow generating a simple landing page from a prompt.

The AI proposes changes, but all file writes and commands are applied through a constrained local execution layer rather than directly by the model. The video shows a single end-to-end run from prompt to generated page, with no manual intervention during execution.

The intent of the demo is to illustrate controlled execution, not model capability or design quality.

Repo and demo video: https://github.com/indyh91/Nyxi-Showcase

Happy to answer technical questions about the execution layer.

1

Sparklevalidator.com (For Appcast.xml Files) #

sparklevalidator.com faviconsparklevalidator.com
0 評論4:09 PM在 HN 查看
Fellow HN folks,

Many of us who build macOS apps use Sparkle to keep our apps up to date, which uses a published appcast.xml file to track current releases & metadata. If you push out a bad file you could break your updates, but there wasn't a way to validate an appcast.xml before deploying it. So I built one.

It's an NPM module, open source & MIT licensed. Also a web service that can take URLs, files, or pastes and validate as errors, warnings, or informational items. It's also a GitHub Action that's on the marketplace so you can integrate it into your CI/CD pipeline in about three lines. I also put together an XSD validator and plain .md docs as you (or your agent) are authoring.

Feedback welcome!

1

GodScore CI – a CI gate that blocks risky changes before production #

github.com favicongithub.com
0 評論6:49 PM在 HN 查看
Hi HN,

I just released GodScore CI, a GitHub Action that adds a survivability-aware gate to CI.

Most CI systems answer: “Does this change work right now?”

GodScore CI asks: “Does this change reduce the system’s ability to survive, recover, or self-correct over time?”

It runs in two modes: - Free: advisory warnings only - Paid ($10/month per repo): enforcement that can fail the build when risk crosses a threshold

It’s intentionally opinionated and designed to catch slow, irreversible degradation that traditional tests miss.

Repo: https://github.com/willshacklett/godscore-ci Marketplace: https://github.com/marketplace/actions/godscore-ci

Happy to answer questions or hear skepticism.

1

Free traffic stats, authority and WHOIS lookup (Laravel/Redis) #

trafficchecker.net favicontrafficchecker.net
0 評論8:57 AM在 HN 查看
Hi HN,

I built TrafficChecker (https://trafficchecker.net) because I was frustrated with the state of "free" SEO tools. Most require an email sign-up or have aggressive paywalls just to see basic visitor counts.

TrafficChecker gives you instant insights for any domain without an account: - Monthly visitor estimates & trends - Domain Authority calculation - Traffic source breakdown (Direct/Search/Social) - WHOIS info & Domain Age - Geographic visitor distribution

Technical Implementation:

Stack: Laravel 12, Redis, MySQL, Tailwind. Queueing: I use Laravel Horizon to manage background jobs.

For single lookups, it's synchronous/cached. For bulk CSV uploads (the paid feature), it pushes jobs to a Redis queue to process thousands of domains in parallel without timing out.

Data: Aggregated from multiple third-party analytics APIs and cached to reduce upstream costs.

It's a solo dev project. The single-domain lookup is permanently free/unlimited. Monetization is via bulk CSV processing and API access.

Would love feedback on the responsiveness and any data points you find missing.

1

I tried beating the stock market with Gemini 2.5 for 2025 #

youtube.com faviconyoutube.com
0 評論8:57 AM在 HN 查看
Hi,

I ran a fun experiment trying to beat the danish C25 index with just Gemini 2.5 in simulation.

I fed Gemini 2.5 with stock data, danish news articles, Wikipedia & Google trends top lists and much more like Eurostat data to see if I could get Gemini to beat the danish C25 stock index. (Novo Nordisk, Carlsberg, Mærsk etc.)

It could only see the current days data and backwards and was prompted to not take in forward data from its training data. It was prompted to follow these strategies among others::

- Take a longer term perspective - Be conservative with position sizes - Only trade when seeing a clear opportunity

It did pretty well, but ended up doing a couple bad moves selling at bad times - it almost feels like it panicked.

Data is from (01-01-2025 to 11-12-2025).

-

Any ideas on improving it? I think next step is using more a Chain of Thought process and multiple personas to evaluate each investment.

1

PolicyLayer – Non-custodial spending limits for AI agents #

policylayer.com faviconpolicylayer.com
0 評論11:17 AM在 HN 查看
PolicyLayer enforces spending limits on AI agent wallets without custodying private keys.

The problem: AI agents are moving into production with irreversible financial capabilities, but every agent is one bug or prompt injection away from draining a wallet. Traditional options are bad—shared seed phrases (compliance nightmare), custodial wallets (counterparty risk), manual approval (defeats automation), prompt-level limits (easily jailbroken).

How it works: - Drop-in wrapper for existing wallet SDKs (Ethers, Viem, Coinbase CDP, Privy, Solana) - Two-gate enforcement: Gate 1 validates against policies, Gate 2 detects tampering via SHA-256 fingerprinting - Keys never leave your infrastructure—we only see transaction metadata - Fail-closed: if anything fails, transactions stop (not continue) - Policies configured in dashboard: daily caps, per-tx limits, recipient whitelists

Also supports X402 (HTTP 402 payment protocol) for agents paying for APIs—per-endpoint limits, auto-discovery of new paid endpoints, duplicate payment prevention, and circuit breakers.

SDK is open source.

Feedback welcome — what would make this more useful for your agents?