QBHub: Quizbowl Meets Automation

Packet databases and other quizbowl sites, apps, or software should be discussed here.
Post Reply
yezus
Kimahri
Posts: 4
Joined: Sun Oct 07, 2018 5:33 pm

QBHub: Quizbowl Meets Automation

Post by yezus »

Hi, I’m excited to announce the release of QBHub!

Image

QBHub is a suite of digital tools that leverage the web and computing power for studying and playing Quizbowl. Each tool is built with a focus on rich functionality combined with a pleasant user interface. In short, QBHub’s main features are:

Tossup Reader
A fully featured tossup reader with powers, prompts, configurable reading speed, and automated judging. Keeps track of score along with a detailed history of buzzes + stats. The tossup question filters can be precisely configured by Difficulty, Category, Tournament, etc. You can think of it as Protobowl + QuizDB questions and filters + looks and feels much nicer. Excellent on mobile too.

Bonus Reader
Like the Tossup Reader, but for bonuses.

Frequency List
Dynamically retrieves tossup answerlines, sorted by frequency. Like the Tossup Reader, the pool of answerlines can be precisely filtered. Useful for scoping out the canon of a particular subject or difficulty level.

Clue Generator
Dynamically retrieves commonly used clues for a given answerline, sorted by relevance. Like the Tossup Reader, the pool of clues can be precisely filtered. Useful for identifying important/need-to-know clues about a particular topic.

Motivation
QBHub is a collection of tools that I’ve wanted while studying and playing Quizbowl. QuizDB is amazing and gives us tons of data, but I wanted to do more like: have a fully functional question reader with quality questions and a smooth UI or be able to leverage the web for interactive data processing. So, I built QBHub which takes a digital approach to Quizbowl and automates it for the web.

Features
  • Mobile Friendly: All tools are just as stunning and functional on phones!
  • Powerful Question Filtering: All the usual QuizDB-like filtering, along with a new From Year filter that lets you include only questions written after 2015, for example.
  • Simplicity: QBHub balances functionality with simplicity, usually opting for clean design and to be visually appealing.
  • Keyboard Support: Lots of keyboard friendly navigation throughout and between tools. Protobowl-style bindings for the Question Readers.
  • And more at the About page
Where are the questions from?
Thanks to the amazing work from QuizDB and Quinterest, their public database provides an enormous collection of questions, correctly tagged and labeled. QBHub self-hosts the latest QuizDB archive with some additional self-added metadata, to help power some of the more advanced tools like the Frequency List and Clue Generator.

What’s next?
  • Dark mode :)
  • More advanced stats and data visualization for the Question Readers
  • Text to speech for reading questions
  • Moar documentation
Thanks for checking out QBHub! If you have any feedback or suggestions, please post in this thread or feel free to PM me. For code-related things, you’re always welcome to open an issue or PR :grin: . The UI and backend are both open sourced on GitHub.

EDIT:

Why QBHub?
You're probably thinking, there's other Quizbowl tools and readers, what makes QBHub different? In the past, I've personally used QuizDB, Protobowl, Quizbug and now QBReader which I've only discovered fairly recently. To start, QBHub isn't intended to replace QuizDB but rather, complements it by adding a collection of useful tools to maximize the value of the database. Quizbug was (seems unmaintained, ssl cert is expired) great but it left many things to be desired like autojudging, a scoring system, proper formatting, mobile support, etc. Protobowl, besides being officially warned against, has many useful features, but has a limited packet/filtering selection, cluttered UI, and just feels buggy at times. QBReader looks really promising, but the question API/filtering options seem a bit limited (1 set at a time), scoring/juding system lacks some polish, the UI feels a bit scattered.

