Skip to content

Commit 8471c9a

Browse files
author
Maxim Shelepov
committed
fix(ExperienceView, ExperienceCard): vertical flow.
1 parent 6c466be commit 8471c9a

4 files changed

Lines changed: 60 additions & 26 deletions

File tree

src/components/ExperienceCard.vue

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22
<div class="flex flex-col flex-1 rounded-md bg-white shadow-md hover:shadow-lg hover:-translate-y-1 motion-reduce:hover:translate-y-0 motion-reduce:hover:shadow-md dark:bg-slate-800 text-left p-4 transition-all duration-300">
33
<h3 class="text-xl font-extrabold">{{ experience.position }} <a :href="experience.company.link" class="hover:text-link-color">@{{ experience.company.name }}</a></h3>
44
<p class="italic">{{ experience.duration }}</p>
5-
<ul class="list-['\1F449'] pl-6 pt-4 text-slate-500 dark:text-slate-300">
6-
<li v-for="bullet in experience.bulletPoints" class="pl-2 pb-2">{{ bullet }}</li>
7-
</ul>
5+
<div v-for="section in experience.content" class="pt-4 text-slate-500 dark:text-slate-300">
6+
<span v-if="section.sectionHeader && section.sectionHeader.length > 0" class="flex justify-between font-extrabold">
7+
<h4>{{ section.sectionHeader[0] }}</h4>
8+
<span v-for="headerPiece in section.sectionHeader.slice(1)">{{ headerPiece }}</span>
9+
</span>
10+
<ul class="list-['\1F449'] pl-6 pt-4">
11+
<li v-for="bulletPoint in section.bulletPoints" class="pl-2 pb-2">{{ bulletPoint }}</li>
12+
</ul>
13+
</div>
814
<div class="text-slate-600 pt-4 flex flex-wrap mt-auto">
915
<p v-for="hashtag in experience.hashtags" class="pr-4 last:pr-0">#{{ hashtag }}</p>
1016
</div>

src/portfolio.js

