1
1
import { useState } from "react" ;
2
2
import CountUp from "react-countup" ;
3
- import {
4
- FaCss3 ,
5
- FaFigma ,
6
- FaHtml5 ,
7
- FaJs ,
8
- FaReact ,
9
- FaWordpress ,
10
- } from "react-icons/fa" ;
11
- import {
12
- SiAdobephotoshop ,
13
- SiAdobexd ,
14
- SiFramer ,
15
- SiNextdotjs ,
16
- } from "react-icons/si" ;
3
+ import { ReactTyped } from "react-typed" ;
17
4
import { motion } from "framer-motion" ;
18
- import { fadeIn } from "@/constants" ;
5
+ import { COMPETENCIES , REWARDS , fadeIn } from "@/constants" ;
19
6
import Avatar from "../../components/Avatar" ;
20
7
import Circles from "../../components/Circles" ;
21
8
22
- export const aboutData = [
23
- {
24
- category : "skills" ,
25
- info : [
26
- {
27
- title : "Web Development" ,
28
- description : "Specialized in modern web technologies." ,
29
- icons : [
30
- FaHtml5 ,
31
- FaCss3 ,
32
- FaJs ,
33
- FaReact ,
34
- SiNextdotjs ,
35
- SiFramer ,
36
- FaWordpress ,
37
- ] ,
38
- stage : "" , // Empty as it's not relevant for skills
39
- } ,
40
- {
41
- title : "UI/UX Design" ,
42
- description : "Proficient in designing user-centric interfaces." ,
43
- icons : [ FaFigma , SiAdobexd , SiAdobephotoshop ] ,
44
- stage : "" ,
45
- } ,
46
- ] ,
47
- } ,
48
- {
49
- category : "awards" ,
50
- info : [
51
- {
52
- title : "Webby Awards - Honoree" ,
53
- description :
54
- "Recognized for excellence in web design and functionality." ,
55
- icons : [ ] , // Empty for non-skill categories
56
- stage : "2011 - 2012" ,
57
- } ,
58
- {
59
- title : "Adobe Design Achievement Awards - Finalist" ,
60
- description : "Finalist in Adobe's prestigious design competition." ,
61
- icons : [ ] ,
62
- stage : "2009 - 2010" ,
63
- } ,
64
- ] ,
65
- } ,
66
- {
67
- category : "experience" ,
68
- info : [
69
- {
70
- title : "UX/UI Designer - XYZ Company" ,
71
- description :
72
- "Led the design team to create user-friendly digital products." ,
73
- icons : [ ] ,
74
- stage : "2012 - 2023" ,
75
- } ,
76
- {
77
- title : "Web Developer - ABC Agency" ,
78
- description : "Developed and maintained client websites." ,
79
- icons : [ ] ,
80
- stage : "2010 - 2012" ,
81
- } ,
82
- {
83
- title : "Intern - DEF Corporation" ,
84
- description : "Gained experience in various IT support tasks." ,
85
- icons : [ ] ,
86
- stage : "2008 - 2010" ,
87
- } ,
88
- ] ,
89
- } ,
90
- {
91
- category : "credentials" ,
92
- info : [
93
- {
94
- title : "Web Development - ABC University, LA, CA" ,
95
- description : "Studied web development and computer science principles." ,
96
- icons : [ ] ,
97
- stage : "2011" ,
98
- } ,
99
- {
100
- title : "Computer Science Diploma - AV Technical Institute" ,
101
- description : "Completed a diploma in computer science fundamentals." ,
102
- icons : [ ] ,
103
- stage : "2009" ,
104
- } ,
105
- {
106
- title : "Certified Graphic Designer - ABC Institute, Los Angeles, CA" ,
107
- description : "Certified in graphic design techniques and tools." ,
108
- icons : [ ] ,
109
- stage : "2006" ,
110
- } ,
111
- ] ,
112
- } ,
113
- ] ;
114
-
115
9
const About = ( ) => {
116
10
const [ index , setIndex ] = useState ( 0 ) ;
117
11
@@ -138,18 +32,26 @@ const About = () => {
138
32
exit = "hidden"
139
33
className = "h2"
140
34
>
141
- Captivating < span className = "text-accent" > stories</ span > birth
142
- magnificent designs.
35
+ Competent in < br /> { " " }
36
+ < ReactTyped
37
+ className = "text-accent text-4xl font-bold leading-normal"
38
+ strings = { COMPETENCIES }
39
+ typeSpeed = { 40 }
40
+ backSpeed = { 50 }
41
+ loop
42
+ />
143
43
</ motion . h2 >
144
44
< motion . p
145
45
variants = { fadeIn ( "right" , 0.4 ) }
146
46
initial = "hidden"
147
47
animate = "show"
148
48
className = "max-w-[500px] mx-auto xl:mx-0 mb-6 xl:mb-12 px-2 xl:px-0"
149
49
>
150
- 10 years ago, I begin freelancing as a developer. Since then,
151
- I've done remote work for agencies, consulted for startups, and
152
- collabrated on digital products for business and consumer use.
50
+ Over 15 years of professional experience (including MBA) in both
51
+ startups and enterprises, I am a technical strategic leader
52
+ specializing in guiding products from initial concept to successful
53
+ launch. I excel in managing teams of up to 100 members, fostering
54
+ high-performance cultures, and driving innovation.
153
55
</ motion . p >
154
56
155
57
< motion . div
@@ -161,7 +63,7 @@ const About = () => {
161
63
< div className = "flex flex-1 xl:gap-x-6" >
162
64
< div className = "relative flex-1 after:w-[1px] after:h-full after:bg-white/10 after:absolute after:top-0 after:right-0" >
163
65
< div className = "text-2xl xl:text-4xl font-extrabold text-accent mb-2" >
164
- < CountUp start = { 0 } end = { 10 } duration = { 5 } />
66
+ < CountUp start = { 0 } end = { 15 } duration = { 5 } />
165
67
</ div >
166
68
< div className = "text-xs uppercase tracking-[1px] leading-[1.4] max-w-[100px]" >
167
69
Years of experience.
@@ -170,7 +72,7 @@ const About = () => {
170
72
171
73
< div className = "relative flex-1 after:w-[1px] after:h-full after:bg-white/10 after:absolute after:top-0 after:right-0" >
172
74
< div className = "text-2xl xl:text-4xl font-extrabold text-accent mb-2" >
173
- < CountUp start = { 0 } end = { 250 } duration = { 5 } />
75
+ < CountUp start = { 0 } end = { 50 } duration = { 5 } />
174
76
</ div >
175
77
< div className = "text-xs uppercase tracking-[1px] leading-[1.4] max-w-[100px]" >
176
78
Satisfied clients.
@@ -179,7 +81,7 @@ const About = () => {
179
81
180
82
< div className = "relative flex-1 after:w-[1px] after:h-full after:bg-white/10 after:absolute after:top-0 after:right-0" >
181
83
< div className = "text-2xl xl:text-4xl font-extrabold text-accent mb-2" >
182
- < CountUp start = { 0 } end = { 650 } duration = { 5 } />
84
+ < CountUp start = { 0 } end = { 75 } duration = { 5 } />
183
85
</ div >
184
86
< div className = "text-xs uppercase tracking-[1px] leading-[1.4] max-w-[100px]" >
185
87
Finished projects.
@@ -188,7 +90,7 @@ const About = () => {
188
90
189
91
< div className = "relative flex-1" >
190
92
< div className = "text-2xl xl:text-4xl font-extrabold text-accent mb-2" >
191
- < CountUp start = { 0 } end = { 8 } duration = { 5 } />
93
+ < CountUp start = { 0 } end = { 15 } duration = { 5 } />
192
94
</ div >
193
95
< div className = "text-xs uppercase tracking-[1px] leading-[1.4] max-w-[100px]" >
194
96
Winning awards.
@@ -206,7 +108,7 @@ const About = () => {
206
108
className = "flex flex-col w-full xl:max-w-[48%] h-[480px]"
207
109
>
208
110
< div className = "flex gap-x-4 xl:gap-x-8 mx-auto xl:mx-0 mb-4" >
209
- { aboutData . map ( ( item , itemI ) => (
111
+ { REWARDS . map ( ( item , itemI ) => (
210
112
< div
211
113
key = { itemI }
212
114
className = { `${
@@ -221,7 +123,7 @@ const About = () => {
221
123
</ div >
222
124
223
125
< div className = "py-2 xl:py-6 flex flex-col gap-y-2 xl:gap-y-4 items-center xl:items-start" >
224
- { aboutData [ index ] . info . map ( ( item , itemI ) => (
126
+ { REWARDS [ index ] . info . map ( ( item , itemI ) => (
225
127
< div
226
128
key = { itemI }
227
129
className = "flex-1 flex flex-col md:flex-row max-w-max gap-x-2 items-center text-center text-white/60"
0 commit comments