Sandeep Panda

Sandeep Panda

co-founder, Hashnode

I am the Co-Founder of Hashnode. I write (about) code and keep interest in Venture Funding and startups. Feel free to contact me at sandeep@hashnode.com.

About this publication

Do you want to get a glimpse of how hashnode builds an amazing platform for the incredible number of writers & readers? This blog gives you insight into the engineering side of Hashnode.

How we detected GQL caching issues with an ESLint plugin

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...

Date: |Estimated Reading Time: 4 min|Author: Lakshya Thakur

Setting Up Post Schedules with EventBridge Scheduler & CDK

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 ...

Date: |Estimated Reading Time: 6 min|Author: Sandro Volpicella

Hashnode's Feed Architecture

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 ...

Date: |Estimated Reading Time: 6 min|Author: Florian Fuchs|Comments: 3

Developing a parameter weightage-based feed

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...

Date: |Estimated Reading Time: 5 min|Author: Vamsi Rao|Comments: 2

What can I do with Hashnode's Public API?

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 ...

Date: |Estimated Reading Time: 6 min|Author: Sandro Volpicella

Managing Breaking Changes in Hashnode GQL Public API

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...

Date: |Estimated Reading Time: 5 min|Author: Shad Mirza

Hashnode's Overall Architecture

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...

Date: |Estimated Reading Time: 7 min|Author: Sandro Volpicella|Comments: 17

CI Checks: Ensuring Better Code Quality and Faster Deployment

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...

Date: |Estimated Reading Time: 8 min|Author: Shad Mirza

Crafting Superior APIs with Design Guidelines: Set Up For Success

Building APIs – especially public-facing ones – is hard. There are a lot of decisions to be made, starting with the API concept (GraphQL, REST, etc.) to be used, infrastructure, and much more. But having this is just the foundation of your API, and y...

Date: |Estimated Reading Time: 7 min|Author: Jannik Wempe|Comments: 2

Resolving High Disk Space Utilization in MongoDB

Problem We have recently received many alerts about high disk usage on MongoDB Atlas for the past two weeks. According to docs, Disk utilization % on Data Partition occurs if the percentage of time during which requests are being issued to any partit...

Date: |Estimated Reading Time: 4 min|Author: Vamsi Rao

Simple Steps to Include CDK Diffs in GitHub PRs

Hey, everyone! If you've been using AWS, chances are you've come across CDK and building cloud apps with it. As seamless as it is to deploy apps using CDK, it is equally important to monitor changes in infrastructure code and prevent issues. This gui...

Date: |Estimated Reading Time: 6 min|Author: Shad Mirza|Comments: 2

Keep parts of your GraphQL Introspection Query hidden

Once you have created your first schema and your GraphQL server is up and running, it makes sense to implement precautions to prevent it from being compromised by bad actors. In the context of Hashnode, our GraphQL API serves our website and blogs. T...

Date: |Estimated Reading Time: 13 min|Author: Florian Fuchs|Comments: 3

How Hashnode is using Rate Limits on Stellate

Rate Limits are a vital part of every API. Especially, since we operate quite a lot of public and unprotected APIs we need to rate limit them. Implementing Rate limits based on IP addresses is fairly easy, especially with Amazon API Gateway and Amazo...

Date: |Estimated Reading Time: 6 min|Author: Sandro Volpicella|Comments: 1

Custom Metrics Made Easy: A Comprehensive Guide to SST and CloudWatch Integration

Monitoring and managing resources is an important part of making sure your serverless application is working as expected and troubleshooting when issues arise. Amazon Web Services (AWS) provides a wide range of services to monitor and track the perfo...

Date: |Estimated Reading Time: 7 min|Author: Shad Mirza|Comments: 1

Using Vercel edge functions to power Hashnode's OG images

Today, we started using @vercel/og to automatically make OG images for the home page and post pages of our blogs. We used to make these images with a tool from a third party, but it was very limited because: We had to make an extra API request to ge...

Date: |Estimated Reading Time: 2 min|Author: Sandeep Panda|Comments: 4

How to Display Math Equations in React Native

One of the most fantastic features of Hashnode is that it allows you to display and highlight your content in various ways. One of my personal favorites is the support for Latex expressions. Why is that? Math expressions are an essential part of i...

Date: |Estimated Reading Time: 5 min|Author: Florian Fuchs|Comments: 2