19 ms·
Show HN: I'm 15 and building a live quiz app for classrooms: Quickz
- thebiblelover7 5y agoHi 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!
- varun_ch 5y agoThank 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.
- stickyricky 5y agoDo 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.
- shafyy 5y agoThere are many successful businesses who have an open-sourced code base.
- ianbutler 5y agoNo, 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.
- shafyy 5y agoThere 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.
- ianbutler 5y agoFair point! I had forgotten about Plausible.
- hnlmorg 5y agoIt'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.
- Zababa 5y agoYou'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/1563cddea1002958f96e7ba9519972d9 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 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!
- jarenmf 5y agoThat's truly impressive, keep going! I hope your teachers and classmates were interested/supportive.
- milkers 5y agoCongrats Varun, I look forward to your Product Hunt launch.
- replwoacause 5y agoNice 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.
- varun_ch 5y agoThank 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.
- oneplane 5y agoYou might have some luck using Playwright and MiniBrowser for that https://schepp.dev/posts/running-webkit-on-windows/ https://schepp.dev/posts/running-webkit-on-windows/ If you are on Linux, you can use the Epiphany browser which also uses WebKit.
- replwoacause 5y agoAhh ok so then it was my mistake. :) Keep up the good work!
- deleted 5y ago[deleted]
- barbarr 5y agoAmazing work!
- SwiftyBug 5y agoThat'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!
- varun_ch 5y agoThank you!
- g105b 5y agoThis 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.
- varun_ch 5y agoThank you!
- martneumann 5y agoSeriously impressive! Great performance, too, from what I can see, and no `console.log` spam :)
- theindianappguy 5y agoI build marksplus when i was 17 it helps create quiz
- johnwheeler 5y agoWhat css/UI framework is that? Looks really good
- jaywalk 5y agoVery 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.
- varun_ch 5y agoThank you! That's a pretty good idea.. I've just pushed an update that removes the hints.
- gspr 5y ago> 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?
- kevinventullo 5y agoThe original version of Facebook had the Top Gun quote “Too close for missiles, switching to guns” at the bottom of the page.
- jaywalk 5y agoCompletely different scenario.
- jaywalk 5y agoDo 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.
- keewee7 5y agoThat is very impressive! What is your tech stack?
- varun_ch 5y agoThank 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.
- dag11 5y agoHey 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!
- varun_ch 5y agoThank you! I really appreciate the encouragement!
- dimgl 5y agoThis is actually sick. Good job man. I wish at 15 I had gotten more into coding, so you're excelling right now. Congrats!
- varun_ch 5y agoThanks!
- stevofolife 5y agoThis 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!
- varun_ch 5y agoThank 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.
- imwillofficial 5y agoHell yeah! Keep after it kid! You’ll go far
- deleted 5y ago[deleted]
- analog31 5y agoCongrats! At 15, I had just learned about the existence of coding, from my college age brother. What a world we live in today!
- caymanjim 5y agoCongrats on securing a short, catchy, memorable, pronounceable domain name. That's quite an accomplishment in itself.
- varun_ch 5y agoThank 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.
- swaggyBoatswain 5y agothis 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
- varun_ch 5y agoThank you! What was the issue you ran into with the scoreboard?
- user3939382 5y agoI 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...
- aj7 5y agoError invalid PIN
- sillysaurusx 5y agoI 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!
- varun_ch 5y agoThank you so much!
- GOATS- 5y agoThis 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. :)
- mbo 5y agoHey 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!
- varun_ch 5y agoThank you! I'm working on building a portfolio site at varun.ch :)
- rswail 5y agoAwesome 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!
- varun_ch 5y agoThank you!
- giarc 5y agoThis 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.
- varun_ch 5y agoThat's awesome! Thank you!
- varun_ch 5y agoHi 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 :)
- bonestamp2 5y ago> 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.
- varun_ch 5y agoThank 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. :)
- bonestamp2 5y ago> teachers can specify the reason a question is correct Very nice insight! Best of luck.
- camhart 5y agoCongrats! 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.
- Insanity 5y agoha, 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).
- debaserab2 5y agoStill plenty of games out there to mod for, but you generally have to look for indie titles.
- Insanity 5y agoAny good ones you recommend?
- debaserab2 5y agoIt 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 https://store.steampowered.com/search/?category2=30
- tester34 5y agoDid the game name start with 'T' letter?
- 5y ago
- peterpost2 5y agoThis 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?
- rurcliped 5y agoanother 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-questions-and-answers-are-not-visibile-in-the-source-code-of-the-gener https://mentimeter.canny.io/feature-requests/p/make-sure-que...
- varun_ch 5y agoI'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.
- varun_ch 5y agoThank 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 :)
- shafyy 5y agoHey 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 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?
- emj 5y agoUsually 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.
- varun_ch 5y agoThank 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.
- shafyy 5y ago
- goldcd 5y agoThat'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).
- whoibrar 5y agoTotally 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.
- varun_ch 5y agoI've just added a small guide on what Quickz is, and how it works. https://quickz.org/guide https://quickz.org/guide Thanks!
- goldcd 5y agoLooks 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.
- varun_ch 5y agoThank 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.
- ykevinator2 5y agoCongratulations this is great!
- varun_ch 5y agoThank you!
- throwawayHN378 5y agoThis is basically how I learned to code except I was building a different idea. Keep going!!!