Articles about fullstack development with AWS, React-Native and Expo

My blog posts are mostly about stuff that interest me. This includes AWS, Serverless, React, React-Native, and Expo. You can find insights on cool things I build at Hashnode. It has some useful tutorials and random thoughts. Stay tuned, there is more to come ✍

iOS Photos Shared Element Transition with Expo and Reanimated

June 11, 2025

React Native Expo Reanimated Gestures

In this blog post, we'll explore how to create a shared element transition between two views in an iOS app using Expo and Reanimated. We'll cover the basics of shared element transitions, how to implement them in an Expo app, and how to use Reanimated to create smooth animations.

Creating an Animated and Clickable Pie Chart With React Native Skia

February 24, 2025

react-native skia expo react-native-reanmiated

Charts are a great way to visualize your data. For React Native, there are already some excellent chart libraries with ready-to-use charts like Bar, Line, or Pie. In my recent projects, I used Victory Native XL, a rewrite of Victory for React Native ...

Adding Custom Rate Limiting to Your AWS Lambda API Using a Middleware

January 24, 2025

lambda aws graphql ratelimit

Rate limiting an API or service is a common use case. But how can you do this for your AWS Lambda? API Gateway offers usage planes and quotas, so you can put a API in front of the lambda, but quotas have some downsides there: Usage plan throttling a..

Mastering Type Safety in AWS AppSync: Creating Typed Lambda Resolvers with TypeScript

March 21, 2024

typescript graphql aws-lambda appsync

In this article, I will show you how to generate TypeScript types of your GQL schema. We will then connect them to an AppSync Lambda resolver. This will give you better DX and type safety as you write your logic. TLDR Here is an example repository bu...

Hashnode's Feed Architecture

December 7, 2023

aws step-functions lambda redis event-driven-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 ...

The art of feed curating: Our approach to generating personalized feeds that match users' interests

September 5, 2023

aws sqs cloud message-queue short-polling long-polling

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

Keep parts of your GraphQL Introspection Query hidden

May 24, 2023

GraphQL TypeScript Apollo GraphQL APIs

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

Taking a look at AWS SQS Short and Long Polling

February 10, 2023

AWS SQS message queue Cloud Cloud Computing

Recently I found myself in a situation, where a side project is producing a lot of costs for AWS SQS. After digging with the team, we discovered that we had configured short polling for 150+ queues. After some more research, we realized that we can s...

How to Display Math Equations in React Native

October 18, 2022

render-html MathJax React Native HTML Math

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

How To Use BottomSheet With React Navigation

September 20, 2022

React Native react-navigation JavaScript Mobile Development navigation

Hashnode app is coming up with some exciting updates which deliver a fully native article reading experience. The designs included multiple occasions of a bottom or action sheet for different purposes. One was to show more options for an article or c...