Hi! I'm the dev here! I built this on a whim at after seeing someone ask for it on twitter. It was 12:30 at night but I couldn't pass down the opportunity to build it.
The code is very simple, there's no backend at all actually, I believe because wikipedia's api is very permissive and you can just make the requests in the frontend. So you just simply request random articles, get some snippets, and the image attached!
I used Claude and cursor do 90% of the heavy lifting, so I am positive there's plenty of room for optimizations. But right now as it stands, it's quite fun to play with, even without anything very sophisticated.
Shoutout to APIs that do not enforce CORS preventing requests be made from FE without a need for a BE. There's so many toy apps I started building that would have just worked if this was more common, but they have CORS restrictions requiring me to spin up a BE which for many one-off tools and personal tools just isn't worth doing and maintaining. Same with OAuth.
Yes, exactly. People who want to "disable" it have no idea how the web works. Developers have all kinds of misconceptions about what it is, I even heard someone saying it disallows backends to call their API.
I would only use something like this that requires absolutely no authentication. For example, I had a one page app that showed me instantly when the next shuttle(s) were scheduled for my stop. Instead of having to click through multiple steps, this allowed me to see it in one step. As far as I know, I was the only user for this thing I built and put up on gitlab pages. I don't know exactly because I didn't bother to track who visited the page.
The only caveat I feel is that the speed of the API is definitely not comparable to something more purpose built for this kind of scale, but overall I'm happy as it works well enough that I don't have to think about it too hard.
I think Github Actions could be used for scheduled builds, so that the initial load would have random articles right in. Further requests could then be made in advance so users would not notice any delay from the API.
Edit to the other comment: the cron job wasn't being triggered at first, but turns out it's just slightly delayed. The example has been updated hourly since then.
You can use a schedule trigger [1] on GitHub Actions.
The whole gist is that the initial data can be injected into the static files during the build step, or even saved as separate JSON files that the app can load instead of reaching out to the API. As long as you're willing to refresh the static data from time to time, of course.
I created a basic example at https://schedbuild.pages.dev/ with a rough, manual implementation of a build step. Frameworks like Next.js offer a more sophisticated approach that can render the entire HTML, allowing users to load the static page with the initial data already rendered without Javascript, and subsequent interactions taking over from there more seamlessly.
In my opinion this is a reasonable alternative to setting up a backend just for this.
I attempted to implement the schedule trigger [1] on GitHub Actions as an example, but it is not being triggered as I expected. It needs more digging if you're so inclined.
Aside from that, the whole gist is that the initial data can be injected into the static files during the build step, or even saved as separate JSON files that the app can load instead of reaching out to the API. As long as you're willing to refresh the static data from time to time, of course.
I created a basic example at https://schedbuild.pages.dev/ with a rough, manual implementation of a build step. Frameworks like Next.js offer a more sophisticated approach that can render the entire HTML, allowing users to load the static page with the initial data already rendered without Javascript, and subsequent interactions taking over from there more seamlessly.
If the Github Actions schedule feature is ever sorted out, in my opinion it's a reasonable alternative to setting up a backend just for this.
Shameless plug for Magic Loops -- we run code in isolated MicroVMs and students love our lack of CORS enforcement, as the APIs they build can be easily integrated into their hackathon projects :)
This is awesome. I can imagine you likely are not interested in building one but this site could hugely benefit from a recommendations algorithm.
For example an algorithm could understand how much a user really enjoys a certain article and then starts sending the users down a rabbit hole of similar and tangential content. Designing, building and maintaining an algorithm like this though is no small feat.
I would not be surprised if Claude + Openai's reasoning models could develop a simple rudimentary algorithm that would work. Of course it wouldn't be as sophisticated as something like TikTok and would require a lot of fine tuning, but it's definitely possible.
Personalization is not inherently bad and I believe personal feeds can be engineered in a way that doesn’t result in echo chambers but in communities.
The problem is capital incentives are not aligned with making these interfaces which is why we have the feeds we have today on Facebook, Twitter, etc. I look forward to the innovations happening on bring-your-own-algo Bluesky.
As a side note, I’m currently building a personalized Hacker News service. I might throw it at Show HN once it gets closer to completion.
As soon as I saw the tweet, I realized the opportunity was there waiting for me. And also, twitter's algorithm is REALLY good at pairing the right tweets to one another, so many people saw those two tweets side by side, which added to the humor.
> Indeed makes you wonder what's there about the sliding that makes it so entertaining.
Check out "skinner box" - the fact that you may get something interesting or may not is more exciting than just getting something good. They're lootboxes of information/entertainment.
This is super super cool. I’ll tell you the single barrier to me actually using this regularly—it needs an algorithm. It would be so cool (and a good learning project) to even build the simplest of recommendation algorithms behind it based on my likes, dislikes, bookmarks, and whether I click “read more”.
Nice job whipping up something so simple, yet elegant, so fast.
This is what I love about LLM tools like cursor, it makes the effort to just try and build something so low, you can just try it one night, and can make cool things that might not have been built otherwise.
This is freaking really cool, I’m at work browsing HN instead of doing actual work, but I’ll look into it more later, but the “killer feature” I think would be to add audio narration do this, or a quick summary, I would scroll that all day…
Next steps: ingest these offline and process them into quick 30 second videos with the most salient facts. TTS narration, additional images. Generate stock video using the images in the API and perhaps text-to-video. That would be a killer app.
Bonus: come up with a heuristic or model to filter out or de-rank universally uninteresting articles.
Very nice! I wonder if it would be possible to see articles related to a topic. Maybe using the hubs as a starting point and then following the related links in each article?
Wonder what it would take to add a simple algorithm to this. Part of what makes short media apps (dangerously) addictive is that they eventually learn what you like and feed you more of that. An app like this with such an algo could help with the stickiness (and presumably get us away from the other apps at least for a little bit). "Oh this person likes science stuff, let's feed them more, oh they specifically like stuff related to quantum mechanics, let's place a summary paragraph from a related page topic in there."
On one hand I am thinking about what a very basic algorithm would like (maybe even just categories I might do) and maybe how it would make people happy.
On the other hand, I'm not sure exactly the details of wikipedia's api TOS. Also as it stands this website is entirely in the frontend at the moment, and I'm enjoying just scaffolding out what I can with limited a more limited set of tools to speak.
I realize now the suffix "tok" implies a crazy ML algo that is trained every single movement, click, tap, and pause you make, but I don't think I really want that.
It should be possible to keep this all front-end, even with some basic algorithm for the searches - just use localStorage. That keep things simple and resolve privacy concerns, as people own their data and can delete them any time.
Probably? I have no frame of reference, I've never done giant distributed systems before. I just noticed that earlier version had some slowdowns but I think I was just improperly fetching the images ahead of time.
About the “Tok” suffix, I also think that while it has the algorithm connotations, it also has been used a lot to describe communities that have formed on TikTok. For example, BookTok (where some bookstores have started to pay attention to how people on TikTok can make some books popular again seemingly on a whim) or WitchTok.
browser-store and cookies, among other tools, provide nice front-end-only persistent storage for holding things like recommendation weights/scoring matrices. maybe a simple algorithm that can evaluate down from a few bytes stored in weights might be all the more elegant.
For each 10 seconds of reading, increment the tags on the current article as "favoured". Then, poll randomly from those tags for the next recommended article. Add some logarithms of division to prevent the tags from infinite scaling.
Can you tell that YouTube reels engineers? Because their Algo is a disaster where I'm only fed Sopranos and NBA content. I don't hate it, but god I have so many subscriptions (civil aviation, personal finance, etc) that I never ever see on my feed.
That's what I was thinking this might have already. Maybe this could get insights from the articles linked from the ones you like too? Sort of like https://www.sixdegreesofwikipedia.com/
The relatedness of articles is already baked in with blue wiki links too. So it shouldn't be too hard to make something that just looks for neighbors.
Now, something that learns that if you like X you might like Y, even if they are disconnected. Is closer to the dystopic ad maximizing algorithm of TikTok et al.
Since its text, especially text with links to other articles, there is no need for tags.
If I had a clue how to do this (sorry, just a neuroscientist), I would probably create "communities" of pages on a network graph and weight the traversal across the graph network based on pages that the person liked (or spend X time on before).
This would eventually collapse to people reading articles they do not actually like (i.e. get happiness from reading), I think, maybe tragic history facts or something like that?
The truth of social media harm is that it's more about humans than the algorithms themselves. Humans just tend to engage more with negative emotions. Even IRL we tend to look for intrigue and negative interactions, just look at the people who stay with toxic partners even with no financial ties, or even friend groups who turn into dysfunctional gossip fests. The only way to avoid this is by actively fighting against this tendency, and having no algorithm at all in an application helps.
it starts with sourcing - finding a massive set of interesting pages, then going through and giving them tags. planning on adding this to my web discovery app as well: https://moonjump.app/
This is very nice, I adore the simplicity. Sometimes the summary gets cut off which is a bit frustrating,I think you should be able to finish reading the summary without click the read more link, but other than that, bravo.
Awesome. I have a project with a similar tik-tok-esque philosophy for serving all sorts of noncommercial content from the web. The interface is one button and a random page is embedded in an iframe. I use random wikipedia pages as a fallback in case my algorithm returns a dead page.
This is awesome. I've been passively looking for a Stumbleupon replacement, but never stumble upon it. Thank you for posting here. You have given me back a slice of old internet.
Yeah, pretty similar to StumbleUpon. Right now the links are sourced from a handful of are.na channels and some other collections of content. I plan on warehousing this data and tagging it such that users can configure categories of sites that they'd like to stumble upon. HN submissions are mixed into the algorithm as well.
I like the idea, but one thing about Wikipedia is that with technical or granular topics it approaches things in a focused way. A specific molecular biology term's page isn't there to explain exactly how it fits into a larger biology topic. It makes random pages difficult to glean information from.
Even wikipedia articles I understand, more on computer topics, fall into the category of "the only people who understand this page are people who ... already understand it / don't need to read this".
Granted sometimes the social media context is kinda opaque, but usually "man fall down it funny" is pretty universal.
Wikipedia math articles all remind me of what i learned in High School, that math is absolutely the worst to learn from someone who "just gets it" as often those folks have no concept how someone else might not "just get it". I suspect the wikipiedia articles are written by folks who "just get it".
I'm around calc 2 level, and spent some time learning ANN architectures, but it's taken a very long time to increase my ability to parse the more arcane topics since graduating.
For example, this[1] is something I'd like to be able to just glance over and know all the applications and appreciate the beauty... but it's very hard to prevent my eyes from glossing over. Maybe someone has a youtube video on the topic that makes it easier to catch up.
I can understand that. Having said that some topics (history) are surprisingly easy to pick up articles with lots of background and etc. If you look up a battle you'll get a short history of the war, days before the battle, explanations why say a given soldier might struggle and etc.
Other topics are almost dictionary level simplistic.
Some other commenters have offered the idea of an algorithm to steer the randomness of the articles. I wonder if an algorithm would help with this issue of having random articles be too technical for you even though you are interested in the larger topic.
I like to think of it as amusingly “dramatic” rather than false. ;)
Way back when I was in college and the internet was new-ish. There were a few places you could ask math questions. A classmate of mine found that if he just asked a question online he would never get any responses. So what he would do is add some false generalizations in his question.
In doing that he would be inundated with people answering his question, even if just to prove him wrong.
That's a fun law. I've bumped into it a few times asking an AI related question and part of my understanding was a bit off. Even being slightly off rather than completely seems to bring out more enthusiastic responses.
This, plus an AI generated voice reading a TikTok-creator style catchy summary, plus TikTok's actual algorithm for surfacing content would actually make a decent app I believe.
EDIT: Also the name should be WikTok instead of WikiTok.
I've built something similar a few years ago, combining Wikipedia content and open domain pictures/videos to create long form videos automatically. Uploaded a bunch on YouTube as well. Wrote a blog post in case anyone is interested: http://ailef.tech/2020/04/29/turn-any-wikipedia-article-into...
I just admire how some people can build simple things. I see so many from simple games to visualizations to many other kinds on HN here. Hopefully someday I will be able to think of something simple and showcase here.
The author is refreshingly transparent about the inspiration for the project saying, "I built this on a whim at after seeing someone ask for it on twitter."
Who knows, maybe you'll stumble upon sth to build in the same way.
I am a big fun of Wikipedia and sometimes TikTok (a "guilty pleasure"). I would be happy to have an app/web site like this but with
- more smart feed based on your activity/attention (was mentioned in other comments);
- maybe more fancy way to present information (not sure if it is feasible to implement). Currently just a text snippet and image do not seem like super engaging.
Good question: i had that thought for a second. But the I realized that for me, Incan imagine killing time here, but not in the random page. It is an image and a short text which allows to decide fast if it is interesting or not.
I used to take a technical dictionary, and read random articles when bored. So I tried with random wiki, but just didn’t work. I will try this and I can already say, it will work.
It sounds like you’re suggesting the two web pages are identical, just on different domains, but they’re obviously completely different.
A better way to phrase your question would be: "Why would a TikTok-style (infinite scrolling) website for browsing Wikipedia articles appeal to today’s internet users?"
It’s a reasonable question, and one I had myself. Of course the UX is different, but that is self evident and we don’t need to be pedantic. What’s not obvious is whether this is wrapping the existing RandomPage API, filtering it, doing some sort of prediction/recommendation, etc.
The question is fine; once you stop interpreting the words literally, you can clearly infer the question to be about substance rather than numerical identity.
> How is this (meaningfully) different from Wikipedia’s own “random article” feature?
Agreed, yet it is the standard question most people throw out for any unfamiliar idea. God forbid they have to form a single thought to grok something…although more charitably it is a form of “why should I care?”.
Your rephrasing is a bit different, it discards the selfish aspect of the question which I think is not correct.
Funnily though, anyone asking why they should care probably shouldn’t care yet.
I like it a lot :-)
It scrolls a bit too far though. I move my fingers fast and it skips articles because of the momentum.
Also when at the top, scrolling up it should maybe refresh?
And it would be nice with a visual indicator that new articles are being loaded when at the bottom.
I’ve been thinking recently about how to use the addictive properties of applications like TikTok to the advantage of the user. This is definitely in that direction. Instead of trying to tame the pull of these apps by cold turkey quitting, replacing them with something useful seems to be more effective.
This is incredible! Wikipedia has abundance of interesting stuff and this is a great way to discover it, using a popular UX at the moment. Great idea.
A bug report: When open the Wikipedia links on mobile, it shows the desktop view. I guess because the links are like this? https://en.wikipedia.org/?curid=5635437
This deserves a proper domain! I will be glad to gift you the $ to buy one for a year. Let me know! https://wikitok.app/ seems available.
I don’t know how to feel about the visceral reaction that I have to the action of swiping my thumb in a movement that I can trace from where I guess is a team of tendons somewhere parallel to my wrist and the little fat part of my palm I like to refer to as “my drumstick”, from the bottom of my phone’s screen until the tip of my thumb is just at my general line of sight, all of this in one natural motion. No sooner is this action complete am I met when an entire block of information above my thumb, square in my line of sight.
In one stroke the location of a place, the type of place it is, its size, its distance from somewhere else, its history, read more, or swipe again. And another block. And another. And there’s something about this process that is visually disruptive and kinetically unsettling.
Interesting! I tend to use right hand index finger to swipe up so didn’t have that issue. Just tried it with left hand thumb and I kinda see what you mean.
The swiping mechanic is super smooth! I often find that website based swiping UIs are either too sensitive, not sensitive enough, or have weird acceleration. Not the case here.
I dig it lol. It reminds me of a t-shirt site a few friends and I made https://wearwiki.com
It's cool that wikipedia shared so much data! Nice to donate to them if we got some extra funds.
This is similar to a popular game we used to play in recess (or sometimes during class) in high school, when IT rooms first started to become a thing. The idea was to start on a random article and try to reach pages of famous historical political figures by clicking as few links as possible, or by being the fastest.
If you like this, check out Information Superhighway on a variety of Apple devices. Same concept, with a nice UI. I like widget support too, to get random articles on my Home Screen.
This would be an awesome way to get more breadth of knowledge during downtime. For example, many times there are interesting algorithms or some technology I would benefit from knowing I just wouldn’t know to search for it.
Or you could make infinite scrolling randomized hacker news front page articles from the past.
Hope you don't mind, but as others are pointing at wiki type sites, I'll plug my own (also using Vercel and cursor)...
https://ont.fyi it's a work in progress ... feedback wanted (no matter how painful), focusing on enabling adding in your own data at present, lots of ideas and work to be done
Right now it's 85% usage on mobile. Also, I don't really find the pixelated images to be that detracting on desktop (though, I'm a small macbook, ymmv on a giant 4k display). I haven't tested on a screen that large.
Great idea. My only suggestion would be a less random article. I got a ton of US place names, which can be a downer. The avg tiktokker expects something funny or interesting within 30s.
Only criticism is I get a poor presentation of the Wikipedia page on my phone if I follow the link. Haven't worked out why yet. Even selecting desktop gives me something better!
Anyway, it beats all the other names mentioned and suggested here. It rhymes with tiktok, and it even has “ik” in the first part. It’s immediately understandable. Don’t try to apply logic.
Why though? It is part of culture, not everyone is interested in STEM, and the life of some could be interesting. Or who knows, you might discover your new holiday destination...
I would agree however, that to fully imitate TikTok, you would need a FYP that shows you more content about what you are interested, but as the author say, it was an overnight project :)
Now all it needs is to have that robotic female voice (the one everyone on TikTok uses) read out the main prompt while trendy music is playing in the background
I've been meaning to write a content algorithm where a random Wikipedia article is fetched, then calls the YouTube API to serve a video about the subject, and the algorithm learns based on how much you watch the video.
But if anyone wants to tackle that, it'd be really cool.
Good point! It’s random wikipedia pages, in a tiktok-ish style i.e. main article image and short summary on a page plus scrolling UX so you can easily flick through to the next one.
Hi! I'm the dev here! I built this on a whim at after seeing someone ask for it on twitter. It was 12:30 at night but I couldn't pass down the opportunity to build it.
The code is very simple, there's no backend at all actually, I believe because wikipedia's api is very permissive and you can just make the requests in the frontend. So you just simply request random articles, get some snippets, and the image attached!
I used Claude and cursor do 90% of the heavy lifting, so I am positive there's plenty of room for optimizations. But right now as it stands, it's quite fun to play with, even without anything very sophisticated.
Here is the source code. https://github.com/IsaacGemal/wikitok
Shoutout to APIs that do not enforce CORS preventing requests be made from FE without a need for a BE. There's so many toy apps I started building that would have just worked if this was more common, but they have CORS restrictions requiring me to spin up a BE which for many one-off tools and personal tools just isn't worth doing and maintaining. Same with OAuth.
nit: same-origin policy is the restriction. CORS isn't the restriction, it's the thing that helps you. CORS is the solution, not the problem.
Yes, exactly. People who want to "disable" it have no idea how the web works. Developers have all kinds of misconceptions about what it is, I even heard someone saying it disallows backends to call their API.
There's many services to solve this pain point. I've used https://allorigins.win/ in the past.
this ol' one as well https://github.com/Rob--W/cors-anywhere
Oh this looks neat!
Neet, if you want to leak your users' credentials in a XSS attack.
I would only use something like this that requires absolutely no authentication. For example, I had a one page app that showed me instantly when the next shuttle(s) were scheduled for my stop. Instead of having to click through multiple steps, this allowed me to see it in one step. As far as I know, I was the only user for this thing I built and put up on gitlab pages. I don't know exactly because I didn't bother to track who visited the page.
I kind of miss the era of JSON-P supported APIs. Feels like such a weird little moment in time.
The only caveat I feel is that the speed of the API is definitely not comparable to something more purpose built for this kind of scale, but overall I'm happy as it works well enough that I don't have to think about it too hard.
I think Github Actions could be used for scheduled builds, so that the initial load would have random articles right in. Further requests could then be made in advance so users would not notice any delay from the API.
Do you have any examples of that I can look at as a reference? I'm used to github actions just being my CI/CD build step checking tool.
Edit to the other comment: the cron job wasn't being triggered at first, but turns out it's just slightly delayed. The example has been updated hourly since then.
You can use a schedule trigger [1] on GitHub Actions.
The whole gist is that the initial data can be injected into the static files during the build step, or even saved as separate JSON files that the app can load instead of reaching out to the API. As long as you're willing to refresh the static data from time to time, of course.
I created a basic example at https://schedbuild.pages.dev/ with a rough, manual implementation of a build step. Frameworks like Next.js offer a more sophisticated approach that can render the entire HTML, allowing users to load the static page with the initial data already rendered without Javascript, and subsequent interactions taking over from there more seamlessly.
In my opinion this is a reasonable alternative to setting up a backend just for this.
[1] https://docs.github.com/en/actions/writing-workflows/choosin...
I attempted to implement the schedule trigger [1] on GitHub Actions as an example, but it is not being triggered as I expected. It needs more digging if you're so inclined.
Aside from that, the whole gist is that the initial data can be injected into the static files during the build step, or even saved as separate JSON files that the app can load instead of reaching out to the API. As long as you're willing to refresh the static data from time to time, of course.
I created a basic example at https://schedbuild.pages.dev/ with a rough, manual implementation of a build step. Frameworks like Next.js offer a more sophisticated approach that can render the entire HTML, allowing users to load the static page with the initial data already rendered without Javascript, and subsequent interactions taking over from there more seamlessly.
If the Github Actions schedule feature is ever sorted out, in my opinion it's a reasonable alternative to setting up a backend just for this.
[1] https://docs.github.com/en/actions/writing-workflows/choosin...
in lieu of a cron server, I use scheduled jobs without any issues for a few production workloads on azure devops (AKA gh actions 0.1).
You're right. I just checked the example project now and it's been updated hourly since then. It's just slightly delayed.
Shameless plug for Magic Loops -- we run code in isolated MicroVMs and students love our lack of CORS enforcement, as the APIs they build can be easily integrated into their hackathon projects :)
https://magicloops.dev/ ?
That’s it!
Tell me more?
We built an LLM-based no-code "all-code" tool for non-developers to automate their daily tasks.
Counterintuitively, it's been picking up steam among student developers and professional devs due to how fast you can spin up API endpoints.
We're currently working to build on this momentum, and are now shifting focus to existing devs.
tl;dr - we use LLMs to create APIs that are run in Firecracker-based MicroVMs
Many platforms can enable proxying through their service to avoid CORS issues: https://pico.sh/pgs#proxy-to-another-service
Using nextjs with a serverless function acting as a proxy is pretty simple
Don't you mean Node.js ? I don't see why you would use a full Next.js framework for just a reverse proxy.
A great way to get around this is with an edge function from deno deploy.
use firebase cloud functions free tier
This is awesome. I can imagine you likely are not interested in building one but this site could hugely benefit from a recommendations algorithm.
For example an algorithm could understand how much a user really enjoys a certain article and then starts sending the users down a rabbit hole of similar and tangential content. Designing, building and maintaining an algorithm like this though is no small feat.
I would not be surprised if Claude + Openai's reasoning models could develop a simple rudimentary algorithm that would work. Of course it wouldn't be as sophisticated as something like TikTok and would require a lot of fine tuning, but it's definitely possible.
Or even use an LLM directly "user liked articles with these titles, what others might they like"
+ keeping it in the front end with local storage
You are joking right?
why would it be a joke?
echo chambers bad
Why is it bad if it learns that I like to read about medieval fortresses, and that it should skip showing me rocket ships, for instance?
Personalization is not inherently bad and I believe personal feeds can be engineered in a way that doesn’t result in echo chambers but in communities.
The problem is capital incentives are not aligned with making these interfaces which is why we have the feeds we have today on Facebook, Twitter, etc. I look forward to the innovations happening on bring-your-own-algo Bluesky.
As a side note, I’m currently building a personalized Hacker News service. I might throw it at Show HN once it gets closer to completion.
Not to plug myself too shamelessly, but here's my resume if anyone is interested :) https://www.aizk.sh/Isaac's%20Resume.pdf
This is far from a shameless plug, you built the thing! V nice love the idea.
I remember seeing that tweet, I thought it was the craziest coincidence ever when I saw this on the front page. I guess it’s not haha
As soon as I saw the tweet, I realized the opportunity was there waiting for me. And also, twitter's algorithm is REALLY good at pairing the right tweets to one another, so many people saw those two tweets side by side, which added to the humor.
What was the tweet?
https://x.com/rauchg/status/1886807959340245137
Kudos for the anthropological experiment. Indeed makes you wonder what's there about the sliding that makes it so entertaining.
I suggest you add some sort of summary that flows, so to add certain level of animation. Some articles have actual sound and animations to them.
Great inspiration!
> Indeed makes you wonder what's there about the sliding that makes it so entertaining.
Check out "skinner box" - the fact that you may get something interesting or may not is more exciting than just getting something good. They're lootboxes of information/entertainment.
It’s lottery indeed, you are right.
Great job!
This is super super cool. I’ll tell you the single barrier to me actually using this regularly—it needs an algorithm. It would be so cool (and a good learning project) to even build the simplest of recommendation algorithms behind it based on my likes, dislikes, bookmarks, and whether I click “read more”.
Nice! I made WikTok[1] in the past, but your version looks much better. :-)
[1] https://wiktok.org/
Wow this is surprisingly addictive :)
Nice job whipping up something so simple, yet elegant, so fast.
This is what I love about LLM tools like cursor, it makes the effort to just try and build something so low, you can just try it one night, and can make cool things that might not have been built otherwise.
I just wanna say I love it. So simple, but so cool. You've taken a popular idea and done something interesting and intellectual out of it. good job.
This is freaking really cool, I’m at work browsing HN instead of doing actual work, but I’ll look into it more later, but the “killer feature” I think would be to add audio narration do this, or a quick summary, I would scroll that all day…
Awesome job!
It would be cool to add an algorithm that learns my interests and suggests relevant articles
Next steps: ingest these offline and process them into quick 30 second videos with the most salient facts. TTS narration, additional images. Generate stock video using the images in the API and perhaps text-to-video. That would be a killer app.
Bonus: come up with a heuristic or model to filter out or de-rank universally uninteresting articles.
Very nice! I wonder if it would be possible to see articles related to a topic. Maybe using the hubs as a starting point and then following the related links in each article?
Love it!
One of the rare website i added to my android homescreen. Maybe someone has a good idea for a nice favicon.
I added a dark wikipedia logo as the favicon, which should be good for now.
This is great! Thanks for sharing it.
Congrats! Tomie here, this is absolutely great!
[dead]
Wonder what it would take to add a simple algorithm to this. Part of what makes short media apps (dangerously) addictive is that they eventually learn what you like and feed you more of that. An app like this with such an algo could help with the stickiness (and presumably get us away from the other apps at least for a little bit). "Oh this person likes science stuff, let's feed them more, oh they specifically like stuff related to quantum mechanics, let's place a summary paragraph from a related page topic in there."
On one hand I am thinking about what a very basic algorithm would like (maybe even just categories I might do) and maybe how it would make people happy.
On the other hand, I'm not sure exactly the details of wikipedia's api TOS. Also as it stands this website is entirely in the frontend at the moment, and I'm enjoying just scaffolding out what I can with limited a more limited set of tools to speak.
I realize now the suffix "tok" implies a crazy ML algo that is trained every single movement, click, tap, and pause you make, but I don't think I really want that.
It should be possible to keep this all front-end, even with some basic algorithm for the searches - just use localStorage. That keep things simple and resolve privacy concerns, as people own their data and can delete them any time.
Update - I chatted with some devs at wikipedia, and they confirmed I'm not hitting their servers hard, which is great.
Compared to default wikipedia traffic this should be a drop in a bucket right?
Probably? I have no frame of reference, I've never done giant distributed systems before. I just noticed that earlier version had some slowdowns but I think I was just improperly fetching the images ahead of time.
keep user profiles maybe with cookies or by encouraging sign-ups and then use NMF
https://en.wikipedia.org/wiki/Non-negative_matrix_factorizat...
About the “Tok” suffix, I also think that while it has the algorithm connotations, it also has been used a lot to describe communities that have formed on TikTok. For example, BookTok (where some bookstores have started to pay attention to how people on TikTok can make some books popular again seemingly on a whim) or WitchTok.
StickTok where people show cool sticks they found in the nature!
browser-store and cookies, among other tools, provide nice front-end-only persistent storage for holding things like recommendation weights/scoring matrices. maybe a simple algorithm that can evaluate down from a few bytes stored in weights might be all the more elegant.
For each 10 seconds of reading, increment the tags on the current article as "favoured". Then, poll randomly from those tags for the next recommended article. Add some logarithms of division to prevent the tags from infinite scaling.
Can you tell that YouTube reels engineers? Because their Algo is a disaster where I'm only fed Sopranos and NBA content. I don't hate it, but god I have so many subscriptions (civil aviation, personal finance, etc) that I never ever see on my feed.
Do you mind expanding on the last sentence?
That's what I was thinking this might have already. Maybe this could get insights from the articles linked from the ones you like too? Sort of like https://www.sixdegreesofwikipedia.com/
The relatedness of articles is already baked in with blue wiki links too. So it shouldn't be too hard to make something that just looks for neighbors.
Now, something that learns that if you like X you might like Y, even if they are disconnected. Is closer to the dystopic ad maximizing algorithm of TikTok et al.
Since its text, especially text with links to other articles, there is no need for tags.
If I had a clue how to do this (sorry, just a neuroscientist), I would probably create "communities" of pages on a network graph and weight the traversal across the graph network based on pages that the person liked (or spend X time on before).
This would eventually collapse to people reading articles they do not actually like (i.e. get happiness from reading), I think, maybe tragic history facts or something like that? The truth of social media harm is that it's more about humans than the algorithms themselves. Humans just tend to engage more with negative emotions. Even IRL we tend to look for intrigue and negative interactions, just look at the people who stay with toxic partners even with no financial ties, or even friend groups who turn into dysfunctional gossip fests. The only way to avoid this is by actively fighting against this tendency, and having no algorithm at all in an application helps.
I would prefer at least an option to keep it on random mode. Both for the occasional exposure to cool stuff and to make it less rabbit-holey.
RHAAS
Rabbit-holing as a service
tvtropes did it first
Oh I just looked, sadly tv tropes doesn't have an API. I'd love to work off their data but that would be a bit more involved.
Where? I thought it was just the wikipedia of tv tropes.
it starts with sourcing - finding a massive set of interesting pages, then going through and giving them tags. planning on adding this to my web discovery app as well: https://moonjump.app/
This is very nice, I adore the simplicity. Sometimes the summary gets cut off which is a bit frustrating,I think you should be able to finish reading the summary without click the read more link, but other than that, bravo.
Awesome. I have a project with a similar tik-tok-esque philosophy for serving all sorts of noncommercial content from the web. The interface is one button and a random page is embedded in an iframe. I use random wikipedia pages as a fallback in case my algorithm returns a dead page.
I call it moonjump: https://moonjump.app/
This is awesome. I've been passively looking for a Stumbleupon replacement, but never stumble upon it. Thank you for posting here. You have given me back a slice of old internet.
No way, StumbleUpon? I remember that site when I was a kid. Good memories.
I tried that and I was immediately taken to "the best place in the world to have herpes". I didn't click.
hahahha. try the search engine - it uses the marginalia API and will select a random result to embed. maybe don't search for herpes though.
Pretty nice! Reminds me of StumbleUpon.
Yeah, pretty similar to StumbleUpon. Right now the links are sourced from a handful of are.na channels and some other collections of content. I plan on warehousing this data and tagging it such that users can configure categories of sites that they'd like to stumble upon. HN submissions are mixed into the algorithm as well.
Cool. I immediately recognized the melonking loading gif.
https://wiktok.org/ Related
After seeing this, I (or rather, v0) created https://hnhell.com for the joke.
https://news.ycombinator.com/item?id=42946932
I like the idea, but one thing about Wikipedia is that with technical or granular topics it approaches things in a focused way. A specific molecular biology term's page isn't there to explain exactly how it fits into a larger biology topic. It makes random pages difficult to glean information from.
Even wikipedia articles I understand, more on computer topics, fall into the category of "the only people who understand this page are people who ... already understand it / don't need to read this".
Granted sometimes the social media context is kinda opaque, but usually "man fall down it funny" is pretty universal.
Math articles are excruciatingly bad on this. I find myself setting the language to "simple english" and it helps.
Wikipedia math articles all remind me of what i learned in High School, that math is absolutely the worst to learn from someone who "just gets it" as often those folks have no concept how someone else might not "just get it". I suspect the wikipiedia articles are written by folks who "just get it".
I'm around calc 2 level, and spent some time learning ANN architectures, but it's taken a very long time to increase my ability to parse the more arcane topics since graduating.
For example, this[1] is something I'd like to be able to just glance over and know all the applications and appreciate the beauty... but it's very hard to prevent my eyes from glossing over. Maybe someone has a youtube video on the topic that makes it easier to catch up.
https://en.wikipedia.org/wiki/Lp_space
A wiki (or any encyclopedia, for that matter) is not meant to be an introduction or a HOWTO.
I can understand that. Having said that some topics (history) are surprisingly easy to pick up articles with lots of background and etc. If you look up a battle you'll get a short history of the war, days before the battle, explanations why say a given soldier might struggle and etc.
Other topics are almost dictionary level simplistic.
Wikipedia is useful for reference, but not education. Not sure whether that's intentional.
Some other commenters have offered the idea of an algorithm to steer the randomness of the articles. I wonder if an algorithm would help with this issue of having random articles be too technical for you even though you are interested in the larger topic.
>"the only people who understand this page are people who ... already understand it / don't need to read this".
That is provably false
I like to think of it as amusingly “dramatic” rather than false. ;)
Way back when I was in college and the internet was new-ish. There were a few places you could ask math questions. A classmate of mine found that if he just asked a question online he would never get any responses. So what he would do is add some false generalizations in his question.
In doing that he would be inundated with people answering his question, even if just to prove him wrong.
I don't think it's relevant in this case. But it's a well known internet law
https://meta.wikimedia.org/wiki/Cunningham%27s_Law
That's a fun law. I've bumped into it a few times asking an AI related question and part of my understanding was a bit off. Even being slightly off rather than completely seems to bring out more enthusiastic responses.
Maybe pairing this with an LLM could be useful here?
This, plus an AI generated voice reading a TikTok-creator style catchy summary, plus TikTok's actual algorithm for surfacing content would actually make a decent app I believe.
EDIT: Also the name should be WikTok instead of WikiTok.
At this point, you could create short videos with relevant images and accompanying audio, post them on TikTok, and profit.
I've built something similar a few years ago, combining Wikipedia content and open domain pictures/videos to create long form videos automatically. Uploaded a bunch on YouTube as well. Wrote a blog post in case anyone is interested: http://ailef.tech/2020/04/29/turn-any-wikipedia-article-into...
Also, the voiceover should be over some Minecraft parkour or Subway Surfers.
Like this: https://pdftobrainrot.org/
I second this! A voice-over would be very nice
I personally would hate it, but I can just turn sound off so no reason not to do it.
I just admire how some people can build simple things. I see so many from simple games to visualizations to many other kinds on HN here. Hopefully someday I will be able to think of something simple and showcase here.
Extra bonus for just putting it out there with a Github link.
Instead of landing page, login, "just $4/month or $20/year" with a "Show HN" and everybody patting them on the back for a "successful launch".
The author is refreshingly transparent about the inspiration for the project saying, "I built this on a whim at after seeing someone ask for it on twitter."
Who knows, maybe you'll stumble upon sth to build in the same way.
These simple ideas can be implemented by AI (like this) Unfortunately, this makes it lose some of its charm.
Nice site!
I wanted to show a similar site I made a few years ago. Might update it now:
https://wikisurfer.pages.dev/
I think that the project has a potential.
I am a big fun of Wikipedia and sometimes TikTok (a "guilty pleasure"). I would be happy to have an app/web site like this but with
- more smart feed based on your activity/attention (was mentioned in other comments);
- maybe more fancy way to present information (not sure if it is feasible to implement). Currently just a text snippet and image do not seem like super engaging.
How is this different from Wikipedia’s own “random article” feature?
Good question: i had that thought for a second. But the I realized that for me, Incan imagine killing time here, but not in the random page. It is an image and a short text which allows to decide fast if it is interesting or not.
I used to take a technical dictionary, and read random articles when bored. So I tried with random wiki, but just didn’t work. I will try this and I can already say, it will work.
it looks and feels completely different, for one thing
Your question doesn’t quite make sense.
It sounds like you’re suggesting the two web pages are identical, just on different domains, but they’re obviously completely different.
A better way to phrase your question would be: "Why would a TikTok-style (infinite scrolling) website for browsing Wikipedia articles appeal to today’s internet users?"
It’s a reasonable question, and one I had myself. Of course the UX is different, but that is self evident and we don’t need to be pedantic. What’s not obvious is whether this is wrapping the existing RandomPage API, filtering it, doing some sort of prediction/recommendation, etc.
So perhaps your question is “how does this choose articles differently from wikipedias own random page?”? Which I also wondered.
> we don’t need to be pedantic
You must be new to HN
Even more pedantically, parent's account is more than ten years older than yours or mine, and has ~50% more karma, so perhaps not :)
The question is fine; once you stop interpreting the words literally, you can clearly infer the question to be about substance rather than numerical identity.
> How is this (meaningfully) different from Wikipedia’s own “random article” feature?
[flagged]
> Your question doesn’t quite make sense.
Agreed, yet it is the standard question most people throw out for any unfamiliar idea. God forbid they have to form a single thought to grok something…although more charitably it is a form of “why should I care?”.
Your rephrasing is a bit different, it discards the selfish aspect of the question which I think is not correct.
Funnily though, anyone asking why they should care probably shouldn’t care yet.
Nice to know HNers don’t read past the first word. Can’t say I am surprised.
This is great! Now all that's left is plugging this into some text-to-speech and a subway surfers/minecraft parkour background
I like it a lot :-) It scrolls a bit too far though. I move my fingers fast and it skips articles because of the momentum. Also when at the top, scrolling up it should maybe refresh? And it would be nice with a visual indicator that new articles are being loaded when at the bottom.
Kudos!
In the same vein, Wikijumps (https://wikijumps.com/) lets you browse based on article connections.
I’ve been thinking recently about how to use the addictive properties of applications like TikTok to the advantage of the user. This is definitely in that direction. Instead of trying to tame the pull of these apps by cold turkey quitting, replacing them with something useful seems to be more effective.
This is incredible! Wikipedia has abundance of interesting stuff and this is a great way to discover it, using a popular UX at the moment. Great idea.
A bug report: When open the Wikipedia links on mobile, it shows the desktop view. I guess because the links are like this? https://en.wikipedia.org/?curid=5635437
This deserves a proper domain! I will be glad to gift you the $ to buy one for a year. Let me know! https://wikitok.app/ seems available.
Something similar for hackernews: https://hn-shorts.vercel.app
I don’t know how to feel about the visceral reaction that I have to the action of swiping my thumb in a movement that I can trace from where I guess is a team of tendons somewhere parallel to my wrist and the little fat part of my palm I like to refer to as “my drumstick”, from the bottom of my phone’s screen until the tip of my thumb is just at my general line of sight, all of this in one natural motion. No sooner is this action complete am I met when an entire block of information above my thumb, square in my line of sight.
In one stroke the location of a place, the type of place it is, its size, its distance from somewhere else, its history, read more, or swipe again. And another block. And another. And there’s something about this process that is visually disruptive and kinetically unsettling.
Interesting! I tend to use right hand index finger to swipe up so didn’t have that issue. Just tried it with left hand thumb and I kinda see what you mean.
The swiping mechanic is super smooth! I often find that website based swiping UIs are either too sensitive, not sensitive enough, or have weird acceleration. Not the case here.
I dig it lol. It reminds me of a t-shirt site a few friends and I made https://wearwiki.com It's cool that wikipedia shared so much data! Nice to donate to them if we got some extra funds.
This reminds me tangentially of the Wiki Game - getting to an unknown target wiki article
https://www.thewikigame.com
This is similar to a popular game we used to play in recess (or sometimes during class) in high school, when IT rooms first started to become a thing. The idea was to start on a random article and try to reach pages of famous historical political figures by clicking as few links as possible, or by being the fastest.
I don't use TikTok, but I can easily spend an hour or two playing with the Random button on Wikipedia. Thanks!
Fun idea, but TikTok works because you don't need to leave the feed. Try to find a way to provide the wiki's content in the feed itself.
If you like this, check out Information Superhighway on a variety of Apple devices. Same concept, with a nice UI. I like widget support too, to get random articles on my Home Screen.
https://apps.apple.com/us/app/information-superhighway/id149...
This would be an awesome way to get more breadth of knowledge during downtime. For example, many times there are interesting algorithms or some technology I would benefit from knowing I just wouldn’t know to search for it.
Or you could make infinite scrolling randomized hacker news front page articles from the past.
This is super neat @aizk! I built a similar app for iOS [1] with a simple recommendation algorithm powering the feed.
[1] https://apps.apple.com/us/app/egghead-scroll-learn/id6630364...
Nice site @aikz
Hope you don't mind, but as others are pointing at wiki type sites, I'll plug my own (also using Vercel and cursor)...
https://ont.fyi it's a work in progress ... feedback wanted (no matter how painful), focusing on enabling adding in your own data at present, lots of ideas and work to be done
I consume the internet mainly on an old-school monitor, not on a tablet. When the browser is maximized, all the images are pixelated.
Right now it's 85% usage on mobile. Also, I don't really find the pixelated images to be that detracting on desktop (though, I'm a small macbook, ymmv on a giant 4k display). I haven't tested on a screen that large.
Text could also be more compact
My version built using Burning Idea: https://www.burningidea.com/app/96f30f/index.html
What's burning idea?
An app I built :) Just talk and have it build a backend or front end.
https://apps.apple.com/us/app/burning-idea/id6478471924
This is such a good idea. Kind of reminds me of the spirit of the old site stumbleupon
bring back stumbleupon!!!! crying in walled garden
Oh wow maybe I should think about that
Feature request to be able to like different pages so i can bookmark and return to them later
Great idea. My only suggestion would be a less random article. I got a ton of US place names, which can be a downer. The avg tiktokker expects something funny or interesting within 30s.
NO recommendations. That would remove the charm.
Looking into it more, the random isn't exactly random https://en.wikipedia.org/wiki/Wikipedia:FAQ/Technical#random
I could imagine this with automatic TTS and a slideshow. Basically you'd have procedurally generated mini documentaries in a tiktok like format.
This is just great. A real keeper.
Only criticism is I get a poor presentation of the Wikipedia page on my phone if I follow the link. Haven't worked out why yet. Even selecting desktop gives me something better!
Someone built something similar using Lovable: https://preview--wiktok.lovable.app/
Me: what a stupid idea Also me after 30 minutes of doom scrolling: cool
Can you have it link to en.m.wikipedia.com for mobile apps?
Love this, thanks for sharing
"tok" as a suffix for short form video is unhinged
Personally I see it as implying two things - Infinite scrolling - Heavily curated algorithms
Although in this instance, it's just selecting from wikipedia randomly
Like -gate as a suffix for a scandal?
Anyway, it beats all the other names mentioned and suggested here. It rhymes with tiktok, and it even has “ik” in the first part. It’s immediately understandable. Don’t try to apply logic.
Great site! The only improvement I would ask for is automatically opening the articles with the Wikipedia app, if installed.
This is awesome but it needs to autoscroll the full page. It needs to have the same completely instant dopamine hit that TikTok gives.
Can you please add Korean? This looks like such a great tool for discovering language learning reading material. Great work!
Sounds like the sort of thing you could add yourself if there were some source
https://github.com/IsaacGemal/wikitok
The best project I’ve seen in months and exactly what I need
FeatureReq: use THAT{tiktok gal] voice to automatically transcribe audio
<https://www.meme-arsenal.com/en/create/meme/467690>
Great job on on the quick execution!
Could you detect when on mobile and link to the mobile wiki page?
I need it to loop subway surfers on the side. To keep my attention.
It could have more featured articles first / mixed
Hi
RandomWiki maybe?
The fist one I got was Foreskin piercing. With a penis photo all across the screen. Is it too much to ask to flag this as NSFW?
I hope the dev sees this, it really should be addressed. Hopefully, the wikipedia api has considered this.
This is awesome, great work!
Now add an option to exclude people and places from showing up ^^`
Why though? It is part of culture, not everyone is interested in STEM, and the life of some could be interesting. Or who knows, you might discover your new holiday destination...
I would agree however, that to fully imitate TikTok, you would need a FYP that shows you more content about what you are interested, but as the author say, it was an overnight project :)
Now all it needs is to have that robotic female voice (the one everyone on TikTok uses) read out the main prompt while trendy music is playing in the background
Is this some sort of location based thing? First thing I saw when I opened it was Thompson, ND. It's a small town like 70 miles north of me
Brilliant. Someone should do this same concept but for short-form essays.
So like Twitter, but with 3-4 paragraph essays.
I've been meaning to write a content algorithm where a random Wikipedia article is fetched, then calls the YouTube API to serve a video about the subject, and the algorithm learns based on how much you watch the video.
But if anyone wants to tackle that, it'd be really cool.
I love it.
Great idea, but it's too random and not one really liked reading about people. This app needs likes, comments and algorithm.
Plenty of people like reading about other people…
It would work maybe if connected to an AI that would just start spouting the article immediately, or the summary.
Cool
just leave this here https://www.tiktok.com/@wikipedia
Sorry, but I don't see any dancing girls, so this app is not for me I guess
I have no idea what this is or if I should even click on it. Can we please have a description somewhere first?
Good point! It’s random wikipedia pages, in a tiktok-ish style i.e. main article image and short summary on a page plus scrolling UX so you can easily flick through to the next one.
[dead]
Maybe use AI to turn a wiki topic into something explained by an influencer in 30 seconds.