When building QBHub, I heavily focused on designing and making the question reader fully fledged with proper formatting, judging, scoring, timing, etc.
I also prioritized having a cohesive, intuitive UI with nice aesthetics and mobile support, and avoiding the Bootstrap-ish look of other sites with all info and every option dumped onto the page. QBHub tries to take best of each tool (QuizDB's database, Protobowl's interactivity, Quizbug/QBReader's reading system) and merge it into one. Besides the Question Reader, the Frequency List and Clue Generator are both first of its kind (web interface, at least) and incredibly useful, and work well both standalone and alongside the Question Reader.

I do want to note, QBReader's packet selection is excellent (has the very latest packets) since it has a custom packet parser which is really cool. It also has multiplayer support, great documentation, and is well-maintained. It seems QBReader has a stronger focus on packet selection, whereas QBHub is focused on providing a polished UI and data analysis tools, with the complete question reading experience.
Last edited by yezus on Tue Sep 13, 2022 3:38 pm, edited 1 time in total.
Sean Ye
UCSD '23
qbhub.io
User avatar
Auks Ran Ova
Forums Staff: Chief Administrator
Posts: 4296
Joined: Sun Apr 30, 2006 10:28 pm
Location: Minneapolis
Contact:

Re: QBHub: Quizbowl Meets Automation

Post by Auks Ran Ova »

This is a pretty cool project! I think your answerline parser, much like my knowledge of Constantin Caratheodory, needs some significant work though:

Image
Rob Carson
University of Minnesota '11, MCTC '??, BHSU forever
Member, ACF
Member emeritus, PACE
Writer and Editor, NAQT
yezus
Kimahri
Posts: 4
Joined: Sun Oct 07, 2018 5:33 pm

Re: QBHub: Quizbowl Meets Automation

Post by yezus »

Thanks for trying QBHub out and providing this feedback!

Sorry you had to run into this. When QBHub parses answerlines, it does look for formatting information like bolding (and underlining for prompts) as well as all of the keyword directives (like accept, or, etc) that ACF uses. Unfortunately, some of the older packets (2014 PADAWAN is one of the more recent ones) from the QuizDB database are missing this formatting information, so QBHub has nothing to parse and just assumes the entire answerline as the only acceptable answer. This is pretty difficult to resolve, since it requires it either manually adding this formatting information into the database (pretty tedious) or somehow semantically deriving the correct answer based on the question identifiers (pretty hard).

Fortunately, most packets do have proper formatting info and even for older packets, this generally isn't too big of an issue most of the time. It's unlucky that you ran into some rather long answerlines, but for shorter answerlines like kinetic energy, for example, the judger is usually smart enough to accept "kinetic" without kinetic needing to be bolded.

If you or anyone else has any suggestions in overcoming this limitation, I'm all ears!

Just to confirm, QuizDB does lack the formatting info for this bonus:
Image
Last edited by yezus on Mon Sep 12, 2022 5:50 pm, edited 2 times in total.
Sean Ye
UCSD '23
qbhub.io
User avatar
Adventure Temple Trail
Auron
Posts: 2770
Joined: Tue Jul 15, 2008 9:52 pm

Re: QBHub: Quizbowl Meets Automation

Post by Adventure Temple Trail »

yezus wrote: This is pretty difficult to resolve, since it requires it either manually adding this formatting information into the database (pretty tedious) or somehow semantically deriving the correct answer based on the question identifiers (pretty hard).

Fortunately, most packets do have proper formatting info and even for older packets, this generally isn't too big of an issue most of the time. It's unlucky that you ran into some rather long answerlines, but for shorter answerlines like kinetic energy, for example, the judger is usually smart enough to accept "kinetic" without kinetic needing to be bolded.

If you or anyone else has any suggestions in overcoming this limitation, I'm all ears!
Is there a way to add a "report answerline issues with this question" button so that there's at least a list of stuff that can be fixed manually on the back-end? If, say, the reader doesn't accept "Mali" for "Mali empire" (as happened for me today) it'd be nice to have that recourse, as some other question reading platforms have had.

Very promising stuff!
Matt Jackson
University of Chicago '24
Yale '14, Georgetown Day School '10
member emeritus, ACF
yezus
Kimahri
Posts: 4
Joined: Sun Oct 07, 2018 5:33 pm

Re: QBHub: Quizbowl Meets Automation

Post by yezus »

Adventure Temple Trail wrote: Mon Sep 12, 2022 11:13 pm
yezus wrote: This is pretty difficult to resolve, since it requires it either manually adding this formatting information into the database (pretty tedious) or somehow semantically deriving the correct answer based on the question identifiers (pretty hard).

Fortunately, most packets do have proper formatting info and even for older packets, this generally isn't too big of an issue most of the time. It's unlucky that you ran into some rather long answerlines, but for shorter answerlines like kinetic energy, for example, the judger is usually smart enough to accept "kinetic" without kinetic needing to be bolded.

If you or anyone else has any suggestions in overcoming this limitation, I'm all ears!
Is there a way to add a "report answerline issues with this question" button so that there's at least a list of stuff that can be fixed manually on the back-end? If, say, the reader doesn't accept "Mali" for "Mali empire" (as happened for me today) it'd be nice to have that recourse, as some other question reading platforms have had.

Very promising stuff!
Thanks! That's a really good idea, there's no existing system, but I'll add it to the top of my backlog. I was already planning on allowing users to override the autojudge for scorekeeping purposes, but this would be a great step towards permanent resolve. I'll probably add something similar to QuizDB's "Errors in Question?" reporting system. On top of that, I think it could be nice to add a UI page for viewing error reports, so that people can react and +1 an error report to speed up the validation procdess. You can follow the UI/backend progress of this feature here and here.
Sean Ye
UCSD '23
qbhub.io
thedoge
Lulu
Posts: 62
Joined: Thu Jul 16, 2020 10:45 am

Re: QBHub: Quizbowl Meets Automation

Post by thedoge »

Always nice to see my work get outdated haha.

On a serious note, very impressive and I really like the clean interface! Perhaps some competition will inspire me to finally clean up the QBReader UI a little bit and work on the outstanding issues for the site a little bit more.
Geoffrey Wu
NNHS '21 | Columbia '25
creator of qbreader.org
User avatar
Alejandro
Wakka
Posts: 226
Joined: Mon Jul 10, 2006 8:39 pm
Location: Seattle, WA

Re: QBHub: Quizbowl Meets Automation

Post by Alejandro »

This is really cool! It's great seeing the amount of progress being made in this area. One suggestion I'd make is to make it clearer what "Score" refers to in the clue generator, specifically what value a good score for a clue should have.
Alejandro
Naperville Central '07
Harvey Mudd '11
University of Washington '17
yezus
Kimahri
Posts: 4
Joined: Sun Oct 07, 2018 5:33 pm

Re: QBHub: Quizbowl Meets Automation

Post by yezus »

Alejandro wrote: Thu Sep 15, 2022 5:54 pm This is really cool! It's great seeing the amount of progress being made in this area. One suggestion I'd make is to make it clearer what "Score" refers to in the clue generator, specifically what value a good score for a clue should have.
Thanks and great suggestion! I'll add a short description somewhere, but for anyone curious, the clue score is the aggregate tf-idf score of the words in a clue.
Sean Ye
UCSD '23
qbhub.io
Post Reply