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...
Hashnode
11 postsOne 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 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 ...
Do you know what happens when you need to run Cypress end-to-end tests on localhost subdomain wildcards at *.app.localhost? You will likely run into DNS resolution issues since the requests for those domains have yet to be attributed to an address, s...
Welcome to the first article of the series - Debugging Days At Hashnode In this series, we are going to talk about one of the important aspects of software engineering - Debugging and how it helps us solving series of weird bugs at Hashnode. Setting ...
One of the downsides of our recent growth was an increase in spam. Since we all hate spam, and it was diluting the quality of content, we started cleaning up manually. But soon we realised that it wouldn't scale, and we ended up wasting an hour or so...
When we started Hashnode in 2015, we wanted to keep things really simple. Since nginx was the most popular choice, we decided to use it as a reverse proxy to our Node.js backend. It was a simple set up and worked really well for us for years. With D...