Produce HLS content ready for streaming with AWS Media Convert

Prelude To build a streaming platform, as discussed here - read it if you miss it! - you first need to know what’s behind a streaming. Have you ever notice that streaming from streaming platform constantly adapt to your network, trying to avoid buffering and slowing down of the stream itself? Today it’s pretty hard to have connection problems, but even only 10 years ago this was a problem for many of us. Moreover, have you ever tried to download a video from a streaming resource? From time to time it’s hard to do it, you only get some empty file or “small pieces”, even using downloader extensions… ...

June 22, 2023 · 5 min

Building an e-learning platform on AWS

Prelude In the past year, I worked on a project to build an e-learning platform (actually, it’s so much more!). I started using AWS Amplify, and I end up testing so many different services around it. I’ll cover the following topics: Choosing the right AWS services; Designing the application architecture; Developing the backend; Developing the frontend; Deploying the application; I hope this article will be helpful for anyone who is considering building an e-learning platform or something similar. Spoiler is: the platform is not ready yet, but I hope I will have the chance to conclude it by the end of this year 🙏 my time is super limited unfortunately :/ ...

April 17, 2023 · 6 min

I hacked my blog to let AWS Polly create podcast over it

Prelude Hi guys, after a series of back-to-the-future-I-didn’t-have-time-to-write-new-things… I’m back. What happened in the last months… ok, covid19 put the whole world in trouble, I bought an apartment, I opened a company and I resign my contract. Really. Nothing. Special. But TODAY - I wanna talk about a project I have since a while, and I worked on a boring Sunday afternoon: I hacked my blog to let Polly read it for you! 😎 😎 😎 ...

November 26, 2020 · 13 min

A serverless OCR with Polly and Rekognition unveils the power of stack inheritance in CDK

Introduction In the last two weeks, I released a few CDK stacks: I made some experiments around API Gateway and service integration that came out in two serverless forms, the Contact Form and the Upload Form, read to be deployed in your static web page 😎. Actually, with CDK you can do so much more and so much more easily. The last stack I released - a producer-consumer chain presented here - it was a way I used to introduce how you can leverage Typescript inheritance to recycle an old stack and build on top of it. In this last step of this cycle, I will extend this concept once again to build - DRUMROLL - an OCR Serverless solution to be integrated into your application. The use cases are multiple: imagine you want to create podcasts of course lessons on top of your notes, to be able to listen to them during your trip to office or university or whenever you want. Imagine an application to help blind people - like the Be My Eyes app - to read documents without the help of no ones but AWS Services. Well, the use cases are endless so… let’s go! ...

June 13, 2019 · 8 min

SQS Extended: a serverless producer/consumer chain

Introduction A few days ago I wrote about a simple stack that leverage API Gateway and Lambda-proxy integration to create a safe upload endpoint to let unknown users push inside a bucket of your choice. The stack I will present today is can be used to build a producer-consumer chain, by implementing the SQS Extended pattern you can find in AWS exams. For the most curious, here you can find the core code. ...

June 4, 2019 · 5 min

Build an upload form with 45 lines of Typescript

Introduction The AWS CDK is becoming day by day pretty easy to use. I use Typescript, and today I will talk about a common use case: a simple Upload Endpoint for your API Gateway than like a LEGO can be built with a few instructions and of course…without the need of any server. For the most curious, here you can find the core code. Scenario You want to provide an endpoint to upload object: where? S3, of course. How? With a pre-signed a URL! What is it? A pre-signed URL it’s a URL that gives someone access to the object identified in the URL, provided that the creator of the pre-signed URL has the permissions to access that object. That is, if you receive a pre-signed URL to upload an object, you can upload the object only if the creator of the pre-signed URL has the necessary permissions to upload that object. ...

May 29, 2019 · 6 min

How to deploy a serverless contact form with API Gateway, DynamoDB and SNS

Introduction Hi everybody, thanks for the claps, it was a great month - rain rain rain again - now I’m back. The only GOOD THING of this terrible May is that AWS CDK came to simplify our life and I started using it (just a little) bit - still, enough to say, sincerely: it’s awesome. I used the Typescript version, everything is broken 2 release out of 3 but the time you save exploring the interfaces instead of looking for Cloudformation documentation online worths the time spending in troubleshooting the ongoing changes. Today I’m here to write about a common use case, a simple stack, and that’s all I have to say. ...

May 23, 2019 · 6 min

Node.js, DynamoDB, and AWS Step Functions to collect <em>sentimented</em> movie reviews

Introduction Recently I worked with AWS Lambda and API Gateway to extend my set of personal APIs and collect information from several sources. I wrote an article on that (if you want to have a look). In this article I will talk about the AWS Step Functions service that enable create finite states machines to easy coordinate the components of distributed applications and microservices using visual workflows. Why AWS Step Functions? Because they let me create a tool to gather movie titles in teather, search for reviews about each of them and make a basic sentiment analysis over the review to help me decide what’s worth watching at teather and what’s worth waiting for on Netflix :D More in general, with AWS Step Functions, you can build applications made of individual components that each perform a discrete function: this lets you scale and change applications quickly. Step Functions is a reliable way to coordinate components and step through the functions of your application. They provides a graphical console to arrange and visualize the components of your application as a series of steps. This makes it simple to build and run multistep applications. Step Functions automatically triggers and tracks each step, and retries when there are errors, so your application executes in order and as expected. Step Functions logs the state of each step, so when things do go wrong, you can diagnose and debug problems quickly. ...

March 5, 2018 · 20 min