avatar Projects

Projects

Apps, tools, and experiments I build to solve problems I actually have — mostly with AWS, serverless architectures, and AI-assisted coding. Some are actively evolving, some are stable tools I maintain, and others are experiments or case studies.

Development activity

2026 Sep Aug Jul Jun May Apr Mar Feb 2026 Jan Dec Nov Oct 2025 Sep
📡 Announcements Hub for AWS
🗓️ Community Organizer Hub
🏓 Playing Padel · My Matches
🏆 Playing Padel · Tournaments
💰 AWS FinOps Toolkit
📱 Mobile Image Generator
📸 Photo Merge
📊 Personal Investment Tracker
🏠 Home & Property Manager
⚙️ PlayingPadel Backoffice
👶 Baby Ready

Months in which each project received meaningful updates. Stable projects may remain unchanged for long periods.

Filter

Format
Access
📡

Announcements Hub for AWS

Every AWS announcement in one place, with AI-powered search

🟢 Available online
Offline-capable No signup AI-powered
React TypeScript AWS CDK Bedrock DynamoDB
View details

A static-first web app that collects and organizes all AWS "What's New" announcements into a fast, searchable interface. Discover relevant service launches, ask natural-language questions about AWS history through an AI assistant, and keep up without living on the AWS blog. Community voting and comments are available as an optional layer on top.

Dec 2025 → Sep 2026
Why I built it

I wanted a fast way to discover the AWS announcements that actually matter to me and to ask questions about any launch in plain language — instead of scrolling the What's New feed.

AI chat powered by Amazon Bedrock Nova — natural language queries over AWS announcement history
Sub-second loads via CloudFront-served, monthly-partitioned JSON (no DB reads on page load)
Automated hourly RSS sync via EventBridge + Lambda with AI-assisted categorization
S3-first architecture — DynamoDB reserved only for transactional metadata
Optional community layer: voting, awards, and AI-moderated comments
React TypeScript Python AWS CDK S3 CloudFront Lambda DynamoDB Bedrock Nova Cognito EventBridge API Gateway AgentCore Strands
🗓️

Community Organizer Hub

Serverless event management with real-time raffles, Q&A, and polls

🟢 Available online
No signup for attendees Real-time Multi-tenant
React TypeScript AWS CDK AppSync DynamoDB
View details

Multi-tenant, serverless event management platform built entirely on AWS. Enables community organizers to manage groups, events, speakers, sponsors, and venues from a single admin interface. Public-facing features like live raffles, Q&A, polls, and feedback require no login.

Mar 2026 → Sep 2026
Why I built it

I wanted a single tool to share event management with co-organizers, publish events publicly, and run live interactions (raffles, polls, Q&A) during meetups — all in one place.

Multi-tenant RBAC with PLATFORM_ADMIN and ORGANIZER roles, fully scoped per group
Real-time raffle, Q&A, and poll features via AppSync WebSocket subscriptions
Public event pages, feedback forms, and raffle participation — no authentication required
Smart deployment pipeline using hash-based change detection to skip unchanged components
Fully serverless infrastructure provisioned with AWS CDK across 5 stacks
React 18 TypeScript Vite Tailwind CSS AWS CDK Lambda API Gateway DynamoDB Cognito AppSync S3 CloudFront
🏓

Playing Padel · My Matches

For players: track your matches and stats — free, offline, no signup

🟢 Available online
Offline-first No signup Google Play
Vanilla JS TailwindCSS AWS Lambda DynamoDB
View details

A free PWA (also on Android via Google Play) where padel players track their matches and stats — no signup, no ads, works offline. Solves the gap between expensive club platforms and having nothing: a personal, private tool ready in under a minute.

Sep 2025 → Sep 2026
Why I built it

I wanted an inventory of my matches to track how I'm doing and improve over time — and I decided to publish it on Android so anyone could use it.

