RSSAmplifier

Blog

Montalesi.dev

Alberto Montalesi — software developer, author of The Complete Guide to Modern JavaScript, and builder of web and mobile apps.

montalesi.devRSS feed ↗48 posts

Latest posts

Why Greenland Looks Bigger Than Africa on a Mercator Map

Mercator maps make Greenland look close to the size of Africa, although Africa is roughly fourteen times larger. Map2Maps lets you select a country or draw a shape and compare it across up to four map projections.

How I Make App Store Screenshots Without a Design Tool

A free browser-based tool for generating App Store screenshots: device mockups at the required resolutions, captions, backgrounds, translation into 18 languages, and ZIP export. No account or screenshot upload required.

Designing a Simple Currency Conversion Calculator

Valuta is an iPhone currency converter with a calculator keypad built in, so you can convert a price and then split it, add tax, or multiply it without switching apps. It saves recent rates for offline reference, stores favorite currency pairs locally, and has a one-time purchase with no account.

I Built One Place for Movies, Books, and Games

Yore is a local-first iPhone app that replaces half a dozen single-purpose trackers with one library, log, and diary for movies, TV, anime, books, manga, games, music, podcasts, board games, and comics, with metadata pulled from public, no-key sources.

A Browser Tank Game Inspired by Battle City

Battle Tanks is a free browser-based, top-down tank arena shooter built with Three.js and WebGPU: classic Battle City energy (drive a tank, blast bricks, defend a base) layered with a modern roguelite power-up ladder, boss fights, and local co-op. No download, no install.

How I Balanced a City Builder with Run Exports

ARCOLOGY is a free browser-based cyberpunk city builder made with Three.js, where you grow a neon district into a profit machine while keeping three rival factions in balance. The economy was tuned by exporting every run as JSON and iterating on the data instead of guessing.

Remembering Which Coffee Shop (and Order) Was Actually Good

Provato is a local-first iPhone app for tracking restaurants and cafes you tried or want to try, with notes, ratings, photos, locations, history, and wishlist items. It is built for the specific problem of forgetting which coffee shop was worth returning to.

Why I moved this blog from Vercel to Cloudflare Workers

Why I moved this Next.js blog off Vercel to Cloudflare Workers: the April 2026 security incident, the pricing math, and the technical steps of swapping in OpenNext and replacing the unmaintained Contentlayer with Velite.

I Built Baby Book Tracker for Our Reading Routine

Baby Book Tracker is a simple, local-first iOS app for logging reading sessions with your baby, tracking progress toward goals like 1000 Books Before Kindergarten, and sharing the routine with caregivers. No account is required, and full access is a one-time unlock rather than a subscription.

JS Challenge 7: Multiples of 3 or 5

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

JS Challenge 6: Convert string to camel case

Complete the method/function so that it converts dash/underscore delimited words into camel casing.

JS Challenge 5: Pete the baker

Write a function cakes(), which takes the recipe (object) and the available ingredients (also an object) and returns the maximum number of cakes Pete can bake (integer).

JS Challenge 4: Who Likes it?

Implement a function likes :: [String] -> String, which must take in input array, containing the names of people who like an item. It must return the display text as shown in the examples.

JS Challenge 3: Remove Zeroes

Write a function that takes an array of values and moves all elements that are zero to the end of the array, otherwise preserving the order of the array. The zero elements must also maintain the order in which they occurred.

JS Challenge 2: Word Scrambles

Complete the function scramble(str1, str2) that returns true if a portion of str1 characters can be rearranged to match str2, otherwise returns false.

JS Challenge 1: Simple Pig Latin

Move the first letter of each word to the end of it, then add 'ay' to the end of the word. Leave punctuation marks untouched.

Everything new coming in ES2022

Learn the new features that will become part of JavaScript with the ES2022 specification

Everything new coming in ES2021

Learn the new features that will become part of JavaScript with the ES2021 specification

30 Useful CSS Examples For Logically Creative Minds

Cinyras ea tulit in inducit qui mater Lorem markdownum facit? Hinc tutus serisque, mihi iaculum curam, vicibus aliquando se posses gentis quidem. Meta canis tenebat diversa dixerat celeberrimus molle require; prendique urnam videre et poste Pyreneus? Haut mei sive digna noctisque percussit dicta, in pars certaminis iuvenalis. Praemonuisse esse novissima quaere cum inter in huic, Cinyras pallentem…

