Skip to content

Commit 2cd289b

Browse files
Venkata MouliVenkata Mouli
authored andcommitted
updated the details with resume
1 parent 58489b3 commit 2cd289b

15 files changed

Lines changed: 248 additions & 101 deletions
136 KB
Binary file not shown.

public/profile.jpg

241 KB
Loading

src/components/About.tsx

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,14 @@ export default function About() {
1111
{...fadeInUp}
1212
>
1313
<p className="text-lg mb-6 dark:text-gray-300">
14-
I am a passionate Software Engineer with experience in building modern web applications.
15-
Currently working at Genesys, I focus on developing robust, user-friendly interfaces and
16-
improving application performance.
14+
I am a Software Engineer at Genesys with a strong focus on frontend engineering and building modern web applications.
15+
I enjoy collaborating with product and design teams to deliver customer-centric features with strong performance and usability.
1716
</p>
1817
<p className="text-lg mb-6 dark:text-gray-300">
19-
My journey in software development has equipped me with a strong foundation in both
20-
frontend and backend technologies. I enjoy solving complex problems and creating
21-
efficient solutions that deliver exceptional user experiences.
22-
</p>
23-
<p className="text-lg dark:text-gray-300">
24-
Outside of coding, I'm passionate about continuous learning and staying updated with
25-
the latest trends in technology. I have solved over 500 programming problems across
26-
various competitive platforms.
18+
My experience spans the full SDLC, including requirement understanding, design discussions, implementation, testing, and production support.
19+
I care about clean architecture, maintainable code, and shipping reliable UI at scale.
2720
</p>
21+
<p className="text-lg dark:text-gray-300">Outside of work, I stay active in coding and continuous learning. I have solved 500+ problems across platforms and enjoy sharpening fundamentals in data structures and algorithms. I also explore databases and backend systems, and enjoy experimenting with AI-powered tooling to build smarter applications.</p>
2822
</motion.div>
2923
</div>
3024
</section>

src/components/Achievements.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const certifications = [
3131

3232
export default function Achievements() {
3333
return (
34-
<section id="achievements" className="py-16 bg-gray-50 dark:bg-gray-800 transition-colors duration-200">
34+
<section id="achievements" className="py-16 section-wrap transition-colors duration-200">
3535
<div className="container mx-auto px-4">
3636
<h2 className="section-title dark:text-white">Achievements & Certifications</h2>
3737

@@ -41,7 +41,7 @@ export default function Achievements() {
4141
>
4242
{/* Achievements */}
4343
<motion.div
44-
className="bg-white dark:bg-gray-700 p-6 rounded-lg shadow-md"
44+
className="surface-card surface-card-hover surface-border p-6"
4545
{...fadeInUp}
4646
>
4747
<div className="flex items-center mb-6">
@@ -62,7 +62,7 @@ export default function Achievements() {
6262

6363
{/* Certifications */}
6464
<motion.div
65-
className="bg-white dark:bg-gray-700 p-6 rounded-lg shadow-md"
65+
className="surface-card surface-card-hover surface-border p-6"
6666
{...fadeInUp}
6767
>
6868
<div className="flex items-center mb-6">

src/components/Contact.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { fadeInUp, slideLeft, slideRight } from "@/utils/animations";
33
import { Mail, Phone, MapPin } from "lucide-react";
44
import { FaLinkedin, FaPaperPlane } from "react-icons/fa";
55
import { useState } from "react";
6-
import { apiRequest } from "@/lib/queryClient";
76
import { useToast } from "@/hooks/use-toast";
87
import { Button } from "@/components/ui/button";
98
import { Input } from "@/components/ui/input";
@@ -65,8 +64,9 @@ export default function Contact() {
6564
};
6665

6766
return (
68-
<section id="contact" className="py-16 bg-gray-900 text-white transition-colors duration-200">
69-
<div className="container mx-auto px-4">
67+
<section id="contact" className="py-16 section-wrap transition-colors duration-200 bg-gray-900 text-white">
68+
<div className="absolute inset-0 section-glow opacity-60" />
69+
<div className="container mx-auto px-4 relative">
7070
<h2 className="section-title text-white">Contact Me</h2>
7171

7272
<div className="grid grid-cols-1 md:grid-cols-2 gap-12 max-w-5xl mx-auto">
@@ -121,12 +121,12 @@ export default function Contact() {
121121
<div>
122122
<h4 className="font-semibold text-lg">LinkedIn</h4>
123123
<a
124-
href="https://linkedin.com/in/venkatamouli"
124+
href="https://linkedin.com/in/venkata-mouli/"
125125
target="_blank"
126126
rel="noreferrer"
127127
className="text-blue-300 hover:underline"
128128
>
129-
linkedin.com/in/venkatamouli
129+
linkedin.com/in/venkata-mouli/
130130
</a>
131131
</div>
132132
</div>
@@ -139,7 +139,7 @@ export default function Contact() {
139139
>
140140
<form
141141
onSubmit={handleSubmit}
142-
className="bg-white dark:bg-gray-800 text-gray-800 dark:text-gray-200 rounded-lg p-6 shadow-lg"
142+
className="surface-card surface-border p-6 text-gray-800 dark:text-gray-200"
143143
>
144144
<div className="space-y-4">
145145
<div>
@@ -151,7 +151,7 @@ export default function Contact() {
151151
value={formData.name}
152152
onChange={handleChange}
153153
required
154-
className="dark:bg-gray-700 dark:border-gray-600 dark:text-gray-200"
154+
className="dark:bg-gray-900/20 dark:border-gray-700/60 dark:text-gray-200"
155155
/>
156156
</div>
157157

@@ -164,7 +164,7 @@ export default function Contact() {
164164
value={formData.email}
165165
onChange={handleChange}
166166
required
167-
className="dark:bg-gray-700 dark:border-gray-600 dark:text-gray-200"
167+
className="dark:bg-gray-900/20 dark:border-gray-700/60 dark:text-gray-200"
168168
/>
169169
</div>
170170

@@ -177,7 +177,7 @@ export default function Contact() {
177177
value={formData.subject}
178178
onChange={handleChange}
179179
required
180-
className="dark:bg-gray-700 dark:border-gray-600 dark:text-gray-200"
180+
className="dark:bg-gray-900/20 dark:border-gray-700/60 dark:text-gray-200"
181181
/>
182182
</div>
183183

@@ -187,7 +187,7 @@ export default function Contact() {
187187
id="message"
188188
name="message"
189189
rows={4}
190-
className="resize-none dark:bg-gray-700 dark:border-gray-600 dark:text-gray-200"
190+
className="resize-none dark:bg-gray-900/20 dark:border-gray-700/60 dark:text-gray-200"
191191
value={formData.message}
192192
onChange={handleChange}
193193
required

src/components/Education.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ export default function Education() {
1111
className="max-w-3xl mx-auto"
1212
{...fadeInUp}
1313
>
14-
<div className="bg-gray-50 dark:bg-gray-800 p-6 rounded-lg shadow-md border-l-4 border-primary">
14+
<div className="surface-card surface-card-hover p-6 border-l-4 border-primary">
1515
<div className="flex justify-between flex-wrap mb-2">
16-
<h3 className="text-xl font-bold dark:text-white">Bachelor of Technology in Information Technology</h3>
16+
<h3 className="text-xl font-bold dark:text-white">Bachelor of Technology in Computer Science</h3>
1717
<span className="text-gray-500 dark:text-gray-300">July 2019 - June 2023</span>
1818
</div>
1919
<p className="text-primary font-medium mb-2">KL University, Guntur, India</p>
20-
<p className="text-gray-700 dark:text-gray-300">CGPA: 9.02/10.0</p>
20+
<p className="text-gray-700 dark:text-gray-300">CGPA: 9.02</p>
2121
</div>
2222
</motion.div>
2323
</div>

src/components/Experience.tsx

Lines changed: 67 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,74 @@ import { BriefcaseIcon } from "lucide-react";
55
const experiences = [
66
{
77
title: "Software Engineer",
8-
company: "Genesys",
9-
period: "Feb 2024 - Present",
8+
company: "Genesys (Chennai, India)",
9+
period: "Aug 2022 - Present",
1010
responsibilities: [
11-
"Enhanced application's date and time formatting for sub-regions by implementing a solution that utilizes browser locale and app language to determine the end locale, resolving customer's issue regarding dates."
11+
"Develop and deliver high-quality frontend features across the Software Development Lifecycle (SDLC) including requirement understanding, design discussions, implementation, testing, and production support.",
12+
"Built scalable and reusable UI components using Vue.js, JavaScript, HTML5 and CSS3 to enhance digital user experiences for enterprise customers.",
13+
"Collaborate closely with product managers, designers and senior engineers to clarify requirements, propose technical solutions, and deliver customer-centric features.",
14+
"Contribute actively to code reviews and design discussions, ensuring adherence to internal engineering standards, performance best practices and maintainable architecture.",
15+
"Improved application performance by implementing API caching strategies and virtual rendering techniques, enabling smooth scheduling experience for 30,000+ concurrent users.",
16+
"Enhanced global usability by implementing an automatic locale detection mechanism for date/time formatting, reducing customer-reported issues across multiple regions.",
17+
"Strengthened product quality by developing unit and integration tests achieving 95%+ coverage, improving release confidence and reducing regression defects.",
18+
"Debugged complex UI production issues using browser profiling tools and performance analysis, improving responsiveness and accessibility compliance.",
19+
"Mentored junior engineers and supported onboarding, fostering collaborative team culture and engineering excellence."
1220
]
1321
},
14-
{
15-
title: "Associate Software Engineer",
16-
company: "Genesys",
17-
period: "Jun 2023 - Feb 2024",
18-
responsibilities: [
19-
"Worked on implementing unit testing for entire application with a spec coverage of over 95%",
20-
"Optimized application performance by implementing API request caching, reducing server load and improving response times.",
21-
"Got promoted to Software engineer in 9 months"
22-
]
23-
},
24-
{
25-
title: "Software Engineer Intern",
26-
company: "Genesys",
27-
period: "August 2022 - May 2023",
28-
responsibilities: [
29-
"Responsible for development of notification rules management UI that includes development of custom components that can handle huge data interactively.",
30-
"Worked on user reported defects to improve customer experience of the product."
31-
]
32-
}
3322
];
3423

35-
const technologies = ["Vue.js", "KnockoutJS", "Less", "Jest", "Webpack"];
24+
const technologies = [
25+
"Vue.js",
26+
"JavaScript",
27+
"HTML5",
28+
"CSS3",
29+
"API Caching",
30+
"Virtual Rendering",
31+
"Unit/Integration Testing"
32+
];
33+
34+
const impactTerms = [
35+
"Software Development Lifecycle (SDLC)",
36+
"30,000+ concurrent users",
37+
"95%+ coverage",
38+
"performance",
39+
"scalable",
40+
"reusable",
41+
"customer-centric",
42+
"code reviews",
43+
"global usability",
44+
"regression defects",
45+
"accessibility compliance",
46+
"Mentored"
47+
];
48+
49+
const escapeRegExp = (value: string) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
50+
51+
const impactRegex = new RegExp(
52+
`(${impactTerms
53+
.slice()
54+
.sort((a, b) => b.length - a.length)
55+
.map(escapeRegExp)
56+
.join("|")})`,
57+
"gi"
58+
);
59+
60+
function highlightImpactTerms(text: string) {
61+
const parts = text.split(impactRegex);
62+
return parts.map((part, index) => {
63+
const isImpactTerm = impactTerms.some((term) => term.toLowerCase() === part.toLowerCase());
64+
if (!isImpactTerm) return <span key={index}>{part}</span>;
65+
66+
return (
67+
<span
68+
key={index}
69+
className="font-semibold text-primary dark:text-blue-300"
70+
>
71+
{part}
72+
</span>
73+
);
74+
});
75+
}
3676

3777
export default function Experience() {
3878
return (
@@ -55,23 +95,23 @@ export default function Experience() {
5595
<div className="absolute left-0 w-10 h-10 rounded-full bg-primary text-white flex items-center justify-center">
5696
<BriefcaseIcon size={20} />
5797
</div>
58-
<div className="bg-white dark:bg-gray-700 p-6 rounded-lg shadow-md border-l-4 border-primary">
98+
<div className="surface-card surface-card-hover p-6 border-l-4 border-primary">
5999
<div className="flex justify-between flex-wrap">
60100
<h3 className="text-xl font-bold dark:text-white">{exp.title}</h3>
61101
<span className="text-sm text-gray-500 dark:text-gray-300">{exp.period}</span>
62102
</div>
63103
<p className="text-primary font-medium mb-4">{exp.company}</p>
64-
<ul className="list-disc list-inside text-gray-700 dark:text-gray-200 space-y-2">
104+
<ul className="list-disc list-outside pl-6 text-gray-700 dark:text-gray-200 space-y-2 leading-relaxed">
65105
{exp.responsibilities.map((responsibility, idx) => (
66-
<li key={idx}>{responsibility}</li>
106+
<li key={idx}>{highlightImpactTerms(responsibility)}</li>
67107
))}
68108
</ul>
69109
</div>
70110
</motion.div>
71111
))}
72112

73113
<motion.div
74-
className="ml-12 animate-in bg-gray-100 dark:bg-gray-600 p-5 rounded-lg shadow-sm"
114+
className="ml-12 animate-in surface-card surface-card-hover p-5"
75115
{...fadeInUp}
76116
>
77117
<h4 className="font-semibold mb-2 dark:text-white">Technologies Used:</h4>

src/components/Footer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export default function Footer() {
1111

1212
<div className="flex space-x-6">
1313
<a
14-
href="https://linkedin.com/in/venkatamouli"
14+
href="https://linkedin.com/in/venkata-mouli/"
1515
target="_blank"
1616
rel="noreferrer"
1717
className="text-gray-400 hover:text-primary transition-colors"
@@ -29,7 +29,7 @@ export default function Footer() {
2929
<FaGithub className="text-xl" />
3030
</a>
3131
<a
32-
href="https://leetcode.com/venkatamouli"
32+
href="https://leetcode.com/u/mouli_2303/"
3333
target="_blank"
3434
rel="noreferrer"
3535
className="text-gray-400 hover:text-primary transition-colors"

src/components/Header.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export default function Header() {
1616
const { isOpen, toggle, close } = useMobileMenu();
1717

1818
return (
19-
<header className="fixed top-0 left-0 right-0 bg-white dark:bg-gray-900 shadow-md z-50 transition-colors duration-200">
19+
<header className="fixed top-0 left-0 right-0 bg-white/70 dark:bg-gray-900/60 backdrop-blur-md border-b border-gray-200/60 dark:border-gray-800/60 z-50 transition-colors duration-200">
2020
<div className="container mx-auto px-4 py-4 flex justify-between items-center">
2121
<a href="#home" className="text-2xl font-bold text-primary">
2222
Venkata Mouli
@@ -38,7 +38,7 @@ export default function Header() {
3838
<a
3939
key={link.href}
4040
href={link.href}
41-
className="text-gray-800 dark:text-gray-200 hover:text-primary dark:hover:text-primary transition-colors"
41+
className="text-gray-800 dark:text-gray-200 hover:text-primary dark:hover:text-primary transition-colors relative after:absolute after:left-0 after:-bottom-1 after:h-0.5 after:w-0 after:bg-gradient-to-r after:from-primary after:to-indigo-500 after:transition-all hover:after:w-full"
4242
>
4343
{link.label}
4444
</a>
@@ -54,7 +54,7 @@ export default function Header() {
5454
animate={{ opacity: 1, height: "auto" }}
5555
exit={{ opacity: 0, height: 0 }}
5656
transition={{ duration: 0.2 }}
57-
className="md:hidden bg-white dark:bg-gray-800 py-4 px-4 shadow-lg"
57+
className="md:hidden bg-white/80 dark:bg-gray-800/70 backdrop-blur-md py-4 px-4 shadow-lg border-t border-gray-200/60 dark:border-gray-700/40"
5858
>
5959
<div className="flex flex-col space-y-4">
6060
{navLinks.map((link) => (

0 commit comments

Comments
 (0)