Sohaib Khan
I am a driven technical support engineer with seven years of experience and a passion for DevOps and cloud infrastructure. I am proficient in Linux administration and network troubleshooting, and have a proven track record of providing outstanding customer support and resolving technical issues efficiently. In addition, I am adept at collaborating with vendors and third-party companies to resolve complex problems.
As a lifelong learner, I am always seeking new knowledge and love to share my expertise with others in the community. I have a particular affinity for building infrastructure from the ground up and maintaining it with best practices. For instance, I currently host my own infrastructure from home using Proxmox Virtual Environment, an open-source hyper-converged software. With Proxmox, I am able to host many of my favorite applications using containers.
Languages
Throughout my career, I’ve had the pleasure of working with various programming and markup languages. Here are some that I’ve particularly enjoyed and leveraged:
- Bash scripting: I rely heavily on bash scripts in my day-to-day tasks. Automating routine processes is something I’m passionate about, and I’ve been crafting bash scripts for over three years to make operations smoother.
- Python: My journey with Python began shortly after I delved into bash. I’ve grown fond of its versatility and continue to hone my skills with each new project.
- HTML/CSS: While I may not use HTML or CSS daily, I’m comfortable diving into them when needed, ensuring that the frontend aligns with the desired aesthetic and functionality.
- YAML/JSON: Working with tools like Docker and Kubernetes has given me hands-on experience with YAML and JSON. These data serialization languages are crucial for configuration, and I’ve used them extensively for defining and deploying infrastructure setups.
- Markdown: I regularly use Markdown for creating well-structured documentation, README files, and other content. Its simplicity and readability make it a favorite choice for many content creation tasks.
Databases
- MySQL: As for databases, I have experience working with MySQL, writing transaction queries for tier 1 and 2 in tech support.
- PostgreSQL: I’ve set up and managed PostgreSQL servers, ensuring efficient and reliable data storage for applications.
- NoSQL: My experience extends to NoSQL databases, implementing them in projects requiring flexibility and scalability.
- Elasticsearch: I have actively worked with Elasticsearch, harnessing its capabilities for powerful and precise search functionalities.
- Database Management: A crucial part of my database expertise includes backing up and restoring database servers, ensuring data integrity and availability.
Editors
- In terms of editors, I am proficient with nano and vim, and use VS Code as my primary editor. I have customized it with many plugins that I find helpful
Web Development
Tools & Platforms:
Hugo: Among the numerous static site generators available, I find Hugo stands out for its clean interface and user-friendly nature.
WordPress & Elementor Pro: My journey in web development has led me to specialize in WordPress, particularly using the Elementor Pro plugin. With these tools, I’ve been able to craft diverse websites tailored to individual project requirements:
Restaurant Websites: I craft engaging sites that beautifully display menus, ambiance, and reviews, aiming to boost reservations and visits.
Appointment Booking Platforms: My designs focus on user-friendly booking interfaces, ensuring clients can easily schedule, reschedule, or cancel appointments.
Portfolios: I create both personal and professional portfolio websites, spotlighting achievements, projects, and skills in a compelling visual format.
Websites Showcase:
Infrastructure as Code (IAC)
Ansible: Ansible is one of my favorite Infrastructure as Code (IAC) tools to use. I have used it in my own projects, check them out here. Here are some examples of the tasks that I have automated using Ansible playbooks and Bash scripts.
- Stopping Docker containers gracefully before performing updates or maintenance activities on the host system.
- Creating backups of Docker container data and their persistent volumes to remote servers such as Synology or cloud-based storage solutions, ensuring data redundancy and disaster recovery.
Terraform: Terraform is another one of my favorite IAC tools, which I have used in my workplace. Check out my work on Terraform in my knowledgebase-terraform here.
- I have worked with managing Terraform state files for personal projects, and understand the importance of keeping them consistent and up to date.
- I have utilized Terraform modules to organize and reuse code across projects.
- I have a strong understanding of Terraform state management and can effectively troubleshoot using debugging tools such as TRACE, TF_LOG, and DEBUG
Vagrant: I have experience using Vagrant for personal projects and as part of a freelancing project for a client. In these projects,
- Configured virtual machines using Vagrant and VirtualBox to match production environments, ensuring consistent behavior between development and production.
- Collaborated with team members by sharing Vagrantfiles and associated provisioning scripts via version control systems such as Git
- Troubleshot Vagrant-related issues, such as network connectivity and virtual machine performance problems, to ensure smooth development workflows.
Continuous Integration and Continuous Delivery (CI/CD)
I have extensive experience with CI/CD pipelines using various tools including CircleCI, Jenkins, and Github Actions. I have successfully set up projects from scratch on all three platforms and have written few articles demonstrating how to configure Jenkins and CircleCI pipelines. Jenkins - CircleCi
Version Control
I have extensive experience with Git for version control and have used it for personal and work-related projects. I am proficient in using Git for collaboration and managing code repositories with multiple branches and contributors. I have also used various Git workflows such as GitFlow and have experience with tools such as GitHub. I have written articles on best practices for using Git in software development.
- Configuring GitHub security policies such as requiring pull-requests and approval from another person before merging code into the main branch.
- Creating new repositories on GitHub and managing them effectively.
- Creating local branches from the master or main branch.
- Creating pull requests for code reviews, providing feedback, and merging code.
- Using GitHub Actions for continuous integration and continuous deployment (CI/CD) workflows.
- Using Git features such as rebasing, popping, and stashing to manage code changes effectively.
- Forking repositories and cloning them locally for experimentation and testing
Containerization
Kubernetes: I am constantly striving to enhance my skills with Kubernetes. I have a fundamental understanding of kubernetes and its core concepts. i have used kubernetes in work and personal environment.
- Helm: I have experience using Helm charts to manage Kubernetes deployments.
- Cluster setup: I have set up my own Kubernetes cluster with four nodes (one master and three workers), using tools like Kubeadmin and K3s. I have deployed apps to this cluster and have a good understanding of Kubernetes networking and storage volumes.
- Monitoring: I have used tools like K9s and Prometheus/Grafana to monitor Kubernetes workloads and infrastructure.
Docker: I use Docker for my personal infrastructure and have also used it at my workplaces. I have a few projects that I can certainly demonstrate in my knowledgebase-docker. Check them out here.
- Built containers from Dockerfiles.
- Created applications from scratch using Docker Compose. For example, I built an image for Hugo using Docker Compose.
- Understanding of Docker networking, including the concepts of bridge networks, host networking, and overlay networks.
- Familiarity with Docker storage, including the use of data volumes and bind mounts.
- Knowledge of Docker’s privileged mode and its implications for security
Skaffold: I have harnessed Skaffold’s power to automate and streamline the deployment of applications on Kubernetes.
- Employed Skaffold to build and deploy a Python-based chatbot application.
- Utilized skaffold.yaml for a seamless development to deployment experience, from image building to Kubernetes deployment.
- Leveraged Skaffold’s live logging feature for real-time monitoring and debugging during the deployment process.
Monitoring
I have extensive experience working with various monitoring tools, both in personal and professional settings. In particular, I am skilled in working with the Grafana/Prometheus stack, New Relic, Netdata, Kuma Uptime and Orion by Solarwind.
For my personal infrastructure, I have set up and configured the Grafana/Prometheus stack to effectively monitor system activity. I have also shared my knowledge by writing an article detailing the process of setting up the Grafana/Prometheus stack, which can be found here
Ticketing Platforms
I have a wealth of experience using a variety of ticketing platforms throughout my career, including ServiceNow, ZenDesk, POET (an in-house ticketing platform), Salesforce, and Jira. These platforms have allowed me to effectively manage and prioritize tasks, track project progress, and facilitate communication with team members and stakeholders.
Linux
With over 6 years of experience, I have a proven track record of successfully installing, configuring, and troubleshooting Linux-based systems in both on-premise and cloud-based environments. I am proficient in installing and configuring various Linux distributions such as Debian, Ubuntu, CentOS, Fedora, Manjaro, and PopOS. Some of my notable achievements include:
- Setting up headless servers from scratch and utilizing package managers such as apt, yum, rpm, dnf, zyppers, pacman, snap, flatpak, brew (mac), pip3, and npm, based on specific requirements and scenarios.
- Configuring firewalls, including iptables and UFW, to enable ports for services such as SSH (22) and web servers (80, 443), as well as blocking or allowing specific IP addresses.
- Managing repositories, both third-party and official, to install apps not included in the default repository.
- Configuring networking settings such as static IPs, bonding LAN ports, and using network troubleshooting tools like nmap and traceroute.
- Utilizing tools like curl and wget for file transfers and automating tasks through scripting, including backup, restore, and updating.
- Performing system logs auditing, package manager logs, SSH logs, and bootup logs to ensure system integrity and security.
- Troubleshooting network connectivity issues, and documenting system procedures for future reference.
- Optimizing kernels for performance improvements.
- Setting up various services such as SSH, FTP, Nextcloud, Coverity, Jenkins, and Ubiquiti Unifi Controller software.
- Enabling remote access to desktop environments using VNC.
- Managing VMs and LXC containers using Proxmox.
- Setting up Wireguard VPN tunnels.
I am constantly expanding my knowledge and skills in Linux-based systems to stay updated with the latest industry developments.
Microsoft products
While I have not recently used Microsoft products in my professional roles, I have extensive experience setting up and maintaining Windows operating systems such as Windows XP, Windows Vista, Windows 7, 8, and 10. I have also worked with Office 365 and have set up and configured Windows Server 2008, 2012, and 2019. In previous roles, I have connected clients to work domains and configured their machines from scratch. I am comfortable performing helpdesk tasks, such as password resets and user assistance.
Collaboration Apps
- Slack: Proficient in using Slack and integrating other applications with it.
- Microsoft Teams: Experienced in using Microsoft Teams for collaboration and communication within teams.
Messaging & Notifications
Push Notifications:
- AWS: Successfully set up push notifications to streamline communication and engagement.
- ntfy: Leveraged the capabilities of ntfy, an open-source HTTP-based pub-sub notification service, to send notifications across different platforms including mobile devices and desktops.
- Publishing messages using PUT or POST, ensuring efficient topic creation.
- Integrating it with diverse tools and scripts for sending tailored notifications.
- Managing topics, considering their security by selecting non-guessable names.
Cloud providers
I have extensive experience working with major cloud providers such as AWS, Azure, and Linode, and am proficient in creating and managing cloud infrastructure on these platforms. In addition, I have a proven track record of successfully deploying and scaling applications on cloud platforms
Agile Methodology
As a DevOps Engineer, I have worked extensively with Agile methodology in both personal and professional environments. I have experience with various Agile frameworks such as Scrum, Kanban, and Lean, and have worked closely with development teams to implement Agile practices for faster and more efficient delivery of software products. I have worked with Agile tools such as Jira.
Networking Fundamentals
I have a solid understanding of networking fundamentals including IP addressing, subnetting, DNS, routing, and network protocols such as TCP/IP and HTTP. I have experience with network troubleshooting tools such as ping, traceroute, and Wireshark. I have also worked with firewalls, load balancers, and VPNs in cloud environments such as AWS and Azure. I am able to apply this knowledge to ensure the reliability, security, and performance of applications and infrastructure
Artificial Intelligence and Machine Learning:
- Extensive hands-on experience using OpenAI’s GPT-3, a state-of-the-art language model. Utilized this tool to create realistic human-like text, enhancing communication and engagement efforts.
- Proficient in implementing AI-based chatbots in a business context to streamline processes, enhance customer engagement, and optimize response times.
- Developed a strong understanding of different AI models and platforms, such as Google’s Chatbot, to diversify my toolkit and approach to problem-solving.
- Demonstrated the ability to critically evaluate AI performance and outcomes, identifying areas for improvement and refining the use of AI tools accordingly.
- Implemented AI solutions in everyday business operations, exhibiting a strong aptitude for embracing and applying emerging technologies.
- Continually learning and upskilling in AI and machine learning, demonstrating a commitment to staying on the leading edge of technology advancements.
Robotics Process Automation (RPA):
- Have hands-on experience with UiPath, including UiPath Orchestrator and Assistant, in production support environments. Proficient in monitoring, troubleshooting, and maintaining automated workflows to ensure continuous and reliable operations.
- Developed custom automation tasks for personal projects, gaining end-to-end experience in designing, building, and deploying automated processes from scratch. This provided valuable insights into workflow optimization, enhancing productivity in real-world environments.
- Demonstrated ability to create and implement RPA solutions that automate repetitive tasks, reduce human error, and increase operational efficiency.
- Strong understanding of the RPA lifecycle, from process identification and assessment to automation development, testing, and deployment.
—————————————————————————————————————————————————————————————————
Employment History:
APPLICATION SUPPORT ENGINEER (RPA)
JPMorganChase Co - Wilmington, DE (Hybrid) 04/2024 - Present
- Delivered comprehensive frontline production support, ensuring continuous operation and minimizing downtime for RPA systems and workflows.
- Collaborated with stakeholders, vendors, and cross-functional engineering teams to troubleshoot and resolve production issues, implementing lasting solutions for recurring problems.
- Assisted developers in managing production deployments via CI/CD pipelines (Jenkins), automating and optimizing release cycles for greater efficiency and reduced lead times.
- Actively monitored production environments through detailed dashboards, ensuring system performance, uptime, and rapid response to performance degradations.
- Leveraged tools like UiPath and WinAutomation to support and enhance RPA workflows, driving process efficiency and automation reliability.
- Authored and maintained in-depth documentation of new processes, fostering team-wide knowledge sharing and promoting consistency in RPA management.
MSP Engineer
VineBrook Technology - Andover MA (On-Site) 01/2024 - 04/2024
- Managed user on-boarding and off-boarding for a variety of clients.
- Utilized Jamf to manage and configure Apple devices (iPhones, iPads, MacBook Pro, Mac Mini).
- Leveraged FreshService to manage IT inventory, users, and incoming user requests.
- Administered user accounts across both on-premises environments and Azure AD.
- Managed Microsoft 365 licenses and streamlined account provisioning.
- Set up and built MacOS and Windows-based PCs for efficient user deployment.
- Collaborated with client IT personnel to generate daily reports.
- Proactively monitored communication channels on Slack and Microsoft Teams.
DevOps Engineer
Motorola Zoom (Now Minim) – Manchester, NH 01/2022 – 03/2023
- Utilized Kanban board as a scrum master conducting retrospectives, and sprint planning.
- Proactively communicated and coordinated with multiple project teams.
- Developed and maintained monitoring, and alerting tools ( Grafana/Prometheus, Datadog, New Relic).
- Reviewed all AWS accounts and environments to avoid additional costs.
- Automated build and deployment process with Jenkins & CircleCi, eliminating manual work.
- Maintaining detailed documentation of moderately complex system specifications, including system installation procedures, backups, recovery techniques, and test methods.
- Conducted code reviews for 10+ pull requests, resulting in improved code quality and reduced bugs by.
- Automated the provisioning and configuration of highly available web servers on both Azure and AWS using terraform and Ansible. Reduced infrastructure provisioning time and improved deployment consistency by implementing IAC practices.
- Developed optimize Docker images for web application using multi-stage builds, reducing image size
- Managed deployment of micro-services architecture on Kubernetes cluster using YAML manifests and kubectl commands. Achieved 99.9% uptime for the application by implementing rolling updates and monitoring resources utilization closely.
Network Support Specialist
Motorola Zoom (Now Minim) – Manchester, NH 06/2020 – 01/2022
- Answered incoming calls and email tickets
- Guide customers through setup process, addressing hardware, software, and network issues
- Troubleshoot Motorola products, PCs, tablets, smart devices, printers, and IP cameras.
- Identified issues and implemented troubleshooting techniques to alleviate downtime and system failure.
Technical Support Specialist II
GlobalTel (GTL) – Dallas, TX 07/2018 – 06/2020
- Remote Support & Rapid Response: Provided immediate remote support for Linux-based kiosks, responding to phone calls, emails, and voicemails within a 30-minute time frame.
- Real-time Monitoring & Troubleshooting: Continuously monitored a watch-list of live. devices across the country, proactively identifying and resolving operational issues.
- Collaboration & Coordination: Worked closely with field technicians and third-party vendors to execute maintenance tasks, hardware replacements, and software updates.
- Explained technical information in clear terms to non-technical individuals to promote better understanding.
- Collaborated with supervisors to escalate and address customer inquiries or technical issues.
Technical Support Specialist I
GlobalTel (GTL) – Dallas, TX 07/2017 – 07/2018
- Provided support to field technicians and coordinated with third-party vendors.
- Setup modem/router with field technicians and escalated issues to the proper team.
- Provided remote support to Linux-based kiosks.
Retail Sales Lead
T-Mobile – North Richland Hills, TX 07/2014 – 07/2017
- Sales & Promotion: Actively promoted a range of vendor products, consistently meeting and exceeding sales targets through upselling and cross-selling techniques.
- Data Management & Record-Keeping: Diligently prepared and maintained. comprehensive records related to sales agreements, customer inquiries, and inventory, ensuring accuracy and compliance.
- Team Collaboration: Worked closely with team members and store management to brainstorm and implement sales strategies, contributing to the store’s overall performance.
- Product Launch & Merchandising: Played a key role in the successful launch of new products, setting up promotional displays and educating customers on features and benefits.
- Coached sales associates in product specifications, sales incentives, and selling techniques, significantly increasing customer satisfaction ratings.
Laptop Technician (Contractor)
Client: Hewlett Packard (Via SMS Infocomm) – Grapevine, TX 05/2014 – 07/2014
- Component Replacement: Skillfully replaced various hardware components, including LCD screens, motherboards, hard drives, RAM, and wireless cards, adhering to HP’s quality standards.
- Diagnostic Expertise: Conducted comprehensive hardware and software diagnostics to identify issues, ensuring the optimal functionality of units.
- BIOS Management: Performed BIOS updates to enhance system performance and resolve compatibility issues, contributing to customer satisfaction.
- Quality Assurance: Carried out rigorous testing protocols to verify repairs, resulting in a reduction of return or complaint rates.
- Installed, configured, tested and maintained operating systems, application software, and system management tools.
Certifications:
Microsoft Certified – Azure Fundamentals 06/2023
AWS Certified Cloud Practitioner 08/2023
Freelance Projects:
After being laid off from my previous job, I wanted to continue gaining experience and keeping my skills sharp while searching for my next full-time opportunity. Therefore, I decided to take on freelancing projects, which not only allowed me to work on interesting projects but also helped me to connect with new people in the industry. You can view some of my work on my Upwork profile:.
Technical Writer for Linux System Administrator:
As a freelancer, I undertook a project for an instructor who teaches Linux to beginners. The project involved updating a course lesson from CentOS 8 to AlmaLinux 9 using Vagrant,
- Successfully completed a project for a client to update a course lesson from CentOS 8 to AlmaLinux 9 using Vagrant
- Utilized technical skills in testing and documenting cascading changes resulting from the OS and package updates
- Modified IP address from 10.23.45.25 to 192.168.57.20 to ensure network compatibility
- Updated Kanboard version to latest available version, ensuring successful installation and functionality
- Followed strict project instructions while communicating with the client to ensure project completion to their satisfaction
Personal Projects:
Some of my favorite projects that i’m working on or worked on. I try to keep them updated when i have spare time.
Home Server setup:
I have created a comprehensive guide for setting up a home lab using various tools like Proxmox and Docker containers. The source code for this project is available on both my GitHub repository and knowledge base. You can follow the step-by-step instructions and use the code to create your own home server setup. Github | KnowledgeBase
Yunohost
Previously, before shifting to containers, I used a Debian-based server called Yunohost. I have documented a process for setting up Yunohost from scratch, which you can find on my GitHub repository. Github
OpenWrt Project
For my personal project, I transformed a spare Raspberry Pi into a powerful wireless Access Point and Router using OpenWrt, an open-source Linux-based firmware for embedded devices. This project allowed me to gain valuable hands-on experience with network configuration and system administration.
Key Accomplishments: - Installed OpenWrt on a Raspberry Pi, leveraging my technical skills in flashing and setting up custom firmware. - Configured the firewall to ensure secure and optimized network traffic, enhancing network security and performance. - Successfully enabled the Raspberry Pi to act as an Access Point, broadcasting a stable and reliable WiFi network for client devices. - Set up the Raspberry Pi to function as a router, providing network connectivity and facilitating data transmission between devices.
Technologies Used: - Raspberry Pi: Utilized a Raspberry Pi board, showcasing my ability to work with single-board computers. - OpenWrt: Implemented and customized OpenWrt firmware, demonstrating my proficiency in utilizing open-source tools for networking purposes. - Network Configuration: Gained experience in configuring network settings, including firewall rules, DHCP, and NAT.
Through this project, I deepened my understanding of networking concepts and honed my problem-solving skills by troubleshooting and overcoming various technical challenges. Moreover, the project allowed me to repurpose old hardware, showcasing my eco-conscious approach to technology.
This endeavor not only enriched my technical prowess but also fueled my passion for exploring new technologies and pushing the boundaries of what can be achieved with affordable hardware. I am proud of this project as it exemplifies my dedication to self-initiated learning and practical application of knowledge.
Note: For security reasons, this project was limited to personal use in a controlled environment and was not intended for commercial deployment.
pfSense Network Security Project
As part of my ongoing quest to enhance my networking and security skills, I took on a challenging project where I leveraged a NUC PC with 4 ethernet ports to create a robust and highly secure network infrastructure using pfSense, an open-source firewall and routing platform. This undertaking allowed me to gain valuable experience in network security, VPN configuration, and advanced traffic management.
Key Achievements: - Procured and configured a NUC PC with multiple ethernet ports, showcasing my ability to work with specialized hardware to build custom networking solutions. - Installed and set up pfSense, customizing it to suit my specific requirements, thereby enhancing my proficiency in configuring complex networking software. - Implemented a WireGuard server, which enabled secure remote access to my home network, highlighting my expertise in VPN technologies. - Skillfully managed port forwarding to host various web applications securely, demonstrating my aptitude in directing traffic to designated services. - Applied sophisticated traffic filtering and shaping techniques to optimize network performance and ensure efficient bandwidth utilization.
Technologies and Concepts Applied: - pfSense: Demonstrated my competence in working with an enterprise-grade firewall and routing platform to create a secure and reliable network environment. - VPN (Virtual Private Network): Configured a WireGuard server to establish encrypted and secure connections, emphasizing my proficiency in VPN setup and management. - Port Forwarding: Successfully set up port forwarding rules, showcasing my ability to enable external access to specific services while maintaining network security. - Traffic Filtering and Shaping: Utilized advanced techniques to manage network traffic, prioritize certain data, and control bandwidth usage efficiently.
Throughout this project, I faced various technical challenges that I overcame through research, experimentation, and troubleshooting. The experience not only broadened my knowledge of networking technologies but also strengthened my ability to design and implement secure and performant network architectures.
Furthermore, this project aligns with my dedication to privacy and data security, as it allowed me to take full control of my network infrastructure and ensure that my personal data remains protected.
Note: The configurations and settings used in this project were implemented in a controlled environment, and security measures were carefully applied. The knowledge gained from this endeavor enables me to handle network security responsibly and with vigilance.
Overall, this pfSense project exemplifies my passion for networking, security, and self-directed learning, making it a valuable addition to my portfolio of technical accomplishments.
Running Wireguard VPN on Raspberry Pi
In my pursuit of building a versatile and secure homelab setup, I utilized a Raspberry Pi 4, which was already hosting my media server with Docker, to implement a Wireguard VPN solution. This project allowed me to establish a secure virtual private network, enabling encrypted communication between my devices and enhancing my knowledge of VPN technologies and server configuration.
Key Highlights: - Leveraged a Raspberry Pi 4, showcasing my ability to maximize the potential of single-board computers for various applications. - Integrated Wireguard into the existing Docker-based media server setup, illustrating my proficiency in working with containerized applications. - Opened and forwarded port 51820 on my router, demonstrating my networking skills and understanding of port forwarding principles. - Configured client devices with appropriate keys and successfully tested the Wireguard connection, showcasing my ability to set up and manage VPN clients securely.
My Contribution: In addition to the project itself, I documented the entire process of setting up Wireguard on a Raspberry Pi in a comprehensive playbook. This playbook serves as a valuable resource for others looking to replicate the project or learn how to set up their own secure VPN on a Raspberry Pi. The playbook can be accessed here.
Technologies and Skills Demonstrated: - Raspberry Pi 4: Utilized the capabilities of this compact yet powerful device, demonstrating my ability to repurpose hardware for diverse projects. - Docker: Effectively managed containerized applications, highlighting my expertise in working with Docker in a practical environment. - Wireguard VPN: Successfully implemented and configured Wireguard, showcasing my understanding of VPN protocols and encryption. - Networking and Port Forwarding: Exhibited my knowledge of networking concepts by enabling external access to the Wireguard VPN server securely.
By combining my passion for homelab projects, networking, and documentation, this Wireguard project has become an essential component of my portfolio. It showcases my ability to build upon existing infrastructure, explore new technologies, and contribute to the community by sharing valuable knowledge through detailed documentation.
Note: Security and privacy were paramount during the setup of the Wireguard VPN, and proper measures were taken to ensure the integrity and confidentiality of the network communications.
I am proud to have undertaken this project, as it not only expanded my skill set but also empowers others to implement their own secure VPN solutions using readily available and affordable hardware like the Raspberry Pi.
AiCat - Dual-Platform Chatbot Integration:
In a bid to harness the intelligence of two renowned AI platforms, I embarked on a journey to design and develop AiCat, a unique chatbot that integrates OpenAI’s GPT-3 and Google’s Bard AI. This chatbot provides answers from both platforms, giving users a comprehensive response experience.
Key Achievements:
- Developed a seamless integration of two prominent AI platforms, showcasing my expertise in Python programming and API integration.
- Implemented error-handling mechanisms to ensure smooth interactions, demonstrating my focus on user experience and system robustness.
- Engaged in continuous development to refine the chatbot further, emphasizing my commitment to project evolution and improvement.
Technologies and Skills Demonstrated:
- Python: Utilized Python to build and run the chatbot efficiently, highlighting my programming prowess.
- API Integration: Demonstrated my capability in API integration by successfully merging two distinct AI platforms to function in harmony.
- Docker: Crafted a docker environment setup script to facilitate a streamlined deployment process, underlining my proficiency in containerization and environment setup.
Further enhancing the project’s appeal, I’ve included a docker environment setup script which ensures an easy deployment process for those interested in exploring or using AiCat.
For those who are intrigued by the amalgamation of these AI giants, AiCat offers a glimpse into what’s possible with creative coding and integrations. I invite you to explore more about AiCat, which I continue to refine and enhance, on my GitHub repository.
Proxmox Virtual Environment Automation
Developed Python scripts leveraging the Proxmox API, enabling automation of VM lifecycle tasks, which enhanced deployment speed and reliability.
Implemented functionalities such as:
- Listing all VMs on the node.
- Allowing dynamic VM selection from the list for various operations.
- Providing user-driven creation, starting, and deletion of VMs using predefined configurations.
Integrated the Proxmox API using Python’s requests library, efficiently managing authentication, headers, and data payloads for seamless API interactions.
For the first time, navigated complexities tied to API key authentication and token management, enhancing security and ensuring consistent access to the Proxmox environment.
Addressed and resolved challenges arising from VM configurations through the API, solidifying the stability and efficiency of the scripts.
Adopted infrastructure as code (IaC) methodologies, ensuring deployments were consistently reproducible, thoroughly documented, and standardized.
GitHub Repository: Proxmox IaC Automation
Finance Manager Web Application
For this personal project, I developed a simple web application to help users manage their monthly finances. The app allows users to track income and expenses, offering a clear and interactive view of their financial situation.
Key Accomplishments:
- Developed both Docker and Kubernetes deployment options for flexibility in testing and production environments.
- Integrated Skaffold for continuous development and deployment in a Kubernetes environment, enabling seamless iterations.
- Created a user-friendly interface with a login page, allowing users to add, edit, and remove financial entries, and view monthly summaries in real-time.
- Implemented financial charts and data tables to help users visualize their income, expenses, and savings, improving financial tracking and decision-making.
Technologies Used:
- Docker & Kubernetes: Leveraged for containerization and cloud-native deployment.
- Skaffold: For streamlining Kubernetes development and automating deployments.
- Flask (Python): Backend framework used to create a lightweight and efficient web application.
- SQLite: Database system used to store user data, ensuring fast and reliable access.
- Jinja2 Templates: For rendering dynamic HTML templates, providing a smooth user experience.
This project allowed me to gain valuable experience with web application development, containerization, and deployment pipelines. You can find the full project on my GitHub repository.
Lite Markdown Wiki
For this personal project, I developed a simple Flask-based web application that allows users to create, edit, delete, and view markdown articles. The app also includes features such as image uploads, fuzzy search for finding articles quickly, and dark and light mode toggles for user preference.
Key Accomplishments:
- Created a user-friendly interface with a rich markdown editing experience using Toast UI Editor, supporting both dark and light modes.
- Enabled fuzzy search functionality to quickly locate markdown articles, enhancing user experience.
- Integrated image uploads, allowing users to embed images directly into their articles.
- Developed a simple pagination feature to list and browse through markdown articles efficiently.
- Built a lightweight app with minimal dependencies and a streamlined setup using a single shell script.
Technologies Used:
- Flask (Python): Backend framework used to manage article creation, editing, and deletion functionality.
- Toast UI Editor: Markdown editor for rich text formatting and editing experience.
- FuzzyWuzzy: Implemented for fuzzy searching of articles.
- Jinja2 Templates: For rendering dynamic content in HTML.
This project allowed me to gain experience with lightweight web development, markdown processing, and UI/UX considerations. You can explore more details about the project on my GitHub repository.
Contact me:
If you like what you see and want to collaborate with me, feel free to reach out using the contact information. GitHub - Linkedin - My-Wiki - Email([email protected]) (Discord)[uername:sohaib50 | IamRoot]