diff --git a/public/index.html b/public/index.html
index f8044ee345..772ca2e8ae 100644
--- a/public/index.html
+++ b/public/index.html
@@ -5,8 +5,8 @@
-
DeveloperFolio | Developer Portfolio Template
-
+ Portfolio | Saad Rasheed
+
diff --git a/src/_globalColor.scss b/src/_globalColor.scss
index 03b06c22aa..45a6754491 100644
--- a/src/_globalColor.scss
+++ b/src/_globalColor.scss
@@ -28,7 +28,7 @@ $githubRepoCardColor: rgb(88, 96, 105);
$githubRepoCardRepoCardStatsColor: rgb(106, 115, 125);
$githubRepoCardRepoNameColor: rgb(36, 41, 46);
$githubProfileCardLocationTS: #ffebcd;
-$githubProfileCardBorder: #6c63ff;
+$githubProfileCardBorder: #000000;
// light background colors
$lightBackground1: #fff;
diff --git a/src/assets/images/ads_badge.png b/src/assets/images/ads_badge.png
new file mode 100644
index 0000000000..7047990664
Binary files /dev/null and b/src/assets/images/ads_badge.png differ
diff --git a/src/assets/images/ibm_badge.png b/src/assets/images/ibm_badge.png
new file mode 100644
index 0000000000..bf8e965096
Binary files /dev/null and b/src/assets/images/ibm_badge.png differ
diff --git a/src/assets/images/uolLogo.png b/src/assets/images/uolLogo.png
new file mode 100644
index 0000000000..6b596cf9f3
Binary files /dev/null and b/src/assets/images/uolLogo.png differ
diff --git a/src/assets/images/visabridgeLogo.png b/src/assets/images/visabridgeLogo.png
new file mode 100644
index 0000000000..cdefd09fe3
Binary files /dev/null and b/src/assets/images/visabridgeLogo.png differ
diff --git a/src/assets/images/whalesLogo.png b/src/assets/images/whalesLogo.png
new file mode 100644
index 0000000000..82bcb93961
Binary files /dev/null and b/src/assets/images/whalesLogo.png differ
diff --git a/src/assets/images/zaaviaLogo.png b/src/assets/images/zaaviaLogo.png
new file mode 100644
index 0000000000..d5291fcf66
Binary files /dev/null and b/src/assets/images/zaaviaLogo.png differ
diff --git a/src/components/ToggleSwitch/ToggleSwitch.js b/src/components/ToggleSwitch/ToggleSwitch.js
index 72a46eb94d..afe3bf6541 100644
--- a/src/components/ToggleSwitch/ToggleSwitch.js
+++ b/src/components/ToggleSwitch/ToggleSwitch.js
@@ -3,7 +3,7 @@ import emoji from "react-easy-emoji";
import StyleContext from "../../contexts/StyleContext";
import "./ToggleSwitch.scss";
-const ToggleSwitch = () => {
+const ToggleSwitch = ({handleMenuItemClick}) => {
const {isDark} = useContext(StyleContext);
const [isChecked, setChecked] = useState(isDark);
const styleContext = useContext(StyleContext);
@@ -16,6 +16,7 @@ const ToggleSwitch = () => {
onChange={() => {
styleContext.changeTheme();
setChecked(!isChecked);
+ handleMenuItemClick();
}}
/>
diff --git a/src/components/button/Button.scss b/src/components/button/Button.scss
index e9058b69dd..007edce479 100644
--- a/src/components/button/Button.scss
+++ b/src/components/button/Button.scss
@@ -7,7 +7,7 @@
font-weight: 700;
width: max-content;
padding: 13px 22px;
- margin-right: 50px;
+ margin-right: 20px;
text-transform: uppercase;
border-radius: 6px;
text-align: center;
diff --git a/src/components/header/Header.js b/src/components/header/Header.js
index 6218f1950c..d623bb6bce 100644
--- a/src/components/header/Header.js
+++ b/src/components/header/Header.js
@@ -1,10 +1,105 @@
-import React, {useContext} from "react";
+// import React, {useContext} from "react";
+// import Headroom from "react-headroom";
+// import "./Header.scss";
+// import ToggleSwitch from "../ToggleSwitch/ToggleSwitch";
+// import StyleContext from "../../contexts/StyleContext";
+// import {
+// greeting,
+// workExperiences,
+// skillsSection,
+// openSource,
+// blogSection,
+// talkSection,
+// achievementSection,
+// resumeSection
+// } from "../../portfolio";
+
+// function Header() {
+// const {isDark} = useContext(StyleContext);
+// const viewExperience = workExperiences.display;
+// const viewOpenSource = openSource.display;
+// const viewSkills = skillsSection.display;
+// const viewAchievement = achievementSection.display;
+// const viewBlog = blogSection.display;
+// const viewTalks = talkSection.display;
+// const viewResume = resumeSection.display;
+
+// return (
+//
+//
+//
+// );
+// }
+// export default Header;
+
+import React, {useContext, useRef} from "react";
import Headroom from "react-headroom";
import "./Header.scss";
import ToggleSwitch from "../ToggleSwitch/ToggleSwitch";
import StyleContext from "../../contexts/StyleContext";
import {
greeting,
+ educationInfo,
workExperiences,
skillsSection,
openSource,
@@ -23,6 +118,15 @@ function Header() {
const viewBlog = blogSection.display;
const viewTalks = talkSection.display;
const viewResume = resumeSection.display;
+ const viewEducation = educationInfo.display;
+
+ const menuCheckboxRef = useRef(null);
+
+ const handleMenuItemClick = () => {
+ if (menuCheckboxRef.current) {
+ menuCheckboxRef.current.checked = false;
+ }
+ };
return (
@@ -32,7 +136,12 @@ function Header() {
{greeting.username}
/>
-
+
);
}
+
export default Header;
diff --git a/src/containers/Main.js b/src/containers/Main.js
index 30701b2705..5c38d95723 100644
--- a/src/containers/Main.js
+++ b/src/containers/Main.js
@@ -57,14 +57,14 @@ const Main = () => {
-
+ {/* */}
-
+ {/*
-
+ */}
-
+ {/* */}
>
)}
diff --git a/src/containers/greeting/Greeting.js b/src/containers/greeting/Greeting.js
index 3e93aa3510..0a0874a687 100644
--- a/src/containers/greeting/Greeting.js
+++ b/src/containers/greeting/Greeting.js
@@ -38,14 +38,19 @@ export default function Greeting() {
-
+
{greeting.resumeLink && (
-
+
)}
diff --git a/src/containers/greeting/Greeting.scss b/src/containers/greeting/Greeting.scss
index 919418e2ed..ce6ba2499d 100644
--- a/src/containers/greeting/Greeting.scss
+++ b/src/containers/greeting/Greeting.scss
@@ -96,7 +96,8 @@
}
@media (max-width: 768px) {
.button-greeting-div {
- justify-content: space-around;
+ display: block;
+ text-align: -webkit-center;
}
.greeting-text {
font-size: 30px;
diff --git a/src/containers/greeting/resume.pdf b/src/containers/greeting/resume.pdf
index 4f58c1c79f..5c8103ac92 100644
Binary files a/src/containers/greeting/resume.pdf and b/src/containers/greeting/resume.pdf differ
diff --git a/src/portfolio.js b/src/portfolio.js
index f37660fdf0..b0f3c6bc34 100644
--- a/src/portfolio.js
+++ b/src/portfolio.js
@@ -20,26 +20,26 @@ const illustration = {
};
const greeting = {
- username: "Saad Pasta",
+ username: "Saad Rasheed",
title: "Hi all, I'm Saad",
subTitle: emoji(
- "A passionate Full Stack Software Developer 🚀 having an experience of building Web and Mobile applications with JavaScript / Reactjs / Nodejs / React Native and some other cool libraries and frameworks."
+ "A Data Scientist & Full Stack Web Developer 🚀 I turn your DATA into STORIES and build web solutions that make them come alive."
),
resumeLink:
- "https://drive.google.com/file/d/1ofFdKF_mqscH8WvXkSObnVvC9kK7Ldlu/view?usp=sharing", // Set to empty to hide the button
+ "https://drive.google.com/file/d/1Dg1QJrn_UdeZW0mX3kW-Hn_zXN85j4fT/view?usp=sharing", // Set to empty to hide the button
displayGreeting: true // Set false to hide this section, defaults to true
};
// Social Media Links
const socialMediaLinks = {
- github: "https://github.com/saadpasta",
- linkedin: "https://www.linkedin.com/in/saadpasta/",
- gmail: "saadpasta70@gmail.com",
- gitlab: "https://gitlab.com/saadpasta",
- facebook: "https://www.facebook.com/saad.pasta7",
- medium: "https://medium.com/@saadpasta",
- stackoverflow: "https://stackoverflow.com/users/10422806/saad-pasta",
+ github: "https://github.com/saadrasheeddev",
+ linkedin: "https://www.linkedin.com/in/saadrasheeddev/",
+ gmail: "saadrasheeddev@gmail.com",
+ kaggle: "https://www.kaggle.com/saadrasheed20",
+ facebook: "https://www.facebook.com/saadrasheed20",
+
+ // gitlab: "https://gitlab.com/saadpasta",
// Instagram, Twitter and Kaggle are also supported in the links!
// To customize icons and social links, tweak src/components/SocialMedia
display: true // Set true to display this section, defaults to false
@@ -49,14 +49,23 @@ const socialMediaLinks = {
const skillsSection = {
title: "What I do",
- subTitle: "CRAZY FULL STACK DEVELOPER WHO WANTS TO EXPLORE EVERY TECH STACK",
+ subTitle:
+ "PASSIONATE DATA SCIENTIST WHO LOVES TO UNCOVER INSIGHTS FROM DATA AND SOLVE COMPLEX PROBLEMS WITH AI",
skills: [
emoji(
- "⚡ Develop highly interactive Front end / User Interfaces for your web and mobile applications"
+ "⚡ Develop end-to-end machine learning models, from data wrangling to deployment"
+ ),
+ emoji(
+ "⚡ Build powerful data visualizations to uncover trends and insights"
),
- emoji("⚡ Progressive Web Applications ( PWA ) in normal and SPA Stacks"),
emoji(
- "⚡ Integration of third party services such as Firebase/ AWS / Digital Ocean"
+ "⚡ Leverage AI techniques to create intelligent solutions for complex problems"
+ ),
+ emoji(
+ "⚡ Develop and deploy cloud-based machine learning solutions using AWS, GCP, or Azure"
+ ),
+ emoji(
+ "⚡ Integration of third-party APIs and services like AWS, Google Cloud, or custom-built AI models"
)
],
@@ -65,58 +74,59 @@ https://fontawesome.com/icons?d=gallery */
softwareSkills: [
{
- skillName: "html-5",
- fontAwesomeClassname: "fab fa-html5"
+ skillName: "Python",
+ fontAwesomeClassname: "fab fa-python"
},
{
- skillName: "css3",
- fontAwesomeClassname: "fab fa-css3-alt"
+ skillName: "Pandas",
+ fontAwesomeClassname: "fas fa-table"
},
{
- skillName: "sass",
- fontAwesomeClassname: "fab fa-sass"
+ skillName: "NumPy",
+ fontAwesomeClassname: "fas fa-square-root-alt"
},
{
- skillName: "JavaScript",
- fontAwesomeClassname: "fab fa-js"
+ skillName: "Scikit-learn",
+ fontAwesomeClassname: "fas fa-robot"
},
{
- skillName: "reactjs",
- fontAwesomeClassname: "fab fa-react"
+ skillName: "TensorFlow",
+ fontAwesomeClassname: "fas fa-brain"
},
{
- skillName: "nodejs",
- fontAwesomeClassname: "fab fa-node"
+ skillName: "PyTorch",
+ fontAwesomeClassname: "fas fa-bolt"
},
{
- skillName: "swift",
- fontAwesomeClassname: "fab fa-swift"
+ skillName: "SQL",
+ fontAwesomeClassname: "fas fa-database"
},
{
- skillName: "npm",
- fontAwesomeClassname: "fab fa-npm"
+ skillName: "AWS",
+ fontAwesomeClassname: "fab fa-aws"
},
{
- skillName: "sql-database",
- fontAwesomeClassname: "fas fa-database"
+ skillName: "Google Cloud",
+ fontAwesomeClassname: "fab fa-google"
},
{
- skillName: "aws",
- fontAwesomeClassname: "fab fa-aws"
+ skillName: "Docker",
+ fontAwesomeClassname: "fab fa-docker"
},
{
- skillName: "firebase",
- fontAwesomeClassname: "fas fa-fire"
+ skillName: "Airflow",
+ fontAwesomeClassname: "fas fa-cloud"
},
{
- skillName: "python",
- fontAwesomeClassname: "fab fa-python"
+ skillName: "Tableau",
+ fontAwesomeClassname: "fas fa-chart-line"
},
{
- skillName: "docker",
- fontAwesomeClassname: "fab fa-docker"
+ skillName: "Jupyter",
+ fontAwesomeClassname: "fas fa-book"
}
],
+
display: true // Set false to hide this section, defaults to true
};
@@ -126,24 +136,24 @@ const educationInfo = {
display: true, // Set false to hide this section, defaults to true
schools: [
{
- schoolName: "Harvard University",
- logo: require("./assets/images/harvardLogo.png"),
- subHeader: "Master of Science in Computer Science",
- duration: "September 2017 - April 2019",
- desc: "Participated in the research of XXX and published 3 papers.",
- descBullets: [
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
- ]
- },
- {
- schoolName: "Stanford University",
- logo: require("./assets/images/stanfordLogo.png"),
- subHeader: "Bachelor of Science in Computer Science",
- duration: "September 2013 - April 2017",
- desc: "Ranked top 10% in the program. Took courses about Software Engineering, Web Security, Operating Systems, ...",
- descBullets: ["Lorem ipsum dolor sit amet, consectetur adipiscing elit"]
+ schoolName: "University of London",
+ logo: require("./assets/images/uolLogo.png"),
+ subHeader: "BSc Computer Science (Hons)",
+ duration: "October 2021 - September 2024"
+ // desc: "Participated in the research of XXX and published 3 papers.",
+ // descBullets: [
+ // "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
+ // "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
+ // ]
}
+ // {
+ // schoolName: "Whales College",
+ // logo: require("./assets/images/stanfordLogo.png"),
+ // subHeader: "Bachelor of Science in Computer Science",
+ // duration: "September 2013 - April 2017",
+ // // desc: "Ranked top 10% in the program. Took courses about Software Engineering, Web Security, Operating Systems, ...",
+ // // descBullets: ["Lorem ipsum dolor sit amet, consectetur adipiscing elit"]
+ // }
]
};
@@ -153,19 +163,31 @@ const techStack = {
viewSkillBars: true, //Set it to true to show Proficiency Section
experience: [
{
- Stack: "Frontend/Design", //Insert stack or technology you have experience in
- progressPercentage: "90%" //Insert relative proficiency in percentage
+ Stack: "Data Science", //Insert stack or technology you have experience in
+ progressPercentage: "85%" //Insert relative proficiency in percentage
+ },
+ {
+ Stack: "Machine Learning",
+ progressPercentage: "80%"
},
{
- Stack: "Backend",
+ Stack: "Data Engineering",
+ progressPercentage: "75%"
+ },
+ {
+ Stack: "Cloud Computing",
progressPercentage: "70%"
},
{
- Stack: "Programming",
- progressPercentage: "60%"
+ Stack: "Deep Learning",
+ progressPercentage: "65%"
+ },
+ {
+ Stack: "Programming (Python, SQL, etc.)",
+ progressPercentage: "90%"
}
],
- displayCodersrank: false // Set true to display codersrank badges section need to changes your username in src/containers/skillProgress/skillProgress.js:17:62, defaults to false
+ displayCodersrank: false // Set true to display codersrank badges section
};
// Work experience section
@@ -174,30 +196,34 @@ const workExperiences = {
display: true, //Set it to true to show workExperiences Section
experience: [
{
- role: "Software Engineer",
- company: "Facebook",
- companylogo: require("./assets/images/facebookLogo.png"),
- date: "June 2018 – Present",
- desc: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
+ role: "Machine Learning Engineer",
+ company: "Zaavia",
+ companylogo: require("./assets/images/zaaviaLogo.png"),
+ date: "September 2023 – Present",
+ desc: "Enabling Stakeholders to Take Informed Blood Banking Decisions",
descBullets: [
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
+ "Developing End-to-End Data Pipeline for OLAP Databases",
+ "Leveraging OLAP for research analysis and predictive analysis to optimize blood product inventory management"
]
},
{
- role: "Front-End Developer",
- company: "Quora",
- companylogo: require("./assets/images/quoraLogo.png"),
- date: "May 2017 – May 2018",
- desc: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
- },
- {
- role: "Software Engineer Intern",
- company: "Airbnb",
- companylogo: require("./assets/images/airbnbLogo.png"),
- date: "Jan 2015 – Sep 2015",
- desc: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ role: "Data Curator Intern",
+ company: "VisaBridge",
+ companylogo: require("./assets/images/visabridgeLogo.png"),
+ date: "September 2023 – December 2023",
+ desc: "Aiming to help people migrate for better opportunities",
+ descBullets: [
+ "Scraped data for 75+ countries, including visa requirements, high-paying professions, living expenses, and opportunities.",
+ "Transformed data into a consistent format for seamless country comparisons."
+ ]
}
+ // {
+ // role: "Software Engineer Intern",
+ // company: "Airbnb",
+ // companylogo: require("./assets/images/airbnbLogo.png"),
+ // date: "Jan 2015 – Sep 2015",
+ // desc: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ // }
]
};
@@ -248,57 +274,61 @@ const bigProjects = {
const achievementSection = {
title: emoji("Achievements And Certifications 🏆 "),
subtitle:
- "Achievements, Certifications, Award Letters and Some Cool Stuff that I have done !",
+ "Achievements, Certifications and Some Cool Stuff that I have done !",
achievementsCards: [
{
- title: "Google Code-In Finalist",
+ title: "Applied Data Science Lab",
subtitle:
- "First Pakistani to be selected as Google Code-in Finalist from 4000 students from 77 different countries.",
- image: require("./assets/images/codeInLogo.webp"),
- imageAlt: "Google Code-In Logo",
+ "Learned and Implemented core concepts of Data Science from Basic to Advance",
+ image: require("./assets/images/ads_badge.png"),
+ imageAlt: "Applied Data Science Lab",
footerLink: [
{
- name: "Certification",
- url: "https://drive.google.com/file/d/0B7kazrtMwm5dYkVvNjdNWjNybWJrbndFSHpNY2NFV1p4YmU0/view?usp=sharing"
+ name: "Credly Badge",
+ url: "https://www.credly.com/badges/e54b2401-b2b9-4b44-9f5e-a1f59702777d/public_url"
},
{
- name: "Award Letter",
- url: "https://drive.google.com/file/d/0B7kazrtMwm5dekxBTW5hQkg2WXUyR3QzQmR0VERiLXlGRVdF/view?usp=sharing"
- },
- {
- name: "Google Code-in Blog",
- url: "https://opensource.googleblog.com/2019/01/google-code-in-2018-winners.html"
+ name: "Certificate",
+ url: "https://drive.google.com/file/d/1aM0GBJZZOy6fMk7q3XOzyd9TqRy6r-pg/view?usp=sharing"
}
]
},
{
- title: "Google Assistant Action",
+ title: "IBM Data Science Specialization",
subtitle:
- "Developed a Google Assistant Action JavaScript Guru that is available on 2 Billion devices world wide.",
- image: require("./assets/images/googleAssistantLogo.webp"),
+ "Completed a series of 10 Courses comprised of advanced concepts and a Capstone Project",
+ image: require("./assets/images/ibm_badge.png"),
imageAlt: "Google Assistant Action Logo",
footerLink: [
{
- name: "View Google Assistant Action",
- url: "https://assistant.google.com/services/a/uid/000000100ee688ee?hl=en"
- }
- ]
- },
-
- {
- title: "PWA Web App Developer",
- subtitle: "Completed Certifcation from SMIT for PWA Web App Development",
- image: require("./assets/images/pwaLogo.webp"),
- imageAlt: "PWA Logo",
- footerLink: [
- {name: "Certification", url: ""},
+ name: "Capstone Project",
+ url: "https://github.com/saadrasheeddev/IBM-Data-Science-Capstone"
+ },
+ {
+ name: "Credly Badge",
+ url: "https://www.credly.com/badges/822129a4-3cf6-4f65-ac76-671c7b996d81/public_url"
+ },
{
- name: "Final Project",
- url: "https://pakistan-olx-1.firebaseapp.com/"
+ name: "Certificate",
+ url: "https://coursera.org/share/f624df220cbd0abf2514f6802387acf3"
}
]
}
+
+ // {
+ // title: "PWA Web App Developer",
+ // subtitle: "Completed Certifcation from SMIT for PWA Web App Development",
+ // image: require("./assets/images/pwaLogo.webp"),
+ // imageAlt: "PWA Logo",
+ // footerLink: [
+ // {name: "Certification", url: ""},
+ // {
+ // name: "Final Project",
+ // url: "https://pakistan-olx-1.firebaseapp.com/"
+ // }
+ // ]
+ // }
],
display: true // Set false to hide this section, defaults to true
};
@@ -324,7 +354,7 @@ const blogSection = {
"React is a JavaScript library for building User Interface. It is maintained by Facebook and a community of individual developers and companies."
}
],
- display: true // Set false to hide this section, defaults to true
+ display: false // Set false to hide this section, defaults to true
};
// Talks Sections
@@ -372,8 +402,8 @@ const contactInfo = {
title: emoji("Contact Me ☎️"),
subtitle:
"Discuss a project or just want to say hi? My Inbox is open for all.",
- number: "+92-0000000000",
- email_address: "saadpasta70@gmail.com"
+ // number: "+92-3322468679",
+ email_address: "saadrasheeddev@gmail.com"
};
// Twitter Section
@@ -383,7 +413,7 @@ const twitterDetails = {
display: true // Set true to display this section, defaults to false
};
-const isHireable = false; // Set false if you are not looking for a job. Also isHireable will be display as Open for opportunities: Yes/No in the GitHub footer
+const isHireable = true; // Set false if you are not looking for a job. Also isHireable will be display as Open for opportunities: Yes/No in the GitHub footer
export {
illustration,