Skip to content

AKVishwakrama/AWS_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎤 AWS Voice Manager

A production-ready serverless application that enables voice-controlled querying of AWS resources. Built as part of my AWS Cloud Practitioner certification journey.

Live Demo

Dashboard Screenshot 1

Dashboard Screenshot 2

🌟 Why I Built This

After completing my AWS Cloud Practitioner certification, I wanted to build something that:

  • Solves a real problem: Managing AWS resources through CLI/console is time-consuming
  • Demonstrates practical AWS knowledge: Goes beyond theoretical certification
  • Showcases modern development: Full-stack with serverless architecture
  • Impresses recruiters: Live, interactive, and production-ready

✨ Key Features

🎤 Voice-First Interface

  • Natural language processing for AWS queries
  • Browser-based speech recognition (Chrome/Edge)
  • Text-to-speech responses for hands-free operation

🔗 Interactive Results

  • Click any resource to open directly in AWS Console
  • Visual indicators for different resource types
  • Command history with persistent clickable links

📊 Multi-Service Integration

  • Amazon S3 (Storage)
  • Amazon EC2 (Compute)
  • AWS Lambda (Functions)
  • Amazon RDS (Databases)
  • AWS Cost Explorer (Billing)

🎨 ** UI/UX**

  • AWS-themed design with Tailwind CSS
  • Responsive layout (mobile-friendly)
  • Smooth animations and transitions
  • Dark mode interface

🚀 Live Demo

Try it here →

Try these commands:

  • "Show my S3 buckets"
  • "List running EC2 instances"
  • "What are my Lambda functions?"
  • "What's my AWS bill this month?"

🏗️ Architecture

Frontend (React)
    ↓
API Gateway (REST API)
    ↓
Lambda Function (Python)
    ↓
AWS Services (S3, EC2, Lambda, RDS, Cost Explorer)

Technology Decisions

Choice Reason
React Component reusability, large ecosystem
Tailwind CSS Rapid UI development, consistent design
AWS Lambda Serverless = no server management, pay-per-use
API Gateway Built-in throttling, caching, CORS handling
Python + Boto3 Official AWS SDK, clean syntax

📊 Technical Highlights

  • Response Time: < 1.5s average
  • Cost: ~$0.50/month (Free Tier eligible)
  • Uptime: 99.9% (Netlify + AWS SLA)
  • Security: IAM role-based authentication, no hardcoded credentials
  • Lines of Code: 500+ (Python + React)

🛠️ Tech Stack

Frontend:

  • React 18 with Hooks
  • Tailwind CSS v4 (using Vite plugin)
  • Web Speech API (voice recognition)
  • Speech Synthesis API (text-to-speech)
  • Lucide React (icons)

Backend:

  • AWS Lambda (Python 3.11)
  • Boto3 (AWS SDK for Python)
  • AWS API Gateway (HTTP API)

DevOps:

  • Vite (build tool)
  • AWS CLI (deployment)
  • PowerShell (automation scripts)
  • Netlify (frontend hosting)

AWS Services:

  • Lambda, API Gateway, IAM, S3, EC2, RDS, Cost Explorer, CloudWatch

🚀 Getting Started

Prerequisites

# Required
Node.js 16+
AWS Account with CLI configured
Python 3.11+

# Optional (for voice features)
Microphone
Chrome or Edge browser

Quick Setup

  1. Clone and install dependencies
git clone https://github.com/AKVishwakrama/aws-voice-manager.git
cd aws-voice-manager
npm install
  1. Configure AWS CLI
aws configure
# Enter: Access Key ID, Secret Access Key, Region (ap-south-1)
  1. Deploy Lambda function
cd lambda-functions
.\deploy.ps1  # Windows
# or
./deploy.sh   # Mac/Linux
  1. Update API endpoint

Edit src/components/VoiceManager.jsx:

const apiEndpoint = "YOUR-API-GATEWAY-URL/prod/query";
  1. Run locally
npm run dev
# Open http://localhost:5173
  1. Build for production
npm run build
# Deploy dist/ folder to Netlify or Vercel

📁 Project Structure

aws-voice-manager/
├── src/
│   ├── components/
│   │   └── VoiceManager.jsx    # Main component (400+ lines)
│   ├── App.jsx                 # Root component
│   └── index.css               # Tailwind config
├── lambda-functions/
│   ├── lambda_function.py      # AWS Lambda handler (350+ lines)
│   ├── iam-policy.json         # IAM permissions
│   └── deploy.ps1              # Deployment automation
├── public/
├── vite.config.js
└── package.json

🔐 Security Implementation

IAM Least Privilege:

{
  "Effect": "Allow",
  "Action": [
    "s3:ListAllMyBuckets",
    "ec2:DescribeInstances",
    "lambda:ListFunctions"
  ],
  "Resource": "*"
}

CORS Configuration:

  • Allowed origins: Configured per environment
  • Allowed methods: POST, OPTIONS
  • Credentials: Not required

No Secrets in Code:

  • Lambda uses IAM role for AWS access
  • No API keys in frontend
  • Environment-based configuration

📈 What I Learned

AWS Services:

  • Lambda function development and optimization
  • API Gateway configuration (routes, stages, CORS)
  • IAM role creation and policy management
  • Cost optimization strategies

Frontend Skills:

  • React Hooks (useState, useRef, useEffect)
  • Web Speech API integration
  • Async/await patterns
  • Error handling and user feedback

Backend Development:

  • Python AWS SDK (Boto3)
  • Serverless architecture patterns
  • REST API design
  • Response formatting and parsing

DevOps:

  • CLI automation with PowerShell
  • CI/CD concepts
  • Multi-stage deployments
  • Monitoring with CloudWatch

Team collaboration features

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Ideas for contributors:

  • Add support for more AWS services
  • Improve voice recognition accuracy
  • Add unit tests
  • Create documentation
  • Design improvements

👨‍💻 About Me

Amit Vishwakarma

AWS Certified Cloud Practitioner | React Developer | Building Web Applications

Why I'm Seeking Internships:

I'm passionate about cloud computing and modern web development. This project demonstrates my ability to:

  • Learn and apply new technologies quickly
  • Build production-ready applications
  • Write clean, maintainable code
  • Solve real-world problems

I'm looking for internship opportunities where I can contribute to meaningful projects while continuing to grow as a developer.

🙏 Acknowledgments

  • AWS Documentation and community
  • React and Vite teams
  • Tailwind CSS contributors
  • Web Speech API specification authors
  • Everyone who provided feedback on this project

If you found this project helpful, please consider giving it a star!

Questions or suggestions? Open an issue or reach out on LinkedIn!

Looking for an internship? I'm available! Check out my resume.


Built with ❤️, ☕, and lots of AWS documentation

Last updated: January 2026

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published