Projects

All projects listed below are hosted on my GitHub.

Node.js Space Events Application | Repository | Live Demo

This project consists of a comprehensive space-themed event management web application built with Node.js, utilizing the Express framework and EJS template engine. Following the MVC design pattern, the application is deployed on Vercel, uses Cloudinary for cloud-hosting images, and MongoDB Atlas for the database. It offers robust features and functionalities, including:

  • MVC Architecture: The application follows the Model-View-Controller (MVC) design pattern, ensuring separation of concerns and facilitating maintenance and scalability.
  • Express Framework: Utilized for building the server-side of the application, providing robust routing and middleware functionalities.
  • EJS Template Engine: Used for rendering dynamic content on the client-side, enabling easy integration of server-side data into HTML templates.
  • Vercel Deployment: The application is deployed on Vercel, offering a seamless and scalable deployment solution.
  • Cloudinary Integration: Images are hosted on Cloudinary, ensuring efficient cloud-based image management and delivery.
  • MongoDB Atlas: The application uses MongoDB Atlas for cloud-based database management, providing a reliable and scalable data storage solution.
  • Event Management: Comprehensive CRUD functionalities for events, including creation, viewing, editing, and deletion of events. Events are categorized and can be viewed by category.
  • User Authentication and Authorization: Secure user authentication using hashed and salted passwords. Different access levels for users, ensuring only authorized users can perform specific actions.
  • Session Management: Persistent session management using express-session and connect-mongo, ensuring user sessions remain active even after server restarts.
  • RSVP Functionality: Authenticated users can RSVP to events hosted by others, with the ability to update their RSVP status (YES, NO, MAYBE). Hosts are restricted from RSVPing to their own events.
  • Flash Messages: Integration of flash messages for providing users with success and error notifications, enhancing user experience.
  • Dynamic Navigation Bar: The navigation bar dynamically displays menu items based on the user's role (guest or authenticated user), providing a personalized user experience.
  • Error Handling: Comprehensive error handling mechanisms for various scenarios, including invalid route parameters, database operation errors, and unauthorized requests. User-friendly error pages are displayed when errors occur.
  • Security Measures: Implementation of security measures to prevent common web application attacks, including input validation, output encoding, and limiting authentication requests. User inputs are sanitized and validated to prevent XSS attacks.
  • Front-End Input Validation: Front-end input validation ensures that all user inputs meet the required criteria before being processed by the server.
  • Logo and Branding: The application features a custom logo and branding under the name "Celestial Gatherings," enhancing its visual appeal and brand identity.
Tags: Web Application, JavaScript, Node.js, MVC, Express, MongoDB, Solo Project

Asteroid Data Analysis and Classification | Repository | Kaggle Notebook

This project involved a comprehensive analysis and classification of asteroid data using machine learning techniques. The dataset was sourced from the NASA JPL Small-Body Database. Key aspects of the project include:

  • Data Preprocessing: Handling missing values, encoding categorical variables, and feature selection for model training.
  • Exploratory Data Analysis: Visualizations including bar charts, scatter plots, and word clouds to understand data distribution and relationships.
  • Feature Engineering: Identified key features, such as perihelion distance (q), Earth Minimum Orbit Intersection Distance (moid_ld), and diameter, to predict Near-Earth Object (NEO) status.
  • Machine Learning Models: Implemented Random Forest for feature importance and a neural network using PyTorch for classification.
  • Model Evaluation: Achieved an accuracy of 99.95% on test data using neural network model with batch normalization and dropout for regularization.
  • Visualization Techniques: Used Seaborn and Matplotlib for creating informative visualizations that highlight key insights from the data.
  • Deployment and Sharing: The Jupyter Notebook and results are shared on Kaggle for reproducibility and further exploration by the data science community.
Tags: Data Science, Machine Learning, Data Visualization, Python, PyTorch, Solo Project

Predicting the Purpose of a Satellite | Repository | Kaggle Notebook

This project involved analyzing a comprehensive dataset of satellites currently orbiting Earth. The data includes details on country of origin, purpose, and operational specifics. Key aspects of the project include:

  • Data Cleaning and Preprocessing: Performed extensive data cleaning, including handling missing values, encoding categorical variables, and standardizing numerical features.
  • Feature Engineering: Identified key features such as 'Users', 'Class of Orbit', 'Type of Orbit', and 'Power (watts)' for predicting the purpose of satellites.
  • Machine Learning Models: Implemented RandomForest and LightGBM classifiers to predict satellite purposes with high accuracy, achieving a 97.62% accuracy rate on the test set.
  • Visualization and Analysis: Created visualizations to showcase feature importance and the distribution of satellite purposes, providing insights into the operational characteristics of satellites.
  • Model Deployment: Saved and deployed the trained models and preprocessing pipelines for future predictions and analysis.
Tags: Data Science, Machine Learning, Data Visualization, Python, LightGBM, Solo Project

Learning Platform - Framer Prototype | Repository | Live Demo

