Hi HN. My name is Varun, I am 15 years old and I'm building a web app called Quickz.
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 :)
> a leaderboard is displayed that shows the top players
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.
Thank you! The leaderboard currently emphasizes the top 3 players, but it does show everyone too.
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 impressive! You've got a bright future ahead of you. Just get rid of the cutesy "hints" on the login page (Press Alt-F4 to win, etc.) I know you're just trying to have some fun, but if you want people to actually start using this (and it seems like you do) they're not going to be happy if students end up closing their browsers in the middle of quizzes because they aren't in on the jokes.
> if you want people to actually start using this (and it seems like you do) they're not going to be happy if students end up closing their browsers in the middle of quizzes because they aren't in on the jokes.
Do you not see any issue with this being used for an actual, graded quiz and a student being kicked out because they thought pressing Alt+F4 would give them an advantage? It's not like they were funny but unrelated and harmless hints. They were not obvious jokes to non-technical people, and could directly harm the students if they took them seriously.
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.
I think a lot of professors in European universities use it for weekly tests (10% of your final score). Case in point, I went to 2 universities in 2 different countries and more than 3 professors in each used it like that.
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).
Thank you! You're right, a landing page is definitely something that I should spend some time on. Essentially the idea is that the host's screen is projected onto a big screen, and players look back at it to see the leaderboard.
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.
Looks good.
On other suggestion I thought of, would be to put a QR code on the hosting screen.
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.
Congrats! Keep it up. At 15 I was writing bot scripts to run video game characters around for me haha. I soon realized I liked coding more than even playing the game.
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).
It depends on what kind of games you like, but in the past few years ones that I've enjoyed that have great mods are: Rimworld, Slay the Spire, and Factorio.
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
I just want to cheerlead the Hacker News community for a moment. You’re all awesome! I scrolled down expecting to see the inevitable negative comment, and there’s zero, zip, nada. It made me hopeful that in 12 years or so my son or daughter might be able to do a Show HN.
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!
Hey Varun, this is fantastic and I see a ton of good technical and ux decisions made here, esp. for your age! As someone who was pursuing similar stuff at your age, all I can say is you've got a really fun career just ahead.
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!
Hey Varun, that's super impressive - At 15 I was playing World of Warcraft for 12 hours a day - I wish I started earlier with coding :-)
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?
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.
> 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.
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 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
Usually you do not answer question when hosting but display the questions on a big screen, in Kahoot the participants do not see the questions on their own screens but have to watch the big screen of the presenter.
Awesome work and clean website, I clicked on Decks and could work out what was happening straight away.
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!
Hey man, this is super well done and tastefully built. Only thing I think it's missing is a link to a portfolio website or a LinkedIn. I think you've got a fantastic opportunity here to promote yourself and maybe secure an early part-time internship. Best of luck - you've got a bright future ahead of you!
That's very cool! My first big project was also as a teenager, and it was a mobile phone app for my school as well. I ended up being paid by the school to maintain the app after I graduated. It was a lot of fun! Keep up, Varun. Quickz looks awesome and I personally like the stack you chose. Svelte is great!
Nice job! Have you tested it in Safari? When I go to the "Science Experiments & Variables" quiz and click host, start, and then begin, the music plays and the countdown timer appears but I'm not able to select any of the choices.
Thank you! Unfortunately I don't own a Mac, so I can't test it on Safari.
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.
This is so fantastic to see. Like many responses here, I'm projecting my own 15 year old self into your position, and all I can say is keep it up - the future will be great for you.
This is really cool, and way ahead of anything I made when I was 15. You have a bright future man, looking forward to seeing what you end up doing with this project in the future. :)
this is super impressive! I was actually looking for alternatives to use over kahoot for my local tech meetup for giving free tshirts, I think I like this more than kahoot
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
Thank you! Our school encouraged us to participate in Hour of Code back when I was in the 2nd or 3rd grade.
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.
Thank you! I'm a bit torn on open source. On one hand, I absolutely love the freedom of open source software and I want to help support that movement too, but I don't want to deal with the burdens of being an open source maintainer (eg. what happened to faker.js). I would much rather code what I want, at my own pace, than deal with feature requests/bug reports/questions/pull requests/etc. while Quickz is still growing.
Perhaps I might consider open source in the future. It's a difficult choice.
Do not open source this... You've created a business not a library or a framework.
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.
It's also crowded market with lots of free alternatives out there already. Not everything posted as a Show HN is a business opportunity waiting to be exploited.
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.
No, they most likely have an open core model where advanced and business oriented features are typically kept as a separate code base with distinct licensing.
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.
You've made a great project, and I can see your concern about open source. However, just to give you the opposing point of view, open source doesn't always mean community-driven development. For example, Rich Hickey, creator of Clojure, has an article about that: https://gist.github.com/richhickey/1563cddea1002958f96e7ba95.... From the article:
> 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.
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 :)