Hi, I'm Kaltun

I build cloud infrastructure: serverless apps, containerised deployments, and infrastructure as code, with CI/CD pipelines and DevOps practices baked in from the start. Every project here is live on AWS, not a local demo.

AWS Terraform Python Lambda DynamoDB S3 API Gateway CloudFront SSM Linux JavaScript GitHub Actions CI/CD

What I've Built

All projects are live on AWS and managed with Terraform.

Python · AWS Serverless
Expense Tracker

A serverless expense tracking app. Add expenses, view all transactions, and get a spending summary by category, all stored in DynamoDB and served via Lambda and API Gateway.

Lambda API Gateway DynamoDB Python S3 Terraform
Python · AWS
Weather Dashboard

Real-time weather data app. Enter any city to get temperature, humidity and a 3-day forecast. Lambda calls the OpenWeatherMap API with keys stored securely in SSM Parameter Store.

Lambda API Gateway SSM Python OpenWeatherMap
JavaScript · CSS
Linux Quiz App

An interactive quiz testing Linux command line knowledge covering file systems, permissions, process management and shell scripting. Built with vanilla JavaScript and deployed to S3 via CloudFront.

JavaScript CSS HTML S3 CloudFront
Infrastructure as Code
Cloud Infrastructure

The entire AWS infrastructure for this portfolio: S3, CloudFront, Lambda, API Gateway, DynamoDB and IAM, provisioned with Terraform and stored in a remote S3 backend with versioning enabled.

Terraform S3 Backend CloudFront IAM GitHub

Problems I've Solved

Real issues encountered and fixed throughout this project.

Lambda proxy integration not enabled on API Gateway
API calls returned empty events. Fixed by enabling Lambda proxy integration on all API Gateway methods. Without it, the event object arrives empty and the Lambda function receives no data.
API Gateway · Lambda
Incorrect API path: /prod/expenses instead of /expenses
Requests were hitting a 404 because the stage prefix /prod was being duplicated in the URL. The stage is handled separately by API Gateway. The correct path is /expenses, not /prod/expenses.
API Gateway
Quiz logic lost when replacing questions in script.js
When updating quiz questions, the entire script.js was replaced, wiping the quiz logic. Lesson learned: always preserve existing logic and only replace the relevant section of a file.
JavaScript · Git
.terraform/ binary accidentally committed to Git
A large Terraform provider binary was committed before .gitignore was created. Resolved by rewriting Git history with git filter-branch to remove the file entirely from all commits.
Git · Terraform
WSL 2 broke WiFi on Samsung Galaxy Book2 Go (ARM64)
Installing WSL via wsl --install caused the Qualcomm WiFi adapter to show Code 45. The fix was a full PC reset, then reinstalling WSL via the Microsoft Store, the correct method for ARM64 Snapdragon devices.
WSL · Windows · ARM64
HP laptop hardware incompatible with Windows 11 update
Older HP laptop hardware did not meet Windows 11 specs, causing system crashes every few minutes after a forced update. Resolved by migrating the entire development environment to a new machine.
Hardware · Windows
VS Code WSL server crashed repeatedly on ARM64
VS Code WSL extension crashed repeatedly on the Samsung Galaxy Book2 Go with error code 0x8007274c. Fixed by running wsl --shutdown then restarting WSL from PowerShell. Known issue with ARM64 devices.
WSL · VS Code · ARM64
.terraform/ binary committed to Git again on new laptop
After setting up a new machine, the .terraform/ provider binary was committed before .gitignore was in place. Fixed again with git filter-branch to rewrite history. Lesson: always create .gitignore before running terraform init on any new machine.
Git · Terraform

Technologies & Tools I Use

AWS Lambda S3 CloudFront API Gateway DynamoDB IAM SSM Parameter Store ECR VPC Networking EC2 Auto Scaling Elastic Load Balancer RDS CloudFormation Terraform Remote State Python JavaScript HTML CSS REST APIs Bash SQL MySQL Git GitHub Actions CI/CD Linux WSL VS Code AWS CLI Docker PowerShell

Certifications

🎓
AWS re/Start
Amazon Web Services
Gratuated MAY 2026
☁️
AWS Cloud Practitioner
Amazon Web Services
In Progress
☁️
AWS Solutions Architect Associate
Amazon Web Services
In Progress

Get in Touch

🐙
GitHub
kaltun-dev
💼
LinkedIn
Kaltun Osman