Lines changed: 49 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,13 @@ const experiences = [
6969
link: "https://ibm-zcouncil.com/venues/ibm-office-austin-tx/"
7070
},
7171
duration: "May 2025 - Present",
72-
bulletPoints: [
73-
"Building next-generation AI products and enterprise software solutions.",
72+
content: [
73+
{
74+
sectionHeader: "",
75+
bulletPoints: [
76+
"Building next-generation AI products and enterprise software solutions.",
77+
]
78+
}
7479
],
7580
hashtags: [
7681
"JavaScript",
@@ -90,14 +95,19 @@ const experiences = [
9095
link: "https://blog.eduvaultai.com"
9196
},
9297
duration: "July 2024 - April 2025",
93-
bulletPoints: [
94-
"Engineered a high-performance RESTful API backend with FastAPI, supporting a student dashboard and file management system for 5,000+ concurrent users, with files hosted on AWS S3.",
95-
"Containerized MariaDB, ChromaDB, and Llama model instances using Docker, enabling scalable and maintainable backend infrastructure.",
96-
"Automated test data generation using Python, creating 60,000 records/files in 4 min to streamline testing.",
97-
"Architected a scalable backend infrastructure capable of 2x future workloads with minimal code refactoring.",
98-
"Developed responsive UI components in Vue.js and Tailwind.css, reducing backend load by optimizing API calls.",
99-
"Led an Agile (Kanban) team creating milestone-based roadmaps and schedule, engaging in bug reporting, code reviews, maintaining documentation.",
100-
"Estimated compute and hosting costs, gathering user analytics to scale platform accordingly."
98+
content: [
99+
{
100+
sectionHeader: "",
101+
bulletPoints: [
102+
"Engineered a high-performance RESTful API backend with FastAPI, supporting a student dashboard and file management system for 5,000+ concurrent users, with files hosted on AWS S3.",
103+
"Containerized MariaDB, ChromaDB, and Llama model instances using Docker, enabling scalable and maintainable backend infrastructure.",
104+
"Automated test data generation using Python, creating 60,000 records/files in 4 min to streamline testing.",
105+
"Architected a scalable backend infrastructure capable of 2x future workloads with minimal code refactoring.",
106+
"Developed responsive UI components in Vue.js and Tailwind.css, reducing backend load by optimizing API calls.",
107+
"Led an Agile (Kanban) team creating milestone-based roadmaps and schedule, engaging in bug reporting, code reviews, maintaining documentation.",
108+
"Estimated compute and hosting costs, gathering user analytics to scale platform accordingly."
109+
]
110+
}
101111
],
102112
hashtags: [
103113
"JavaScript",
@@ -117,18 +127,35 @@ const experiences = [
117127
link: "https://tools.wolftech.ncsu.edu/support/index.php/WolfTech_Information_Technology"
118128
},
119129
duration: "Aug 2022 - Aug 2024",
120-
bulletPoints: [
121-
"Williamboard Project - Solo Full-Stack Developer May 2023 - July 2024",
122-
"Laid the groundwork for a multi-tenant modern digital sign management system for 360 screens across 50 campus organizations using Laravel, Vue.js, and Inertia.js.",
123-
"Designed MySQL database and Event-Driven app architecture to work with modern PHP and JS technologies.",
124-
"Implemented a tenant permission-based system supporting 5 distinct user roles and organization-specific access.",
125-
"Configured WebSocket's API to collect screen data and display analytics on user-facing dashboards.",
126-
"Automated data migration of 15,000 records to new database structure in under 5 min using custom scripts.",
127-
"Other Contributions Aug 2022 - May 2023",
128-
"Created an AI-driven LinkedIn post generator, integrating user profiles and files for personalized content.",
129-
"Built a search tool for 20,000 circuit design kits using PHP and SQL, achieving a 200ms average response time.",
130-
"Maintained and debugged email automation, research discovery, and scheduling apps, solving 10+ client issues.",
131-
"Mentored and assisted new interns into the team workflow shortening the onboarding period.",
130+
content: [
131+
{
132+
sectionHeader: ["Williamboard Project - Solo Full-Stack Developer", "May 2023 - July 2024"],
133+
bulletPoints: [
134+
"Laid the groundwork for a multi-tenant modern digital sign management system for 360 screens across 50 campus organizations using Laravel, Vue.js, and Inertia.js.",
135+
"Designed MySQL database and Event-Driven app architecture to work with modern PHP and JS technologies.",
136+
"Implemented a tenant permission-based system supporting 5 distinct user roles and organization-specific access.",
137+
"Configured WebSocket's API to collect screen data and display analytics on user-facing dashboards.",
138+
"Automated data migration of 15,000 records to new database structure in under 5 min using custom scripts.",
139+
]
140+
},
141+
{
142+
sectionHeader: ["Other Contributions", "Aug 2022 - May 2023"],
143+
bulletPoints: [
144+
"Created an AI-driven LinkedIn post generator, integrating user profiles and files for personalized content.",
145+
"Built a search tool for 20,000 circuit design kits using PHP and SQL, achieving a 200ms average response time.",
146+
"Maintained and debugged email automation, research discovery, and scheduling apps, solving 10+ client issues.",
147+
"Mentored and assisted new interns into the team workflow shortening the onboarding period.",
148+
]
149+
},
150+
// "Laid the groundwork for a multi-tenant modern digital sign management system for 360 screens across 50 campus organizations using Laravel, Vue.js, and Inertia.js.",
151+
// "Designed MySQL database and Event-Driven app architecture to work with modern PHP and JS technologies.",
152+
// "Implemented a tenant permission-based system supporting 5 distinct user roles and organization-specific access.",
153+
// "Configured WebSocket's API to collect screen data and display analytics on user-facing dashboards.",
154+
// "Automated data migration of 15,000 records to new database structure in under 5 min using custom scripts.",
155+
// "Created an AI-driven LinkedIn post generator, integrating user profiles and files for personalized content.",
156+
// "Built a search tool for 20,000 circuit design kits using PHP and SQL, achieving a 200ms average response time.",
157+
// "Maintained and debugged email automation, research discovery, and scheduling apps, solving 10+ client issues.",
158+
// "Mentored and assisted new interns into the team workflow shortening the onboarding period.",
132159
],
133160
hashtags: [
134161
"Laravel",

src/views/ExperienceView.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<h1 class="text-3xl font-bold pr-5">🛡️ Experience</h1>
55
<div class="flex-grow border-t border-black dark:border-white border-1"></div>
66
</div>
7-
<div :class="['flex flex-col space-y-4 lg:grid lg:grid-cols-2 lg:gap-x-4 lg:space-y-0 mb-36 transition-all motion-reduce:transition-none duration-500 delay-300', visible ? 'translate-y-0 opacity-1 blur-0' : 'translate-y-4 opacity-0 blur-sm']">
7+
<div :class="['flex flex-col space-y-4 mb-36 transition-all motion-reduce:transition-none duration-500 delay-300', visible ? 'translate-y-0 opacity-1 blur-0' : 'translate-y-4 opacity-0 blur-sm']">
88
<ExperienceCard
99
v-for="(experience, index) in content"
1010
:key="index" :experience="experience"

src/views/LandingView.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<p :class="['text-lg lg:text-xl transition-all motion-reduce:transition-none duration-500 delay-[500ms]', showTransition ? 'translate-y-0 opacity-1' : '-translate-y-4 opacity-0']">{{ content.intro }}</p>
1010
<h1 :class="['text-2xl lg:text-4xl font-bold transition-all motion-reduce:transition-none duration-500 delay-[550ms]', showTransition ? 'translate-y-0 opacity-1' : '-translate-y-4 opacity-0']">{{ content.name }}</h1>
1111
<p :class="['text-sm lg:text-base text-slate-500 dark:text-slate-300 transition-all motion-reduce:transition-none duration-500 delay-[600ms]', showTransition ? 'translate-y-0 opacity-1' : '-translate-y-4 opacity-0']">{{ content.message }}</p>
12+
<p>Люблю тебя солнышко моё 💛.</p>
1213
</div>
1314
</div>
1415
</section>

0 commit comments

Comments
 (0)