This project involved developing a web application prototype with Framer, progressing from low-fidelity wireframes to a high-fidelity, interactive prototype.

  • Purpose of the Prototype:
    • Educational Modules: Structured lessons that guide users through key data science concepts.
    • Interactive Quizzes: Engaging quizzes to reinforce learning and assess user understanding.
    • Practical Challenges: Real-world tasks that allow users to apply their knowledge in practical settings.
  • Development Process:
    • Low-Fidelity Wireframes: Sketched initial wireframes to outline the basic structure and flow of the application.
    • High-Fidelity Prototyping with Framer: Transformed low-fidelity sketches into a detailed, high-fidelity prototype using Framer's advanced tools for interaction and animation.
    • User Testing and Usability Testing: Conducted user testing to validate the prototype, gathering valuable feedback and insights to enhance interactions and overall user experience.
Tags: Wireframing, Prototyping, User Testing, Framer, Solo Project

Shopping Platform - Slideware Prototype | Overview | Demo

This project involved developing a collaborative slideware prototype for Haunted Couture, an interactive, Halloween-themed online shopping platform.

  • Prototype Functionality:
    • Virtual Try-On Room: Users upload images or use their webcam to try on clothing virtually.
    • Search by Keyword or Theme: Users can search for items (e.g., "witch") and select their size preferences before adding them to their basket.
    • Shopping Basket: Users select outfits and prepare them for checkout directly from search results.
    • Sharing and Social Media Integration:
      • Task #4 (My Solo Task): Developed the outfit-sharing and social media integration feature that allows users to:
        • Navigate through a slideshow of saved outfits and select a preferred ensemble.
        • Create a shareable page with the outfit’s title and description.
        • Enable star ratings and/or comments to invite feedback from recipients.
        • Generate and share a link via platforms like Email, Twitter (X), Instagram, and Meta.
        • Promote community engagement by letting users rate or comment on shared outfits.
  • Development Process:
    • Wireframe Sketches: Sketched key functionalities.
    • Base Layout: Established a unified theme and layout, with a global footer and navigation bar.
    • Slideware Prototyping: Created interactive step-by-step slides with detailed design patterns for each task.
    • User Studies: Conducted four usability tests to gather feedback on the prototype’s functionality and user experience.
    • Content-Fidelity Matrix: Assessed fidelity levels to ensure the prototype balances realism and design feasibility.
    • Project Reflection: Identified key strengths (intuitive UI, social engagement) and areas for improvement (more customization for try-ons).
Tags: Slideware, Prototyping, User Testing, Collaborative Project

Apartment Rental Mobile App - Balsamiq Prototype | Overview | Demo

This project involved developing a collaborative Balsamiq prototype for Home Hunt, an apartment rental company mobile app.

  • Prototype Functionality:
    • Map Search for Apartments: Users search using an interactive map with pin-based navigation.
      • Task #1 (My Solo Task): Developed the map search feature with:
        • Search criteria (location, bedrooms, price range, etc.).
        • Interactive pins with previews of key details.
        • Switching between list and map views.
        • Modals with slideshows and contact information.
    • Apartment Details & 3D Walkthrough: Explore floor plans, galleries, and tours.
    • Report Issues & Maintenance Requests: Submit and track maintenance requests.
    • Roommate Support: Tools for shared living (chores, rent ledger, calendar).
  • Development Process:
    • Wireframe Sketches: Sketched key functionalities.
    • Base Layout: Established a unified mobile layout with global header and footer.
    • Interactive Elements: Added radio buttons, cards, and bottom navigation.
    • User Studies: Conducted usability tests for feedback.
    • Content-Fidelity Matrix: Balanced realism and feasibility.
    • Project Reflection: Identified strengths (intuitive flow) and improvements (color palette).
Tags: Balsamiq, Prototyping, User Testing, Collaborative Project

Online Dating Mobile App - Figma Prototype | Overview | Live Demo

This project involved developing a collaborative Figma prototype for Celebrity Charm, a dating app that enhances matchmaking through interactive activities.

  • Prototype Functionality:
    • Search Preferences: Filter matches by age, hobbies, and location.
    • Profile Review: View, “heart,” discard, or save profiles for later.
    • Communication: Chat via text or video with unread message indicators.
    • Interactive Activities: Engage in quizzes and games to explore compatibility.
      • Task #4 (My Solo Task): Developed the activities section with:
        • Quizzes: Browse and take quizzes (e.g., “Fitness Fanatic or Zen Seeker?”).
        • Games: Created the Match Mosaic game with themed image selections.
        • Activities Archive: Users revisit past quizzes and games.
  • Development Process:
    • Wireframe Sketches: Sketched key functionalities.
    • Base Layout: Established a mobile layout with a global footer and nav bar.
    • Interactive Elements: Added slideshows, action buttons, back arrows, and bottom navigation.
    • User Studies: Conducted usability tests to improve the prototype.
    • Content-Fidelity Matrix: Balanced design realism and feasibility.
    • Project Reflection: Highlighted strengths (cohesive design, intuitive navigation) and areas for improvement (enhanced interactivity).
Tags: Figma, Prototyping, User Testing, Collaborative Project

SVG Christmas Tree | Repository | Live Demo

This project spreads Christmas cheer all throughout the year!

  • SVG Graphics: Created a visually appealing Christmas tree using scalable vector graphics (SVG).
  • CSS Animations: Added animated Christmas lights using CSS keyframe animations for a dynamic effect.
  • Responsive Design: Ensured the SVG tree is responsive on different screen sizes and devices.
Tags: SVG, CSS, Animation, Solo Project