A typed introduction to JavaScript

The word “TypeScript” against a blue background
The word “TypeScript” against a blue background
Image by the author

If you are a JavaScript developer, you must have heard about TypeScript at one point or another. If you have been reluctant about giving Typescript a try because you are not sure how it could serve you better than JavaScript, you have come to the right place.

This guide gives an introductory but comprehensive guide to TypeScript any JavaScript developer would need to get started with it.

What is TypeScript, what is its type system, and how would it benefit you as a JavaScript developer to use TypeScript in your next project? …

Build voice-activated interfaces using the Chrome Speech Recognition API

a microphone
a microphone
Photo by Gift Habeshaw on Unsplash

A few months ago, I wrote an article on web speech recognition using TensorflowJS. Even though it was super interesting to implement, it was super cumbersome for many of you to extend. The reason was pretty simple: It required a deep learning model to be trained if you wanted to detect more words than the model I provided, which was pretty basic.

For those of you who needed a more practical approach, that article wasn’t enough. Following your requests, I’m writing today about how you can bring full speech recognition to your web applications using the Web Speech API.

But before we address the actual implementation, let’s understand some scenarios where this functionality may be…

A guide to web scraping powered by Python and Scrapy

A blurred image of HTML code with certain parts in focus: Peru, Argentina, 0.2, and 20:45.
A blurred image of HTML code with certain parts in focus: Peru, Argentina, 0.2, and 20:45.
Image by the author

This tutorial will be an ultimate guide for you to learn web scraping using Python. At first, I’ll walk you through some basic examples to make you familiar with web scraping. Later on, we’ll use that knowledge to extract data of football matches from Livescore.

Without any further ado, let’s begin

Getting Started

To get us started, you’ll need to start a new Python3 project and install Scrapy (a web-scraping and web-crawling library for Python). I’m using Pipenv for this tutorial, but you can use pip and venv — or conda.

pipenv install scrapy

At this point, you have Scrapy, but you still need to create a new web-scraping project, and for that, Scrapy provides us with a command line that does the work for us. …

Make your Node.js Express API run serverless and deploy it to AWS

Sun peeking through clouds
Sun peeking through clouds
Photo by Billy Huynh on Unsplash.

Serverless architecture is an alternative to high-maintenance, resource-wasting servers. With serverless deployments, you only have to pay for precisely what you use. And they free you from having to handle multiple server setups and their configurations.

So, it’s no surprise that developers today are flocking to go serverless with their applications. With the help of AWS Lambda and the Serverless framework, you can quickly deploy applications that scale.

In this tutorial, we are looking at deploying a simple serverless API with Node.js, AWS Lambda, and the Serverless framework.

A Bit About These Technologies

AWS Lambda is a cloud-based serverless service. Lambda functions are stateless functions that are triggered by events and expire at the end of their execution. …

Kick off your next project with Electron

Electron home page
Electron home page
Photo from Electron.

If you are like me, you love JavaScript and its ecosystem and have been building amazing web applications using frameworks like React or performant web servers with Node.js. Now you want to develop a desktop application and you don’t want to learn a new programming language. Or perhaps you want to reuse as much as you can from existing web projects.

Here is when Electron enters the picture to save the day.

Electron allows you to build desktop applications using HTML, CSS, and JavaScript. There are many arguments on the internet against Electron, some of them being its performance and often low-quality apps, but don’t blame the framework. Electron is powerful and can be performant. …

The benefits of Webpack, Babel, ESLint, and Prettier

three kinds of pliers lying on a table top
three kinds of pliers lying on a table top
Photo by JESHOOTS.COM on Unsplash

Today there are a number of development tools available for JavaScript developers to make our job easier. These tools let us stop worrying about the mundane tasks related to application development and focus on the really important part, coding.

In this article, I am presenting a few of the most popular JavaScript tools among developers: Webpack, Babel, ESLint, and Prettier. If you haven’t used even one of them in your projects, trust me, you are missing out. Definitely give them a try on your next project.


Webpack is a popular module bundler among JavaScript developers. It takes the large collection of JavaScript modules in your application as input and bundles them into one or several JS files that you can easily include in an HTML document. …


My book recommendations for any software developer

Image for post
Image for post
Photo by Priscilla Du Preez on Unsplash

Today I’m answering one of your questions, what are the books I’d recommend to learn more about programming. Before jumping into the book recommendations, let me clarify one thing. I did not read all the books listed below. However, I read many of them, and those I didn’t read were recommendations I got in the past or are books highly recommended by other references of mine.

Also, I want to state that books are super important to develop skills, learn about best practices, and acquire general knowledge. Still, the most important thing to do when learning to code is to practice and build things independently.

Building web apps that work with Ethereum smart contracts

View of construction site from the bottom
View of construction site from the bottom
Photo by Dayne Topkin on Unsplash.

Hi there! Today, we are covering how to build web applications capable of interacting with Ethereum smart contracts. This interaction is fascinating, as it will open a new world of possibilities for web developers who want to build apps (dapps) around blockchain.

During this tutorial, we will build a tiny smart contract to store and retrieve data on the Ethereum blockchain and create a web application that will allow us to access and change the data on the smart contract.

The content is available in two formats — the full article and a video explanation that you can view below:

Key learnings from my experience as a React developer

Image for post
Image for post
Photo by Sanah Suvarna on Unsplash

Today I was making some reflections on what challenges and new things I learned in the last few years, specifically related to programming or computer science in general. It is fair to say that I explored many new things, from IoT, computer vision, deep learning, blockchain development, and more on the programming side.

I’m thinking of making a series of posts about my journey into all these technologies, and I wanted to start with my journey and experience working with React. Why React first? …

How to work with the most popular data structures using our favorite programming language

Image for post
Image for post
Photo by Sharon McCutcheon on Unsplash

Data structures are one of the most important and fundamental concepts in programming. The data structures are used to keep the data in the application.

Data management is an important task for all software systems and applications in the design and development phase. We can find the application of the data structure almost everywhere we could imagine. For example, if we are building a student management system and want to store the data in the application, we will use data structures for this purpose.

Data structures help us to organize our data efficiently and in a better way. The use of data structures makes our program faster and efficient. Python is the most efficient programming language when it comes to data structures. …


Juan Cruz Martinez

I’m an entrepreneur, developer, author, speaker, and doer of things. I write about JavaScript, Python, AI, and programming in general.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store