SkillSync – Tech Skills Tracker (2-Tier Web App with CI/CD)

Overview

SkillSync is a two-tier serverless web application designed to help users track, update, and showcase their technical skills over time. The project demonstrates cloud-native architecture, serverless best practices, and full CI/CD integration—making it scalable, cost-efficient, and easy to maintain.

This project was built as part of my AWS Developer Associate learning path and reflects real-world practices for designing and deploying modern applications in the cloud.

Key Features

  • Frontend: A responsive static website hosted on Amazon S3 and distributed globally using CloudFront.

  • Backend: RESTful APIs built with Amazon API Gateway and AWS Lambda.

  • Database: DynamoDB for storing and querying skill profiles.

  • CI/CD Pipeline: Automated build and deployment using GitHub Actions integrated with AWS CodePipeline.

  • Scalability & Security: Infrastructure as Code (CloudFormation templates) for reproducibility, IAM for least-privilege access, and secure API endpoints.

Architecture

The architecture follows a classic two-tier pattern:

  1. Presentation Layer (Frontend) – React/HTML static files hosted in an S3 bucket, served through CloudFront for low-latency delivery.

  2. Application Layer (Backend) – API Gateway routes requests to Lambda functions for CRUD operations.

  3. Data Layer – DynamoDB stores skill entries, including skill name, proficiency level, and last updated timestamp.

The CI/CD pipeline ensures any changes pushed to the GitHub repository are automatically built, tested, and deployed to AWS.

Technologies Used

  • AWS Services: S3, CloudFront, API Gateway, Lambda, DynamoDB, CodePipeline, IAM, CloudFormation

  • DevOps Tools: GitHub, GitHub Actions

  • Languages: Python (Lambda), JavaScript/React (Frontend)

  • Infrastructure: CloudFormation templates for repeatable deployments

Challenges & Solutions

  • Challenge: Managing cross-origin requests (CORS) between the frontend and API Gateway.
    Solution: Configured API Gateway with proper CORS headers and verified using Postman before frontend integration.

  • Challenge: Automating deployments securely.
    Solution: Integrated GitHub Actions with CodePipeline using OIDC authentication to avoid storing long-lived AWS credentials.

Learning Outcomes

  • Strengthened skills in serverless application design and CI/CD pipelines.

  • Hands-on experience with Infrastructure as Code (CloudFormation).

  • Gained practice in debugging end-to-end integrations between frontend, backend, and database layers.

Future Enhancements

  • Add user authentication with Amazon Cognito.

  • Build a dashboard with analytics to visualize progress in skills.

  • Integrate AI-based skill recommendations using Amazon Bedrock.

Project Links