Daniel’s Substack
Subscribe
Sign in
Home
Notes
Archive
About
From Messy Emails to Clean Structured Data Using CrewAI
How to leverage Python's CrewAI to parse data from an email to a clear and structured object with a simple script. And how you can too.
Oct 1
•
Daniel Osorio
May 2025
Dockerize Your Node.js App: MongoDB, Docker Compose, and Mongo Express
A simple guide to using Docker and Docker Compose to containerize a Node.js, Express, MongoDB API, including Mongo Express for DB Management
May 26
•
Daniel Osorio
Enhancing Your Node.js RESTful API Security with JWT Refresh Tokens
How to securely implement refresh tokens to provide seamless authentication in your Node.js, Express, and MongoDB application
May 2
•
Daniel Osorio
April 2025
Securing Your Node.js API with JWT: Authentication and Authorization Made Simple
A Step-by-Step Guide to Implementing JWT-based Authentication in Your RESTful API using Node.js, Express.js, MongoDB, and TypeScript
Apr 24
•
Daniel Osorio
How to Test Your Node.js RESTful API with Vitest: Unit & Integration Testing
Learn step-by-step how to add unit and integration tests to your Node.js and Express API using Vitest. Includes clear examples and GitHub repository.
Apr 17
•
Daniel Osorio
Build Your First RESTful API with Node.js, Express, MongoDB, and TypeScript
A step-by-step tutorial to create a Todo Task Manager API—complete with detailed examples and GitHub repository
Apr 11
•
Daniel Osorio
How Our React App Got Better by Using Redux for State Management
A Step-by-Step Guide to State Management with Redux in React
Apr 4
•
Daniel Osorio
1
March 2025
How Redis Supercharges a Node.js App by Cutting Latency
A Step-by-Step Guide to Optimizing Backend Performance with Redis
Mar 26
•
Daniel Osorio
How I optimized an API and reduced latency refactoring a PHP backend to Node.js
Faster response equals better user experience and more engagement
Mar 17
•
Daniel Osorio
A new challenge...
I am starting a personal challenge to defy myself in my software engineering career.
Mar 10
•
Daniel Osorio
2
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts