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:
Presentation Layer (Frontend) – React/HTML static files hosted in an S3 bucket, served through CloudFront for low-latency delivery.
Application Layer (Backend) – API Gateway routes requests to Lambda functions for CRUD operations.
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
GitHub Repository: https://github.com/desinthecloud/skillsync-v2