Introduction Over the past year at Hashnode, we have been continuously developing GraphQL APIs to enable users to interact with their data and perform various operations. We utilize Stellate as the GQL CDN and take advantage of its Edge Caching capab...
In our last internal hackathon, Jannik Wempe and Sandro Volpicella built one of the most requested enterprise features - Webhooks. The problem. Imagine you host your headless blog on Hashnode. Your frontend consists of statically generated HTML pages...
One key feature of any blogging platform is the ability to schedule posts for future publication. Hashnode introduced this functionality in June 2022. At that time, the entire feature was based on a CRON job. This CRON job managed all various states ...
We previously explained how we calculate the Hashnode Feed and select content and metadata for each user. We found that the feed now displays improved and personalized content. However, we did find two issues in the implementation: Performance: The ...
We recently deployed a new discussion feed on hashnode, which comes close to matching our requirements. In this article, we'll discuss how we created it. Before we get into it, just a heads-up that features like feed are developed with many hits and...
The read APIs are now publicly available for everyone to use 🎉 Let's see what we can build with them using some example code. Here are six recommendations: 1/ Host your Blog on a subpath I think one of the most requested features on Hashnode os the ...
Hey everyone, this article discusses how we manage breaking changes in Hashnode's GQL Public API. We recently announced Public APIs 2.0 and have been rapidly iterating. As a result, we are incorporating feedback and enhancing the APIs. We are thrille...
This article gives you an overview of the architecture of Hashnode. The goal of this article is to give you a broad architecture of our involved services. Overall Architecture This is our overall architecture. A request starts on the user's side. It...
Feeds are an essential part of every social network. The same applies here at Hashnode. Until now, we have used a very basic and generic algorithm to generate feeds mainly based on hot ranking algorithms. Over time, we noticed that users struggle to ...
How can you consistently deliver high-quality code that adheres to established coding guidelines and is free from errors?The solution lies in implementing tests and multiple checks for linting and type errors. This may seem straightforward, but it re...