# Portfolio Project Plan This plan outlines the projects I will be working on to enhance my portfolio, showcasing my skills in web development, AI integration, serverless architecture, and cloud computing. The projects are selected to demonstrate a range of skills across different technologies and domains. ## Project 1: Serverless Image Classification and Captioning - **Estimated Time of Delivery:** 4-6 weeks - **Estimated Complexity:** Intermediate to Advanced - **Tech Stack:** AWS Lambda, Amazon Rekognition (or a custom TensorFlow model deployed as a Lambda function), Terraform, Python, HTML, CSS, JavaScript - **Description:** A web application that not only classifies images but also generates captions for them, running entirely on serverless architecture. Users upload images, and the system uses AWS Lambda to process the image, leveraging Amazon Rekognition for classification and a custom Lambda function for caption generation. Terraform is employed to define and deploy the necessary cloud infrastructure, demonstrating a codified approach to cloud resource management. This project showcases the ability to create a dynamic, scalable application using AWS services and Terraform, emphasizing skills in cloud computing, serverless architecture, and AI. ## Project 2: E-commerce Website with Integrated AI Chatbot - **Estimated Time of Delivery:** 5-7 weeks - **Estimated Complexity:** Intermediate to Advanced - **Tech Stack:** JavaScript, Node.js, Express, TensorFlow (for product recommendation and chatbot functionalities), React or Angular, MongoDB or MySQL, Dialogflow or Rasa (for the chatbot) - **Description:** An e-commerce platform that features an AI-powered product recommendation engine and an integrated chatbot to assist customers. The chatbot can answer FAQs, provide information about products, and direct customers to products based on their queries. This project showcases the ability to create a dynamic web application with real-time AI integrations, improving user engagement and experience. ## Project 3: Real-time News Aggregator with Sentiment Analysis - **Estimated Time of Delivery:** 4-6 weeks - **Estimated Complexity:** Intermediate - **Tech Stack:** Next.js, React, Node.js, Express, TensorFlow or a similar library for sentiment analysis, Socket.IO for real-time updates, MongoDB - **Description:** A web application that aggregates news from various sources in real-time and performs sentiment analysis on the content. It displays news articles and their sentiment scores, categorizing them into positive, neutral, or negative sentiment. This project showcases the use of Next.js for server-side rendering and React for the frontend, enhancing SEO and performance. ## Project 4: AI-Enhanced Fitness App - **Estimated Time of Delivery:** 6-8 weeks - **Estimated Complexity:** Advanced - **Tech Stack:** Python, Flask or Django, TensorFlow, React or Vue.js, SQLite - **Description:** A fitness application that uses AI to offer personalized workout and nutrition plans. It adapts plans based on user progress and goals, including features like progress tracking and virtual workout adjustments. ## Project 5: Interactive Portfolio Website with Three.js Effects - **Estimated Time of Delivery:** 4-6 weeks - **Estimated Complexity:** Intermediate - **Tech Stack:** HTML, CSS, JavaScript, Three.js, React (optional for SPA aspects) - **Description:** The capstone of my portfolio, this project is an interactive portfolio website designed to showcase the projects I've developed. Utilizing Three.js, the website features engaging 3D visual effects that interact with the user's movements and actions, creating a memorable browsing experience. The site will be developed with a focus on performance and responsiveness, ensuring accessibility across devices. This project demonstrates my front-end development skills, creativity in UI/UX design, and my ability to integrate advanced graphical content into web applications. ## Additional Notes: - This project serves as a practical demonstration of my web development capabilities and my proficiency with Three.js for creating interactive 3D graphics. - Incorporating React can further showcase my skills in building single-page applications (SPAs), enhancing the user experience with dynamic content loading. - The website will also feature detailed write-ups and case studies of each project, highlighting the technologies used, challenges overcome, and the solutions implemented. By including the development of the portfolio website itself as a project, it emphasizes a meta-approach to showcasing my skills and projects in a unique and engaging manner. This not only provides a direct demonstration of my abilities but also offers visitors an immersive experience as they explore my work. ## Additional Notes: - Each project will be done using TDD where possible. - The **estimated time of delivery** for each project includes the initial planning, development, testing, and refinement phases. - This plan demonstrates a balance between showing a broad range of foundational skills and delving into specialized areas like AI, machine learning, serverless architecture, and cloud computing. - Emphasis is placed on diversifying the tech stack to showcase versatility, including front-end development with Next.js and React, back-end development with Python and Node.js, AI integration, and cloud infrastructure management with Terraform. This plan is subject to change based on learning progress, new technologies discovered, and feedback received on initial projects. # Random Project Ideas ## Rise & Energize: The Ultimate Wake-Up Challenge I struggle waking up early in the morning. I hit snooze way too many times! A possible solution could be a mobile app with an alarm that is obnoxious. ### Key features - **No Snooze**: There's no option to delay the alarm, pushing you to wake up as soon as it rings. - **Always on Top**: The alarm appears over all other screen activities, making sure you can't miss it. - **Can't Be Closed Easily**: You won't be able to simply swipe it away. - **Loud Sound**: It's loud enough to grab your attention, no matter how deep your sleep. - **Silence with Effort**: If you shake your phone five times, the alarm will quiet down briefly. But to keep it quiet, you'll need to keep shaking it until you've either walked enough or your heart rate is up. ### Stopping the alarm To stop the alarm one of these two requirements need to be met: 1. **Increase Your Heart Rate**: Get your heart beating at over 100 bpm. 2. **Walk a Bit**: Move around until you've walked at least one kilometre. ## Tattoo Visualiser: Enhancing Client Experience in Tattoo Studios This project is an app/web app designed for tattoo artist studios, aiming to enhance the way prospective clients envision potential tattoos on their bodies. Write the code once, make it usable for multiple studios. ### Key Features - **Custom Image Upload**: Clients can upload a custom design image they wish to have tattooed. - **Live Body Part Picture**: Enables clients to take a live photo of the body part where they plan to get the tattoo. - **Size Customisation**: Clients have the option to select the size of the tattoo, ensuring it matches their vision. - **AI-Powered Realistic Renders**: Utilises AI technology to edit the uploaded picture, providing a realistic representation of how the tattoo would look on the client's skin and specific body part. - **Quote Submission**: Allows clients to submit their tattoo ideas directly to the artist or studio for a cost estimate, streamlining the consultation process. - **Premade Design Catalog**: Features a catalog of premade designs by studio artists, enabling clients to browse, select, and visualise how these designs would appear on their skin. - **Artist Design Uploads**: Tattoo artists can upload their custom designs to the catalog, showcasing their work and offering more choices to clients. - **Data Analysis for Trend Insights**: Employs data analysis to identify trending designs and preferences, enhancing marketing strategies by highlighting popular designs in advertisements. ### How It Works Clients can upload or take a picture of their desired tattoo area, choose a design—either custom or from the catalog—and use AI technology to see a realistic render of the tattoo on their skin. This tool aids in decision-making and enhances the client consultation process by providing a visual representation of the final result, alongside facilitating direct submissions for quotes and enabling studios to tailor their offerings based on popular trends. ## IntuiRec: Universal Recommendation Engine Concept Aiming to develop a versatile recommendation engine that seamlessly integrates across various platforms including blogs, e-commerce sites, and media streaming services, focusing on adaptability, performance, and user privacy. ### Objective To create a highly adaptable recommendation engine that can be easily integrated and customised for various digital platforms, enhancing user experience through personalised content, product, and media suggestions. ### Core Components - **Adaptive Recommendation Algorithms**: Utilises both collaborative filtering and content-based methods, with support for hybrid models. - **Data Normalisation Layer**: Handles diverse data formats, ensuring compatibility across different domains. - **Real-Time Learning Mechanism**: Adapts recommendations based on continuous user interaction, enhancing personalisation. - **API and Integration Toolkit**: Simplified APIs for easy integration into existing platforms, with SDKs for common languages. ### Developer Features - **Modular Architecture**: Allows for easy customisation and extension of functionalities to meet domain-specific requirements. - **Privacy-First Design**: Implements data handling practices that prioritise user privacy and comply with regulations like GDPR. - **Performance Optimisation**: Focuses on efficient algorithms and scalable infrastructure to handle high volumes of requests and data. - **Customisable Metrics and Analytics**: Provides tools for tracking and analysing recommendation performance, user engagement, and other key metrics.