WikiTok
wikitok.vercel.app
wikitok.vercel.app
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
Do note that these proxies are for testing only, and they are heavily rate limited.
For production use case, you might consider using Corsfix (https://corsfix.com)
(I am affiliated with Corsfix)
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...
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...
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
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.
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.
Bonus: come up with a heuristic or model to filter out or de-rank universally uninteresting articles.
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!
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.
Awesome job!
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.
One of the rare website i added to my android homescreen. Maybe someone has a good idea for a nice favicon.
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.
https://www.mediawiki.org/wiki/API:Etiquette
You are basically allowed to do whatever as long as it doesn't cause an operational issue, you dont have too many requests in-flight at one time , and you put contact info in the user-agent or Api-User-Agent header. (Adding a unique api-user-agent header is probably the most important requirement, since if it does cause problems it lets operations team easily see what is happening)
I think the wiktok thing is exactly the sort of thing wikimedia folks hope people will use the api to create.
https://en.wikipedia.org/wiki/Non-negative_matrix_factorizat...
Basically, we have an unbounded counter that is gonna start breaking things. So we need to normalize it to a percentage score (by dividing it by the total favoured count across all tags), or pass it through a logarithm to bound it.
This approach only works if all content is accurately tagged, which works basically nowhere on the internet except Wikipedia.
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.
Rabbit-holing as a service
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).
I call it moonjump: https://moonjump.app/
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.
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.
Other topics are almost dictionary level simplistic.
That is provably 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.
EDIT: Also the name should be WikTok instead of WikiTok.
Like this: https://pdftobrainrot.org/
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".
Who knows, maybe you'll stumble upon sth to build in the same way.
I can pinpoint to you the exact tweet (well it's technically a retweet) and you can see what gave me the inspiration. For quite a lot of people the two tweets showed up side by side, which is even funnier.
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.
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?"
You must be new to HN
> 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 wanted to show a similar site I made a few years ago. Might update it now:
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.
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.
https://apps.apple.com/us/app/information-superhighway/id149...
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
[1] https://apps.apple.com/us/app/egghead-scroll-learn/id6630364...
Or you could make infinite scrolling randomized hacker news front page articles from the past.
Kudos!
But if anyone wants to tackle that, it'd be really cool.
NO recommendations. That would remove the charm.
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!
Although in this instance, it's just selecting from wikipedia randomly
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.
So like Twitter, but with 3-4 paragraph essays.
Could you detect when on mobile and link to the mobile wiki page?
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 :)