Skip to content

Commit 7cb6eae

Browse files
committed
updated content
1 parent d5414fe commit 7cb6eae

11 files changed

Lines changed: 198 additions & 154 deletions

public/Kundula_Mouli_new.pdf

139 KB
Binary file not shown.
-136 KB
Binary file not shown.

src/components/About.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ export default function About() {
66
<section id="about" className="py-16 bg-white dark:bg-gray-900 transition-colors duration-200">
77
<div className="container mx-auto px-4">
88
<h2 className="section-title dark:text-white">About Me</h2>
9-
<motion.div
9+
<motion.div
1010
className="max-w-3xl mx-auto"
1111
{...fadeInUp}
1212
>
1313
<p className="text-lg mb-6 dark:text-gray-300">
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.
14+
Full Stack Software Engineer at <strong className="text-primary">Genesys</strong> with 3+ years of experience, primarily focused on building scalable frontend systems in Vue.js and React, while also developing CRUD APIs with Node.js. I build scheduling & workforce management features used by <strong className="text-primary">30,000+ agents</strong> across global enterprise customers, backed by cloud-based automation pipelines.
1615
</p>
1716
<p className="text-lg mb-6 dark:text-gray-300">
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.
17+
My experience spans the full SDLC — from requirement analysis and design discussions to implementation, testing with <strong className="text-primary">95%+ coverage</strong>, and production support. On the frontend I specialize in performance optimization, having solved critical rendering bottlenecks through virtual scroll techniques. On the backend, I've built automated pipelines using <strong className="text-primary">AWS Bedrock</strong> and Lambda.
18+
</p>
19+
<p className="text-lg dark:text-gray-300">
20+
Outside of work, I've solved <strong className="text-primary">500+ problems</strong> on LeetCode, CodeForces, and HackerRank, and hold an <strong className="text-primary">AWS Certified Solution Architect</strong> certification. I also explore AI-powered developer tooling — including building an automated PR-reviews-to-rules pipeline using AWS Bedrock.
2021
</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>
2222
</motion.div>
2323
</div>
2424
</section>

src/components/Achievements.tsx

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,34 @@
11
import { motion } from "framer-motion";
22
import { fadeInUp, staggerContainer } from "@/utils/animations";
3-
import { Trophy, Award, Code, IdCard } from "lucide-react";
3+
import { Trophy, Award, Code, IdCard, ExternalLink } from "lucide-react";
44
import { FaAws, FaReact, FaPython } from "react-icons/fa";
55

66
const achievements = [
77
{
88
icon: <Award className="text-primary" />,
9-
text: "Secured all India rank of 914 in TCS codevita season 10."
9+
text: "Secured All India Rank 914 out of 100,000+ participants in TCS CodeVita Season 10."
1010
},
1111
{
1212
icon: <Code className="text-primary" />,
13-
text: "Solved more than 500+ problems across competitive programming platforms."
13+
text: "Solved 500+ problems across LeetCode, CodeForces, and HackerRank — focused on data structures, algorithms, and competitive programming."
1414
}
1515
];
1616

1717
const certifications = [
1818
{
1919
icon: <FaAws className="text-primary text-lg" />,
20-
text: "AWS Certified Solution Architect"
20+
text: "AWS Certified Solution Architect – Associate",
21+
detail: "Amazon Web Services"
2122
},
2223
{
2324
icon: <FaReact className="text-primary text-lg" />,
24-
text: "Full-Stack Web Development with React Specialization"
25+
text: "Full-Stack Web Development with React Specialization",
26+
detail: "Coursera (Hong Kong University)"
2527
},
2628
{
2729
icon: <FaPython className="text-primary text-lg" />,
28-
text: "Django for Everybody Specialization"
30+
text: "Django for Everybody Specialization",
31+
detail: "Coursera (University of Michigan)"
2932
}
3033
];
3134

@@ -50,10 +53,10 @@ export default function Achievements() {
5053
</div>
5154
<h3 className="text-2xl font-bold dark:text-white">Achievements</h3>
5255
</div>
53-
<ul className="space-y-4">
56+
<ul className="space-y-5">
5457
{achievements.map((achievement, index) => (
5558
<li key={index} className="flex items-start">
56-
<div className="text-primary mr-3 mt-1">{achievement.icon}</div>
59+
<div className="text-primary mr-3 mt-1 flex-shrink-0">{achievement.icon}</div>
5760
<p className="dark:text-gray-200">{achievement.text}</p>
5861
</li>
5962
))}
@@ -71,11 +74,14 @@ export default function Achievements() {
7174
</div>
7275
<h3 className="text-2xl font-bold dark:text-white">Certifications</h3>
7376
</div>
74-
<ul className="space-y-4">
77+
<ul className="space-y-5">
7578
{certifications.map((certification, index) => (
7679
<li key={index} className="flex items-start">
77-
<div className="text-primary mr-3 mt-1">{certification.icon}</div>
78-
<p className="dark:text-gray-200">{certification.text}</p>
80+
<div className="text-primary mr-3 mt-1 flex-shrink-0">{certification.icon}</div>
81+
<div>
82+
<p className="dark:text-gray-200 font-medium">{certification.text}</p>
83+
<p className="text-sm text-gray-500 dark:text-gray-400">{certification.detail}</p>
84+
</div>
7985
</li>
8086
))}
8187
</ul>

src/components/Contact.tsx

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { motion } from "framer-motion";
22
import { fadeInUp, slideLeft, slideRight } from "@/utils/animations";
3-
import { Mail, Phone, MapPin } from "lucide-react";
3+
import { Mail, Phone, MapPin, ExternalLink } from "lucide-react";
44
import { FaLinkedin, FaPaperPlane } from "react-icons/fa";
55
import { useState } from "react";
66
import { useToast } from "@/hooks/use-toast";
@@ -36,13 +36,13 @@ export default function Contact() {
3636
setIsSubmitting(true);
3737

3838
try {
39-
// Simulated form submission (no actual API endpoint)
40-
// In a real app, you'd send this data to a backend endpoint
41-
await new Promise(resolve => setTimeout(resolve, 1000));
39+
// Construct mailto link as fallback
40+
const mailtoLink = `mailto:venkatmouli823@gmail.com?subject=${encodeURIComponent(formData.subject)}&body=${encodeURIComponent(`Hi, I'm ${formData.name} (${formData.email}).\n\n${formData.message}`)}`;
41+
window.open(mailtoLink, '_blank');
4242

4343
toast({
44-
title: "Message sent!",
45-
description: "Thank you for your message. I'll get back to you soon!",
44+
title: "Opening your email client!",
45+
description: "Your email app should open with the message pre-filled.",
4646
});
4747

4848
// Reset form
@@ -55,7 +55,7 @@ export default function Contact() {
5555
} catch (error) {
5656
toast({
5757
title: "Error",
58-
description: "There was an error sending your message. Please try again.",
58+
description: "There was an error. Please email me directly at venkatmouli823@gmail.com",
5959
variant: "destructive"
6060
});
6161
} finally {
@@ -75,11 +75,29 @@ export default function Contact() {
7575
{...slideRight}
7676
>
7777
<h3 className="text-2xl font-bold mb-6">Get In Touch</h3>
78-
<p className="mb-8">
79-
Feel free to reach out to me for any opportunities, questions, or just to say hello!
78+
<p className="mb-8 text-gray-300">
79+
I'm open to new opportunities, collaborations, and conversations. The fastest way to reach me is via email or LinkedIn.
8080
</p>
8181

82-
<div className="space-y-6">
82+
{/* Quick action buttons */}
83+
<div className="flex flex-wrap gap-3 mb-8">
84+
<a
85+
href="mailto:venkatmouli823@gmail.com"
86+
className="inline-flex items-center gap-2 px-5 py-2.5 rounded-lg bg-primary text-white font-medium hover:bg-primary/90 transition-colors"
87+
>
88+
<Mail size={18} /> Email Me Directly
89+
</a>
90+
<a
91+
href="https://linkedin.com/in/venkata-mouli/"
92+
target="_blank"
93+
rel="noreferrer"
94+
className="inline-flex items-center gap-2 px-5 py-2.5 rounded-lg bg-[#0A66C2] text-white font-medium hover:bg-[#0A66C2]/90 transition-colors"
95+
>
96+
<FaLinkedin size={18} /> Connect on LinkedIn
97+
</a>
98+
</div>
99+
100+
<div className="space-y-5">
83101
<div className="flex items-start">
84102
<div className="w-10 h-10 rounded-full bg-primary/20 flex items-center justify-center mr-4 mt-1">
85103
<Mail className="text-primary" size={20} />
@@ -113,23 +131,6 @@ export default function Contact() {
113131
<p>Rajahmundry, Andhra Pradesh, India</p>
114132
</div>
115133
</div>
116-
117-
<div className="flex items-start">
118-
<div className="w-10 h-10 rounded-full bg-primary/20 flex items-center justify-center mr-4 mt-1">
119-
<FaLinkedin className="text-primary" />
120-
</div>
121-
<div>
122-
<h4 className="font-semibold text-lg">LinkedIn</h4>
123-
<a
124-
href="https://linkedin.com/in/venkata-mouli/"
125-
target="_blank"
126-
rel="noreferrer"
127-
className="text-blue-300 hover:underline"
128-
>
129-
linkedin.com/in/venkata-mouli/
130-
</a>
131-
</div>
132-
</div>
133134
</div>
134135
</motion.div>
135136

@@ -199,12 +200,15 @@ export default function Contact() {
199200
className="w-full"
200201
disabled={isSubmitting}
201202
>
202-
{isSubmitting ? "Sending..." : (
203+
{isSubmitting ? "Opening..." : (
203204
<>
204205
Send Message <FaPaperPlane className="ml-2" />
205206
</>
206207
)}
207208
</Button>
209+
<p className="text-xs text-center text-gray-400 dark:text-gray-500">
210+
This will open your default email client with the message pre-filled.
211+
</p>
208212
</div>
209213
</form>
210214
</motion.div>

src/components/Education.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@ export default function Education() {
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</p>
20+
<p className="text-gray-700 dark:text-gray-300 font-semibold mb-3">CGPA: 9.02 / 10</p>
21+
<div className="border-t border-gray-200/60 dark:border-gray-600/40 pt-3">
22+
<p className="text-sm text-gray-600 dark:text-gray-400">
23+
<span className="font-medium text-gray-700 dark:text-gray-300">Relevant Coursework:</span> Data Structures & Algorithms, Database Management Systems, Web Technologies, Software Engineering, Operating Systems, Computer Networks
24+
</p>
25+
</div>
2126
</div>
2227
</motion.div>
2328
</div>

0 commit comments

Comments
 (0)