---
title: "Nabil Ridhwan (@nabilridhwan) | Hashnode"
description: "Forever-entertaining, self-taught software engineer 😉. Read the latest articles by Nabil Ridhwan on Hashnode."
url: "https://hashnode.com/@nabilridhwan"
---

@nabilridhwan

# Nabil Ridhwan

@nabilridhwan · Singapore · Joined March 2022

Forever-entertaining, self-taught software engineer 😉

[Website](https://nabilridhwan.com/)

### [Spotify vs Apple Music: The intersection of digital music and social features.](https://blog.nabilridhwan.com/spotify-vs-apple-music-the-intersection-of-digital-music-and-social-features?utm_source=hashnode&utm_medium=feed)

My stint with Apple Music has come to an unfortunate end. I’m not trying to make it sound like a huge breakup note reveal. I’m actually writing this to reflect on my time with both services. It was an

3 min read · [blog.nabilridhwan.com](https://blog.nabilridhwan.com/spotify-vs-apple-music-the-intersection-of-digital-music-and-social-features?utm_source=hashnode&utm_medium=feed)

[Apr 6](https://hashnode.com/posts/spotify-vs-apple-music-the-intersection-of-digital-music-and-social-features/69d38c9140c9cabf44fd8308)

### [Building a RAG System with ChromaDB: Why My Embeddings Failed (And How I Fixed It)](https://blog.nabilridhwan.com/building-a-rag-system-with-chromadb-why-my-embeddings-failed-and-how-i-fixed-it?utm_source=hashnode&utm_medium=feed)

Why my RAG system failed using ChromaDB and local embeddings — and how better context and data structuring fixed retrieval accuracy.

10 min read · [blog.nabilridhwan.com](https://blog.nabilridhwan.com/building-a-rag-system-with-chromadb-why-my-embeddings-failed-and-how-i-fixed-it?utm_source=hashnode&utm_medium=feed)

[Feb 15](https://hashnode.com/posts/building-a-rag-system-with-chromadb-why-my-embeddings-failed-and-how-i-fixed-it/6991a71d06518326c6d77d4e)

### [I Helped Build a Roblox Cybersecurity Game for an Open House — Here’s What Broke](https://blog.nabilridhwan.com/using-roblox-to-teach-students-cybersecurity-concepts?utm_source=hashnode&utm_medium=feed)

How we used Roblox Studio and Lua to build a 3D cybersecurity CTF game for students — and what we learned from bugs, refactors, and live demos.

12 min read · [blog.nabilridhwan.com](https://blog.nabilridhwan.com/using-roblox-to-teach-students-cybersecurity-concepts?utm_source=hashnode&utm_medium=feed)

[Jun 25, 2024](https://hashnode.com/posts/using-roblox-to-teach-students-cybersecurity-concepts/667aa24cfa606a4b69a7cf10)

### [Is Swift Worth Learning in 2024? A React Native Developer’s Honest Take](https://blog.nabilridhwan.com/is-learning-swift-worth-it-my-experience-with-swift-as-a-prior-react-native-developer?utm_source=hashnode&utm_medium=feed)

Is Swift worth learning for React Native developers? An in-depth comparison of SwiftUI, SwiftData, DX, performance, and ecosystem maturity.

8 min read · [blog.nabilridhwan.com](https://blog.nabilridhwan.com/is-learning-swift-worth-it-my-experience-with-swift-as-a-prior-react-native-developer?utm_source=hashnode&utm_medium=feed)

[Jun 18, 2024](https://hashnode.com/posts/is-learning-swift-worth-it-my-experience-with-swift-as-a-prior-react-native-developer/66710f31860de7ab8d7dc777)

### [I Built a Private Graduation Website for My Friends (For $0)](https://blog.nabilridhwan.com/i-built-a-private-graduation-website-for-my-friends-for-0?utm_source=hashnode&utm_medium=feed)

How I built a personalized graduation website with Next.js, Redis, access codes, and a server-side countdown to stop cheating.

8 min read · [blog.nabilridhwan.com](https://blog.nabilridhwan.com/i-built-a-private-graduation-website-for-my-friends-for-0?utm_source=hashnode&utm_medium=feed)

[May 11, 2024](https://hashnode.com/posts/i-built-a-private-graduation-website-for-my-friends-for-0/663f59432822cfeaa3d5cd5c)