Track a match in seconds — only the score is required, everything else is optional
7-section advanced analytics: trends, rivals, partners, sets, predictions and more (Pro)
Points & levels system (10 levels, New Player → Padel Master) with 23 unlockable achievements (Pro)
Offline-first PWA — works on court with no signal; also available on Android via Google Play
Self-evaluation per match: technique, tactics, mental, physical — with evolution charts (Pro)
Vanilla JS TailwindCSS PostCSS Jest Playwright AWS Lambda API Gateway DynamoDB CloudFront S3 AWS SAM React 19 Vite Android TWA
🏆

Playing Padel · Tournaments

For groups and clubs: run tournaments, leagues, and americanos, share live results

🟢 Available online
pwa Real-time google-sso
React TypeScript AWS SAM Cognito DynamoDB
View details

An app for padel organizers: create tournaments (with seeded knockout brackets) and leagues (round-based or dynamic), manage pairs and groups, and enter results that update standings instantly. Participants follow the competition live by link or QR — no install needed. The companion to Playing Padel · My Matches: one to play, one to compete.

Jul 2026 → Sep 2026
Why I built it

After building Playing Padel · My Matches for players, I wanted a tool to set up and run the club's tournaments and leagues without spreadsheets and runaway WhatsApp groups.

Tournaments with knockout brackets, seeded top players, and automatic winner advancement
Round-based or dynamic leagues, with standings that update as you enter results
Pair and group management, with automatic pairing of unmatched players
Live results and a public competition view to share by link or QR
Google SSO and installable as a PWA
React TypeScript Vite Tailwind CSS AWS SAM Lambda API Gateway DynamoDB Cognito S3 CloudFront Google SSO
💰

AWS FinOps Toolkit

Automated AWS cost, tag governance, and optimization reports to your inbox

Open source
Serverless Lambda free tier
Node.js AWS Lambda SAM SES Cost Explorer
View details
Cost report email Tag analysis report

Open-source serverless toolkit that transforms AWS cost data into actionable operations. Bridges the gap between raw AWS billing services and real financial governance — delivering automated reports, tag compliance checks, and optimization insights directly to your inbox.

Feb 2026 → Mar 2026
Why I built it

I wanted cost and optimization reports delivered to my email automatically — without having to log in to the AWS console to check them myself.

Automated cost analysis, compliance, and optimization reports via email (SES) and S3
Detects tag typos and validates required tags across all regions with a Tag Inventory report
Surfaces consolidated AWS Optimizer recommendations prioritized for action
Runs on Lambda free tier — lightweight alternative to Cost Intelligence Dashboards
Single YAML config controls budgets, schedules, recipients, and tag policies
Node.js 22 AWS Lambda AWS SAM S3 SES EventBridge Cost Explorer API AWS Config AWS Budgets Compute Optimizer
📱

Mobile Image Generator

Wrap screenshots in phone mockups, export as WebP for app stores

Open source
Runs locally Browser UI
Node.js Puppeteer
View details
Before Before: raw screenshot
After After: phone mockup

CLI tool that wraps app screenshots in a realistic phone mockup and converts them to WebP — ready for app store listings and marketing pages. Includes an interactive browser UI as a no-CLI alternative.

Apr 2026
Why I built it

I needed polished mockup images for PlayingPadel's Google Play listing without using Figma or paid tools.

Before/after: raw screenshot → polished phone mockup
Batch WebP conversion with optional resizing
Configurable background color and caption text
Browser UI alternative for non-CLI users
📸

Photo Merge

Merge photos from multiple people into one deduplicated, organized folder

Open source
Runs locally No signup Resumable
Node.js FFmpeg ExifTool
View details

Node.js CLI that combines photos and videos from different people (iPhone, Android, cameras) into a single folder — converting formats, renaming by capture date, deduplicating with SHA-256, and optionally tagging who took each file. Built for trips where everyone shot on their own phone and you want one clean album afterwards.

Jul 2026
Why I built it

After every family trip I had hundreds of photos from different phones in different formats (HEIC, MOV, JPG) with inconsistent names and no easy way to merge them chronologically.

Converts all images to JPEG/WebP and videos to MP4 automatically
Renames files using actual capture date from EXIF metadata
SHA-256 deduplication — no repeated photos in the output
Interactive wizard for first use, CLI flags for scripting
Resumes automatically if interrupted — no reprocessing needed
Optionally strips GPS/EXIF for privacy
📊

Personal Investment Tracker

Unified dashboard replacing spreadsheets for investment tracking

🔒 Private case study
Offline-capable Automated import
React TypeScript AWS Lambda DynamoDB
View details

Personal dashboard that consolidates investments from different brokers into a single view — with performance tracking and dividend history. Replaces the spreadsheet I was using to keep track of everything.

Jun 2026 → Sep 2026
Why I built it

I wanted to stop using a spreadsheet to track my investments and have a proper dashboard with automatic import and unified views.

Unified view across multiple brokers without manual spreadsheets
Performance tracking with historical charts
Offline-first — data stays local with optional cloud backup
Automated data import from CSV/PDF statements
React TypeScript AWS Lambda DynamoDB S3 CloudFront API Gateway
🏠

Home & Property Manager

Income, expenses, contracts, tenants, renovations and tax summary in one place

🟢 Available online
Offline-capable Budget control
React TypeScript Lambda DynamoDB
View details

A management tool for property owners: track rental income and expenses, contracts and tenants, insurance and utility renewals, incidents, and renovation projects with budget control. Automatic alerts before anything expires and a tax summary ready for your return.

Jun 2026 → Sep 2026
Why I built it

I was juggling rentals, expenses, contracts and renewals across several spreadsheets and wanted a single place that also tells me when something is about to expire and gives me the numbers for my tax return.

Rental income and expenses with monthly and yearly summaries
Contracts, tenants, insurance and utility renewals with automatic alerts
Renovation projects with budget vs actual and AI recommendations
Tax summary and profitability per property
React TypeScript DynamoDB Lambda S3 CloudFront
⚙️

PlayingPadel Backoffice

Admin panel for managing PlayingPadel user feedback and analytics

🔒 Private case study
Role-based access Real-time analytics
React 19 Tailwind Cognito Recharts
View details

React administration app for PlayingPadel — provides content moderation, real-time analytics dashboards, and smart filtering over user-submitted feature requests and bug reports. Deployed as a static SPA on S3 + CloudFront.

Jan 2026 → Apr 2026
Why I built it

As PlayingPadel grew, I needed a way to manage user feedback, moderate submissions, and understand usage patterns without checking DynamoDB directly.

Content moderation with approve/reject flows and side-by-side comparison views
Real-time analytics dashboard with charts and usage metrics
Multi-criteria filtering and search across all submissions
JWT auth via AWS Cognito with role-based access
Intelligent caching layer to minimize API calls
React 19 Vite Tailwind CSS Zustand React Query AWS Cognito Recharts Axios S3 CloudFront
👶

Baby Ready

App to prepare for a baby's arrival: personalized list, finances and tasks, shared with family

🟢 Available online
pwa Offline-capable bilingual family-shared open-signup
React TypeScript AWS CDK Cognito DynamoDB
View details

A PWA for organizing everything around preparing for a baby: a personalized list based on your due date and preferences, shared wishlists with family, financial planning (expenses, loans, recurring costs), and a task checklist with priorities and due dates. Available in Spanish and English, with open signup at baby.playingaws.com.

Jun 2026 → Sep 2026
Why I built it

Preparing for a baby means coordinating with family who buys what, the budget and the deadlines. Baby Ready brings it all into one place, without drowning in spreadsheets and group chats. It started for my own family and is now open to anyone.

Personalized list based on your due date, climate, feeding type and preferences
Bilingual (Spanish / English): the language is chosen when you create the list
Shared wishlist with family: claim items, mark as bought/gifted, public view via invite link
Financial tracker: expenses, loans between family members, recurring costs
Google SSO with account linking (existing users keep their data)
PWA with offline support and auto-update (no app store needed)
React 18 Vite Tailwind CSS AWS CDK Lambda DynamoDB Cognito S3 CloudFront Google SSO

How I build

Most of these projects were built with AI-assisted coding (Kiro, Claude). I use AI as a development accelerator, not as a replacement for understanding the architecture. Every project here was designed, reviewed, and maintained by me.