Skip to content
Pau Mas Sales

My Projects

A selection of personal and academic projects where I apply my knowledge in cloud, systems, and development.

Featured project

Portfolio Website on AWS with Terraform

My CV and portfolio site is also my cloud project: a static website in three languages, served from AWS, with all its infrastructure defined as code and deployed automatically on every change.

  • Infrastructure as code with Terraform: the bucket, CloudFront distribution, certificate, DNS records, API, database, permissions and cost alerts are created and versioned from the repository.
  • Static site in a private S3 bucket, reachable only through CloudFront. HTTPS with an ACM certificate, security headers and redirects (language, www) handled at the edge with a CloudFront Function.
  • Serverless visit counter: API Gateway, Lambda (Node.js) and DynamoDB, served under the same domain at /api with request throttling.
  • CI/CD with GitHub Actions and OIDC: every push to main builds, deploys to S3 and invalidates the CloudFront cache, without storing any AWS keys.
  • Good practices: least-privilege permissions, remote Terraform state in S3 with locking, and a budget with alerts to keep costs in check.
TerraformAWS S3CloudFrontAPI GatewayLambdaDynamoDBGitHub ActionsOIDCCloudflareAstro
View repository
Architecture

Visitor

Opens paumassales.dev in the browser

Cloudflare DNS

Resolves the domain to CloudFront

AWS Cloud

CloudFront

Global CDN, ACM certificate and security rules

Private S3

Stores the static site; only CloudFront can read it

API Gateway

Receives /api calls with request throttling

Lambda

Node.js function that counts the visit

DynamoDB

Stores the visit counter

GitHub Actions

Builds and deploys on every push, no stored keys

The whole AWS box, the DNS records and the permissions are defined with Terraform.

Group of students after the AWS training in Mallorca

AWS Practical Teaching in Mallorca

In-person training experience in Mallorca teaching AWS classes to students with live demonstrations. Hands-on cloud services teaching with real-world scenarios.

AWSFormaciónCloudDemo en DirectoMallorca
Team at the AWS GameDay national championship in Valencia

AWS GameDay Finalist

Participated as a finalist in the national AWS GameDay championship. Real-time technical challenges on AWS services.

AWSCloud ComputingTeamwork
Participation certificate for the AWS GameDay National ChampionshipView certificate
Piscine participants at the 42 Barcelona campus

42 Barcelona Piscine

C programming projects during the intensive 26-day Piscine. Algorithms, memory management, and data structures.

CAlgoritmosShell Scripting