Find and Replace elements in Array with JavaScript

Learn how to find and replace elements in arrays with JavaScript. Learn how to use indexOf, filter, splice and more

What is the difference between passing by value or by reference in JavaScript

Learn what is the difference between pass by value and pass by reference and understand how JavaScript uses them

Discover more Console methods available in JavaScript and learn how to style them

Learn how to use more methods than just console.log and improve your debugging. Apply some style to your console methods and make your code more recognisable

Stay motivated during lockdown by learning Programming

It's easy to feel down during lockdown, don't waste your day in front of the TV, learn something new and stay motivated and positive

Create a JavaScript plugin to highlight and tweet text

Learn how to create a plugin to allow users to highlight and tweet text from your pages

Copy text to the clipboard with JavaScript in 10 lines of code

Add a copy to clipboard button with JavaScript in only 10 lines of code

Add dark mode to your website with just a few lines of code

Learn how you can implement dark mode to your website in two different ways

Create a dynamic sticky table of contents for your website

Learn how to create a dynamic table of contents for your articles and how to make it sticky, always at the top, with just a few lines of code

Learn JavaScript with this interactive course

Learn everything from the basics to the latest features of ES2019 and practice with quizzes and coding challenges in this interactive course

10 Must Know JavaScript string methods

A list of 10 must know string methods that every JavaScript developer should know. Includes a downloadable set of flashcards.

Everything you need to know from ES2016 to ES2019

Learn all the new features introduced to JavaScript from ES2016 to ES2019 and download a cheatsheet to bring with you

What is MDX and how you can use it on your Gatsby blog

Supercharge your Markdown with MDX and implement components inside your articles with this plugin for Gatsby

5 Best Gatsby plugins for your programming blog

A list of my favorite plugins to use on a static site created with Gatsby. Use these plugins to improve your blog quickly and easily

Send automated tweets from a Google Sheet with Google Scripts

Automate tweeting by leveraging Google Scripts, post a new tweet everyday from a Google Sheet file

An introduction to CSS Variables

Learn how to use CSS Variables to write cleaner and more reusable stylesheets

What's new in JavaScript: Optional Chaining

Discover one of the most anticipated upcoming features of JavaScript, optional chaining and start using it right now

Best laptops for programmer under 800 Dollars

Get yourself a new laptop, suitable for all your needs as a programmer, for under 800 dollars

5 Best note taking apps for programmers

Taking notes is a vital part of the job of programmer and these apps will help you easily take notes that you can export and save in different formats

5 Great VSCode extensions for web developers

Arguably, the most fun part of installing a new IDE is to check out the extensions available. In this article I will tell you the 5 I think every developer should install

Create Pomodoro Clock in JavaScript Tutorial | freeCodeCamp

Use only JavaScript and create a Pomodoro Clock in one hour and complete this project inspired by the FreeCodeCamp curriculum

Create a Random Quote Machine in JavaScript | freeCodeCamp

Learn how to create a random quote generator using a public API and JavaScript and complete this project inspired by the FreeCodeCamp curriculum

Tutorial - Create a Smooth Scrolling Navigation with JavaScript

In this tutorial you will learn how to create a simple smooth scrolling navigation menu with JavaScript that works on every browser

My Journey from an ESL Teacher to Software Developer in Vietnam

Hi, my name is Alberto, and this is the story of how I learned to code, wrote a programming book, started my own blog and became a software developer.

Tutorial - Create a Carousel with JavaScript

Learn how to create a simple, responsive carousel with JavaScript. Use it to display images or testimonials on your website

Tutorial - Create a Responsive HTML Login Form

Using only HTML, create a responsive,mobile friendly, beautiful login form to attract users to register your website. No JavaScript required.

FREE JavaScript ES2016 / ES2017 / ES2018 Cheatsheet

Download this cheatsheet with all the new features introducedo to JavaScript from 2016 all the way to ES2018

Tutorial - Create a To Do List with JavaScript

Learn how to create a to do list with only JavaScript. Add and remove items with just a few lines of code

The best resources to learn Ruby on Rails in 2018

Let's have a look at what I consider to be the best resources to learn Ruby on Rails

The 4 best FREE Resources to Learn CSS Grid in 2019

Let's have a look at 4 free resources where you can get started with CSS Grid.