Show HN: I'm 15 and building a live quiz app for classrooms: Quickz
quickz.org
quickz.org
It functions similarly to Kahoot, which is a learning platform that we often use in school. I had some annoyances with the direction and features of Kahoot, so I decided to make my own.
Teachers can create a deck of questions, and host it to their classes. Students will join with a Game Pin, and answer questions simultaneously. Students are rewarded points for answering correctly, and quickly. At the end of the game, a leaderboard is displayed that shows the top players.
To encourage students to win, the top players are rewarded "creditz", which can be used to unlock more character customization options.
I've just been working on Quickz for a couple months now in my free time, so it's definitely not full release yet, but please have a look. This is my first big project, and I'm very proud of it :)
Great job!
One thing to consider, especially if you plan to monetize this, is how you're going to differentiate yourself from Kahoot. For example, you could highlight the top three players in a fun way like kakoot does, but also have a list below so people below the top 3 can still see how they did compared to others.
The major focus that differentiates Quickz is that I really want to make something that is educational and promotes learning.
For example, teachers can specify the reason a question is correct while making a deck. This is something that I felt was missing while playing Kahoot because I find that it's easier to remember and understand why something is correct if I'm given an explanation for it.
In terms of monetization, a "pro" plan for teachers that stores and aggregates game statistics is the current plan, but that's far away from now. :)
Very nice insight! Best of luck.
I've just pushed an update that removes the hints.
When did the world become so saddeningly serious?
You can throw all the Alt+F4 and Ctrl+W jokes you want into a game. No harm, no foul. But they have no place in an application like this.
As constructuve feedback, maybe it would be good if there was a quick way from the landing page to see how the quiz works (animation or short video).
Maybe there's a better way I didn't find, but it's a little clunky to have to host a game and then login from another browser to see that the quiz actually looks like (and only then as a 1 player quiz, so you don't see the benefit of leaderboard etc).
As said in post this is still under construction, so this is where it can be improved.
Thanks!
I was thinking it would be easier to use for a pub quiz/conference as it removes the need to enter the url. Host puts up their screen on a projector, participants scan from their phones if they want to join. Could also use the host screen to show how many people have joined and spash up their names as they do.
This doesn't work for single player or previewing the deck, so I'm working on a 'practice mode', optimized for practicing the questions alone.
And then came modding etc. Sadly, it seems like modding is dying, at least for the few modern games I'm interested in. (So really kudos to minecraft for teaching a new generation about mods and programming along the way, my nephew is going through that phase).
A good way to find games that have mods is to look at the "Steam workshop" page on a steam game listing. Here's the listing sorted by games that have a "Steam workshop" (which is kind of steam's interface for managing mods): https://store.steampowered.com/search/?category2=30
Keep it up everyone :) Just really happy that people are so encouraging.
And of course, great work Varun. I look forward to what you make next!
It's so valuable working on these kinds of projects, where you're not just building things for yourself but actually building things for your peers to use. It'll create a feedback loop where you're iterating towards actual people's needs. Keep working on projects that people around you can use and you'll go far!
No but seriously -- awesome work!
No but seriously, how do you normalize score processing for a randomized set of multiple choice questions with partial-score matching questions?
Back to work...
I like the gamification/customization aspect and I guess that resonates well with your fellow students.
Can you tell us a bit more about the tech stack you're using and about some product choices you made? E.g., why do you only allow log in with Google (is it because that's what students use anyways?).
I make and run a small project called Fugu (https://fugu.lol), which is an open-source and privacy-friendly product analytics tool. I'd love to offer a forever-free account to use for Quickz if you like. Just send me a quick email if you're interested: canolcer@hey.com
Edit: Somehow, I'm not able to select answers when I'm hosting a deck. I tried with Safari and Firefox. What am I missing?
To Varun, this is a nicely done clone.
Quickz is built on a SvelteKit, powered by a Node.JS backend that handles the database and creates a thread for each game room. I chose MongoDB for the database, because I found that the non relational approach helps with the complex structure of the decks. It's self-hosted at home using a Dell Optiplex running Ubuntu Server right now, but eventually I'll have to move to a better hosting setup. :)
Currently it only supports Google login, mostly because I don't trust myself enough to safely manage and store credentials. Many schools are already in the Google ecosystem, so for now it should be enough. However, I'm not a huge fan of my website depending on a single third party, so I'm going to have to work on that soon.
The host's screen is just a mirror of what the players will see, and so you can't interact with it, apart from going forwards and back. I think this needs to be communicated better, so I will be also working on improving the UI/UX on that.
> The host's screen is just a mirror of what the players will see, and so you can't interact with it, apart from going forwards and back. I think this needs to be communicated better, so I will be also working on improving the UI/UX on that.
Ah, I see. That makes sense, sorry for my noob question =D
That's senior-level decision making right there!
Storing creds is tough, all your users already have Google accounts, and most of them probably prefer logging in with a click rather than remembering a new set of creds. It also puts a higher barrier of entry for fraud, since new Google accounts require phone number verification.
I'm a SRE so if you need ideas for the hosting/infrastructure side of things, feel free to ask!
The only bit of advice on the UI, Decks should be "Deckz" :)
Although that joke with the "z" may not work when translated into other languages.
There are many web developers with greater age, experience, and training, that wouldn't be able to do what you have done, so you should definitely be proud of your achievements!
I'm working on building a portfolio site at varun.ch :)
Are you trying to select an answer on the host's screen? It's just a mirror of what students see that's intended to be projected on a big screen in a classroom.
Students select choices on their own devices, and the answers are reflected on the host's screen. I'll work on some sort of first time guide soon.
Thanks for the feedback! I really appreciate it.
If you are on Linux, you can use the Epiphany browser which also uses WebKit.
Keep up the good work!
How did you make sure the application is secure? XSS/SQL Injection?
Nothing is perfect, so if you find anything please let me know at varun@quickz.org :)
I made sure to do all the important calculations server side, and only send the necessary data to clients.
I did run into an issue on the scoreboard? at the very end of the session. I love the avatar options for users for unlocking character customizations, they look so simple and fun
the UI for creating decks is much simpler than kahoot for sure as well, and I like the option for creating more than 4 answers too
What was the issue you ran into with the scoreboard?
I was immediately hooked, and spent the afternoon in the public library checking out some activities on code.org. My parents checked out a guide for MIT App Inventor, and I created my first few coding projects there.
Additionally, I discovered MIT's Scratch, and spent many years creating projects on there.
I found that Scratch had Discussion Forums, and a section titled "Advanced Topics". Other kids were sharing websites that they made, and I wanted to fit in and be like them. I then spent a while asking questions and trying to make my own websites. Eventually I must have gotten bored because I didn't do much with websites for a couple years, and instead stuck to Scratch's editor.
I picked back up HTML, et al. when I was bored during quarantine and, for some reason, this time it clicked. I created various JavaScript projects, and I've been working on increasingly more challenging projects. It's fun to set aside a few hours and just code something new.
My goals for the future are to learn some more lower level languages (eg. Rust), and hopefully study hard to get into a nice university.
It seems like there's already a lot of stuff on the web under the name Quickz, so improving my SEO might be a challenge.
I use websockets to do the live communication, and each game room gets a Node.js worker thread assigned to it.
I've been looking for an open source alternative to kahoot and this looks like a great option ;).
Keep up the great work!
Perhaps I might consider open source in the future. It's a difficult choice.
I have no idea what the intentions of the GP were but you should definitely retain ownership of your code. Try to sell it. Try to get ad money. If nothing else just have fun with it.
GitLab as an example keeps them in the same repo but separates the structure so business features are clearly and distinctly licensed under a business license.
I don't know of a serious business that has a completely open source code base.
But even if they would open-source it now, it doesn't mean that they can still go for an open core model later.
I'm not saying this should be open sourced either though. In fact it "shouldn't" be anything. It's something created for fun. All this pressure placed on a 15 year old to either open source or create a business out of it is insane. Just let the kid have fun like we did when we were hacking stuff together at 15.
> The only people entitled to say how open source 'ought' to work are people who run projects, and the scope of their entitlement extends only to their own projects.
> Just because someone open sources something does not imply they owe the world a change in their status, focus and effort, e.g. from inventor to community manager.
> Open source is a licensing and delivery mechanism, period. It means you get the source for software and the right to use and modify it. All social impositions associated with it, including the idea of 'community-driven-development' are part of a recently-invented mythology with little basis in how things actually work, a mythology that embodies, cult-like, both a lack of support for diversity in the ways things can work and a pervasive sense of communal entitlement.
I can totally understand not choosing to open source it, it's your project and yours alone. But that also means that you're free to put it on the internet under a permissive license, and refuse any contribution. Another example of the "Open source, not open contribution" stance is SQLite: https://www.sqlite.org/copyright.html. There are lots of entitled people asking for free development time from maintainers. You don't owe them anything. This software is your intellectual property. It is yours and yours alone, no one should expect anything from you. With all that said, I understand not open sourcing it to not even take the risk, it's very easy to say "just ignore those people", but it can be very hard to do.
With all that said, congratulations again!