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
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)
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.
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.
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.
Awesome job!
One of the rare website i added to my android homescreen. Maybe someone has a good idea for a nice favicon.
Bonus: come up with a heuristic or model to filter out or de-rank universally uninteresting articles.
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