Inspiration
One of our team members, despite having months of experience with AWS, still struggles with setting up and managing DevOps workflows. This highlighted a common challenge—AWS, while powerful, comes with a steep learning curve, especially for beginners and intermediate programmers. With its vast array of services, configurations, and debugging complexities, AWS can become a hinderance for developers who simply want to deploy their code efficiently.
The rest of the team tried to learn AWS to get a gauge on the difficulty and was quickly overwhlemed by the complexities of concepts and the shear amount of featured services. This can be quite discouraging as such a steep learning curve requires lots of time that many students just don't have. This is inspired the team to desing an automatic code deployer. This design would actually help the team with a real problem we epxerience in our day-to-day life.
What it does
To tackle this problem, we decided to create smart glasses and a smartwatch that automate the process of uploading code to AWS. By leveraging wearable technology, we aim to simplify cloud deployment, reduce manual overhead, and make AWS workflows more intuitive and accessible.
The smart glasses and smartwatch allow developers to deploy code to AWS with simple gesture-based inputs, eliminating the need for manual configurations. The glasses takes pictures of the developers' code on the screen, and the ultrasonic sensor watch detects a specific motion in order to upload the code. Once the code is uploaded, it automatically creates a new repository in github and a new function in AWS lambda. This saves a lot of time and is very accessible to new programmers who wish to use AWS and create their own server.
The program will also give the user suggestions on how to improve their code upon upload. This is an incredibly useful feature for any programmer as it saves a lot of time on debugging.
How we built it
ESP32-CAM captures an image of the code and scans for text to be deployed. We use Streamlit to create a simple, web-based interface. Then we deploy code to AWS with the AWS API,where it deploys backend code from GitHub to an AWS EC2 instance using the AWS API (Boto3). Before deploying the code, LangChain AI reviews it for potential issues. This step helps prevent errors before they go live. The ultrasonic sensors on the watch is a mechanism for an ergonomical way of uploading the code.
Challenges we ran into
Our goal was to implement a gesture-activated system for hands-free interaction to enhance user experience. A major driving factor behind this decision was our commitment to reducing repetitive strain injuries, a common issue among developers due to prolonged keyboard and mouse use.
However, due to the limited resources available, we faced significant constraints in achieving the level of interactivity we originally envisioned. With only a faulty infrared sensor and an ultrasound sensor, our hands-free inputs were limited to simple "yes" or "no" responses, preventing more complex gestures like multi-directional motions or precise hand tracking.
Thus, we decided to dedicate the most critical task to the hands-free component: the automatic upload and configuration of our code to the cloud. With a simple motion, developers could trigger an entire DevOps automation pipeline without needing to interact manually with a keyboard or mouse.
Accomplishments that we're proud of
One of our biggest achievements was making AWS more accessible by simplifying its steep learning curve. AWS offers hundreds of powerful yet complex features, which can be overwhelming for newcomers and even experienced developers. By incorporating gesture-based controls, we transformed intricate DevOps tasks—like configuring cloud resources, deploying applications, and managing infrastructure—into simple, intuitive hand motions.
By incorporating gesture-based controls, we also sought to minimize unnecessary physical strain and improve workflow efficiency. Beyond just convenience, we recognized the long-term health benefits of reducing repetitive motions, making this a core objective of our project. Ultimately, our vision was to simplify menial DevOps tasks and create a more ergonomic, accessible, and developer-friendly work environment.
What we learned
Throughout this project, the team gained valuable insight into the integration of the human experience within virtual mediums. Designing a hands-free AWS configurator required us to think beyond functionality, we had to consider user experience, accessibility, and efficiency. It became clear that effective automation isn't just about reducing effort; it's about identifying and removing the most significant barriers, especially for new developers navigating AWS's steep learning curve. By focusing on the most daunting aspects of AWS, we learned to streamline workflows in a way that makes cloud deployment more intuitive and less overwhelming.
For team members new to hardware and Arduino, this project was an eye-opening introduction to the power of microcontrollers in bringing ideas to life. We experienced firsthand how Arduino can bridge the gap between concept and reality, allowing us to prototype, iterate, and tangibly refine our vision. This hands-on learning process reinforced the importance of hardware-software integration in building innovative, real-world solutions.
What's next for JEBS
Building on our current progress, we aim to integrate more advanced motion-sensing software that is customizable to the user. This would allow developers to configure personalized gestures for various DevOps tasks, further streamlining workflow and reducing repetitive manual actions.
Some potential shortcuts include; Triggering an AWS CodePipeline build Restarting or scaling an EC2 instance Managing S3 bucket uploads
By expanding our gesture-based capabilities, we hope to increase efficiency, enhance accessibility, and reduce strain, making DevOps automation even more seamless and developer-friendly.
Built With
- amazon-web-services
- arduino
- esp32
- github
- langchain
- opencv
- python
- streamlit
- vercel
Log in or sign up for Devpost to join the conversation.