Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: I'm 15 and building a live quiz app for classrooms: Quickz (quickz.org)
304 points by varun_ch on Jan 7, 2022 | hide | past | favorite | 95 comments



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. :)


> teachers can specify the reason a question is correct

Very nice insight! Best of luck.


Allow top players to challenge eachother and reset leaderboards every Monday similar to an MMO


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.


Thank you! That's a pretty good idea..

I've just pushed an update that removes the hints.


> 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.

When did the world become so saddeningly serious?


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.


While I completely agree, I just wanted to point out that Quickz quizzes (and Kahoots) shouldn't be used for proper graded tests.


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.


The original version of Facebook had the Top Gun quote “Too close for missiles, switching to guns” at the bottom of the page.


Completely different scenario.


That's really nice and clean.

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.


Totally agree with this one, was expecting some sort of visual demonstration or walkthrough about core features and how to use them.

As said in post this is still under construction, so this is where it can be improved.


I've just added a small guide on what Quickz is, and how it works.

https://quickz.org/guide

Thanks!


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.


ha, definitely got into it for similar reasons!

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).


Still plenty of games out there to mod for, but you generally have to look for indie titles.


Any good ones you recommend?


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


Good old Silkroad Online!


Did the game name start with 'T' letter?


Nope, R.


RuneScape? The botting and private server scenes inspired many a programmer out there :)


Yep you got it. But I grew up on the original runescape... classic. I still love the game, even though it's killed.

https://www.youtube.com/watch?v=Kws89gVKoxw


Inspired me, my favorite private server was 2speced, tyler and bluur were to best to ever do it


Are you thinking of Tibia?


Yes


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!


Thank you so much!


That's truly impressive, keep going! I hope your teachers and classmates were interested/supportive.


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!


Thank you! I really appreciate the encouragement!


Seriously impressive! Great performance, too, from what I can see, and no `console.log` spam :)


I build online assessment edtech for a living. Don't do it kid, it's a dark path.

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...


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?


Thank you, I really appreciate it!

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!


Very interesting, thanks for sharing.

> 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.

To Varun, this is a nicely done clone.


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!


Thank you!


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!


Thank you!

I'm working on building a portfolio site at varun.ch :)


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!


Thank you!


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.

Thanks for the feedback! I really appreciate it.


You might have some luck using Playwright and MiniBrowser for that https://schepp.dev/posts/running-webkit-on-windows/

If you are on Linux, you can use the Epiphany browser which also uses WebKit.


Ahh ok so then it was my mistake. :)

Keep up the good work!


This is seriously impressive! Really like the clear layout, maybe a bit too large text everywhere, but I guess that's just a my preferences :).

How did you make sure the application is secure? XSS/SQL Injection?


Thank you! I have some experience with web security as I participate in a couple bug bounty programs, and I know the common mistakes to avoid.

Nothing is perfect, so if you find anything please let me know at varun@quickz.org :)


another class of security issues that has been seen in other quiz apps is client-side disclosure of questions/answers, e.g., https://mentimeter.canny.io/feature-requests/p/make-sure-que...


I've definitely had some fun in class with websites that do too much client side logic. ;)

I made sure to do all the important calculations server side, and only send the necessary data to clients.


This is cool. I'm going to try and host a trivia "virtual coffee break" with my team in a few weeks. I'll use this and let you know how it goes.


That's awesome! Thank you!


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.


Thank 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!

What was the issue you ran into with the scoreboard?


This is amazing! How did you get into coding? Can you tell us about your journey up to this point? I'm sure many people are interested to hear!


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.


Congrats! At 15, I had just learned about the existence of coding, from my college age brother. What a world we live in today!


This is actually sick. Good job man. I wish at 15 I had gotten more into coding, so you're excelling right now. Congrats!


Thanks!


Congrats on securing a short, catchy, memorable, pronounceable domain name. That's quite an accomplishment in itself.


Thank you! Unfortunately it's not a .com, but I'm really happy to have even gotten the .org anyway.

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.


This is basically how I learned to code except I was building a different idea. Keep going!!!


Congrats Varun, I look forward to your Product Hunt launch.


What css/UI framework is that? Looks really good


Tailwind :)


It looks fine, but it's an incredibly generic Bootstrap-looking design. Nothing special about it that I can see.


That is very impressive! What is your tech stack?


Thank you! I've got a SvelteKit frontend, powered by a Node.js (using Express) backend, with a MongoDB database. This is all self hosted at home.

I use websockets to do the live communication, and each game room gets a Node.js worker thread assigned to it.


Do you use raw websockets or Socket.io?


Raw websockets on the frontend, and express-ws[0] on the backend.

[0] https://www.npmjs.com/package/express-ws


Hell yeah! Keep after it kid! You’ll go far


Congratulations this is great!


Thank you!


Error invalid PIN


Amazing work!


I build marksplus when i was 17 it helps create quiz


Hi Varun! This seems like a great project! Have you thought of open sourcing your project? (maybe you already have, I just haven't seen it yet)

I've been looking for an open source alternative to kahoot and this looks like a great option ;).

Keep up the great work!


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.


There are many successful businesses who have an open-sourced code base.


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.


There is for example Plausible or Gitpod. Sure, they are not billion dollar businesses, but successful businesses nevertheless.

But even if they would open-source it now, it doesn't mean that they can still go for an open core model later.


Fair point! I had forgotten about Plausible.


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.

With all that said, congratulations again!




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: