diff --git a/app/mentorship/page.tsx b/app/mentorship/page.tsx
index 64c4f16..c74638f 100644
--- a/app/mentorship/page.tsx
+++ b/app/mentorship/page.tsx
@@ -457,6 +457,30 @@ export default function MentorshipPage() {
Whether you're starting from scratch or already have experience and feel stuck, this mentorship is for you. Already building? Use our 1:1 guidance to level up and target better companies.
+ {/* Palestine Support Banner */}
+
+
+ {/* Palestine Flag */}
+
+ {/* Black stripe */}
+
+ {/* White stripe */}
+
+ {/* Green stripe */}
+
+ {/* Red triangle */}
+
+
+
+
+ šµšø We Stand With Palestine
+
+
+ Exclusive Access for Palestinians
+
+
+
+
diff --git a/images/templates/achievements/01-2000-discord-members.svg b/images/templates/achievements/01-2000-discord-members.svg
new file mode 100644
index 0000000..62f93b0
--- /dev/null
+++ b/images/templates/achievements/01-2000-discord-members.svg
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š MILESTONE UNLOCKED
+
+
+ 2,000
+
+
+
+
+
+ Discord Members
+
+
+
+ š¬
+
+
+ Thank you for being part of our journey!
+ Together, we're building the future of tech in Pakistan šµš°
+
+
+
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/02-30000-community-members.svg b/images/templates/achievements/02-30000-community-members.svg
new file mode 100644
index 0000000..e64d032
--- /dev/null
+++ b/images/templates/achievements/02-30000-community-members.svg
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š COMMUNITY MILESTONE
+
+
+ 30,000
+
+
+
+
+
+ Community Members
+
+
+
+
+ 500+
+ SESSIONS
+
+
+ 50+
+ MENTORS
+
+
+ 100%
+ FREE
+
+
+
+ Pakistan's largest developer community keeps growing!
+ Thank you for believing in our mission š
+
+
+
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/03-20000-youtube-subscribers.svg b/images/templates/achievements/03-20000-youtube-subscribers.svg
new file mode 100644
index 0000000..1387e45
--- /dev/null
+++ b/images/templates/achievements/03-20000-youtube-subscribers.svg
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ ā¶ YOUTUBE MILESTONE
+
+
+ 20,000+
+
+
+
+
+
+ YouTube Subscribers
+
+
+
+
+
+
+ 20K engineers learning together!
+ Free tutorials on DSA, System Design, DevOps & more
+
+
+
+ SUBSCRIBE FOR FREE ā
+
+
+
+
+
+
+ YOUTUBE.COM/@DEVWEEKENDS
+
\ No newline at end of file
diff --git a/images/templates/achievements/04-5000-discord-members.svg b/images/templates/achievements/04-5000-discord-members.svg
new file mode 100644
index 0000000..f04995e
--- /dev/null
+++ b/images/templates/achievements/04-5000-discord-members.svg
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š DISCORD MILESTONE
+
+
+ 5,000
+
+
+
+
+
+ Discord Members
+
+
+
+ š¬
+
+
+ 5K developers learning, growing, winning together!
+ Join our daily discussions, code reviews & live sessions
+
+
+
+
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/05-10000-linkedin-followers.svg b/images/templates/achievements/05-10000-linkedin-followers.svg
new file mode 100644
index 0000000..8e9cbab
--- /dev/null
+++ b/images/templates/achievements/05-10000-linkedin-followers.svg
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ in LINKEDIN MILESTONE
+
+
+ 10,000
+
+
+
+
+
+ LinkedIn Followers
+
+
+
+ in
+
+
+ 10K professionals following our journey!
+ Daily insights on tech careers, tips & opportunities
+
+
+
+ FOLLOW US ā
+
+
+
+
+
+
+ LINKEDIN.COM/COMPANY/DEVWEEKENDS
+
\ No newline at end of file
diff --git a/images/templates/achievements/06-500-sessions-completed.svg b/images/templates/achievements/06-500-sessions-completed.svg
new file mode 100644
index 0000000..2bacaab
--- /dev/null
+++ b/images/templates/achievements/06-500-sessions-completed.svg
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š EDUCATION MILESTONE
+
+
+ 500+
+
+
+
+
+
+ Free Sessions Delivered
+
+
+
+
+ System Design
+
+
+ DSA
+
+
+ DevOps
+
+
+ AWS
+
+
+ & More
+
+
+
+ 500+ hours of free tech education!
+ By industry experts from Microsoft, Google, Meta & more
+
+
+
+
+ 50+
+ MENTORS
+
+
+ 20K+
+ LEARNERS
+
+
+ 100%
+ FREE
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/07-50-mentors.svg b/images/templates/achievements/07-50-mentors.svg
new file mode 100644
index 0000000..9a78554
--- /dev/null
+++ b/images/templates/achievements/07-50-mentors.svg
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ šØāš« MENTORSHIP MILESTONE
+
+
+ 50+
+
+
+
+
+
+ Industry Mentors
+
+
+ From top companies around the world
+
+
+
+ Microsoft
+
+
+ Google
+
+
+ Meta
+
+
+ Upwork
+
+
+ & More
+
+
+
+ Free 1:1 mentorship for all members!
+ Career guidance ⢠Code reviews ⢠Interview prep ⢠Project help
+
+
+
+ GET A MENTOR ā
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/08-15-gsoc-selections.svg b/images/templates/achievements/08-15-gsoc-selections.svg
new file mode 100644
index 0000000..c201483
--- /dev/null
+++ b/images/templates/achievements/08-15-gsoc-selections.svg
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š GOOGLE SUMMER OF CODE
+
+
+ 15+
+
+
+
+
+
+ GSoC Selections
+
+
+ Selected in top open source organizations
+
+
+
+ Chromium
+
+
+ FOSSology
+
+
+ Python
+
+
+ & More
+
+
+
+ We help you crack Google Summer of Code!
+ Free proposal reviews ⢠Mentorship ⢠Mock interviews
+
+
+
+
+
+
+
+
+
+ JOIN FREE ā
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/09-100-remote-placements.svg b/images/templates/achievements/09-100-remote-placements.svg
new file mode 100644
index 0000000..53ce53a
--- /dev/null
+++ b/images/templates/achievements/09-100-remote-placements.svg
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š¼ CAREER MILESTONE
+
+
+ 100+
+
+
+
+
+
+ Remote Job Placements
+
+
+ Placed in top remote platforms worldwide
+
+
+
+ Upwork
+
+
+ Toptal
+
+
+ Turing
+
+
+ Arc
+
+
+ & Direct
+
+
+
+
+
+ $50K+
+ AVG SALARY
+
+
+ 100%
+ FREE SUPPORT
+
+
+
+
+ START YOUR JOURNEY ā
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/10-50000-youtube-views.svg b/images/templates/achievements/10-50000-youtube-views.svg
new file mode 100644
index 0000000..2fd4185
--- /dev/null
+++ b/images/templates/achievements/10-50000-youtube-views.svg
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ ā¶ YOUTUBE MILESTONE
+
+
+ 50,000+
+
+
+
+
+
+ Video Views
+
+
+ 50K developers learning from our free tutorials!
+
+
+
+
+ System Design
+
+
+ DSA
+
+
+ DevOps
+
+
+ AWS
+
+
+ Careers
+
+
+
+
+
+ 100+
+ VIDEOS
+
+
+ 20K+
+ SUBSCRIBERS
+
+
+ FREE
+ FOREVER
+
+
+
+
+ SUBSCRIBE NOW ā
+
+
+ YOUTUBE.COM/@DEVWEEKENDS
+
\ No newline at end of file
diff --git a/images/templates/achievements/11-10000-discord-members.svg b/images/templates/achievements/11-10000-discord-members.svg
new file mode 100644
index 0000000..3859f66
--- /dev/null
+++ b/images/templates/achievements/11-10000-discord-members.svg
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š DISCORD MILESTONE
+
+
+ 10,000
+
+
+
+
+
+ Discord Members
+
+
+
+ š¬
+
+
+ 10K developers in one amazing community!
+ Daily discussions ⢠Code reviews ⢠Career guidance ⢠Live sessions
+
+
+
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/12-25000-community-members.svg b/images/templates/achievements/12-25000-community-members.svg
new file mode 100644
index 0000000..f671852
--- /dev/null
+++ b/images/templates/achievements/12-25000-community-members.svg
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š COMMUNITY CELEBRATION
+
+
+ 25,000
+
+
+
+
+
+ Community Members
+
+
+
+
+ 2022
+
+
+ 2023
+
+
+ 2024
+
+
+ 2025
+
+
+ GOAL
+
+
+
+ 25K strong and growing every day!
+ Thank you for being part of Pakistan's tech revolution šµš°
+
+
+
+ JOIN THE FAMILY ā
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/13-1000-engineers-trained.svg b/images/templates/achievements/13-1000-engineers-trained.svg
new file mode 100644
index 0000000..7477f06
--- /dev/null
+++ b/images/templates/achievements/13-1000-engineers-trained.svg
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š TRAINING MILESTONE
+
+
+ 1,000
+
+
+
+
+
+ Engineers Trained
+
+
+ Skilled in modern technologies and best practices
+
+
+
+ Full Stack
+
+
+ DevOps
+
+
+ Cloud
+
+
+ DSA
+
+
+ System Design
+
+
+
+
+
+ 100+
+ REMOTE JOBS
+ SECURED
+
+
+ 15+
+ GSOC
+ SELECTIONS
+
+
+ $50K+
+ AVG SALARY
+ ACHIEVED
+
+
+
+
+ BE NEXT ā
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/14-5000-instagram-followers.svg b/images/templates/achievements/14-5000-instagram-followers.svg
new file mode 100644
index 0000000..2591754
--- /dev/null
+++ b/images/templates/achievements/14-5000-instagram-followers.svg
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ šø INSTAGRAM MILESTONE
+
+
+ 5,000
+
+
+
+
+
+ Instagram Followers
+
+
+
+
+
+
+
+ 5K following our visual journey!
+ Daily tech tips, career advice & community highlights
+
+
+
+ FOLLOW US ā
+
+
+
+
+
+
+
+
+ @DEVWEEKENDS
+
\ No newline at end of file
diff --git a/images/templates/achievements/15-3-years-anniversary.svg b/images/templates/achievements/15-3-years-anniversary.svg
new file mode 100644
index 0000000..ee6f18b
--- /dev/null
+++ b/images/templates/achievements/15-3-years-anniversary.svg
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š ANNIVERSARY MILESTONE
+
+
+ 3
+ YEARS
+
+
+
+
+
+ Building Engineers Since 2022
+
+
+
+
+ 20K+
+ MEMBERS
+
+
+ 500+
+ SESSIONS
+
+
+ 100+
+ LIVES CHANGED
+
+
+
+ 3 years of free tech education!
+ Thank you for growing with us š
+
+
+
+ CELEBRATE WITH US ā
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/16-10000-watch-hours.svg b/images/templates/achievements/16-10000-watch-hours.svg
new file mode 100644
index 0000000..d9574e4
--- /dev/null
+++ b/images/templates/achievements/16-10000-watch-hours.svg
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ ā¶ WATCH TIME MILESTONE
+
+
+ 10,000+
+
+
+
+
+
+ Watch Hours
+
+
+ 10,000 hours of free tech education consumed!
+
+
+
+
+ 100+
+ VIDEOS
+
+
+ 50K+
+ VIEWS
+
+
+ 20K+
+ SUBSCRIBERS
+
+
+
+ System Design ⢠DSA ⢠DevOps ⢠AWS ⢠Career Growth
+
+
+
+ WATCH & LEARN ā
+
+
+ YOUTUBE.COM/@DEVWEEKENDS
+
\ No newline at end of file
diff --git a/images/templates/achievements/17-5000-twitter-followers.svg b/images/templates/achievements/17-5000-twitter-followers.svg
new file mode 100644
index 0000000..c5d271c
--- /dev/null
+++ b/images/templates/achievements/17-5000-twitter-followers.svg
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š TWITTER MILESTONE
+
+
+ 5,000
+
+
+
+
+
+ X / Twitter Followers
+
+
+
+ š
+
+
+ 5K engaging with our daily tech insights!
+ Tech tips ⢠Industry trends ⢠Career opportunities
+
+
+
+ FOLLOW @DEVWEEKENDS ā
+
+
+
+
+
+
+
+
+ X.COM/DEVWEEKENDS
+
\ No newline at end of file
diff --git a/images/templates/achievements/18-25-ambassadors.svg b/images/templates/achievements/18-25-ambassadors.svg
new file mode 100644
index 0000000..b1a6b8b
--- /dev/null
+++ b/images/templates/achievements/18-25-ambassadors.svg
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š AMBASSADOR MILESTONE
+
+
+ 25
+
+
+
+
+
+ Campus Ambassadors
+
+
+ Representing Dev Weekends across Pakistan
+
+
+
+
+ 20+
+ UNIVERSITIES
+
+
+ 50+
+ EVENTS
+
+
+ 5K+
+ STUDENTS REACHED
+
+
+
+ Spreading tech education across campuses!
+ Workshops ⢠Bootcamps ⢠Career sessions ⢠Mentorship
+
+
+
+ BECOME AN AMBASSADOR ā
+
+
+ DEVWEEKENDS.COM/AMBASSADOR
+
\ No newline at end of file
diff --git a/images/templates/achievements/19-50000-total-reach.svg b/images/templates/achievements/19-50000-total-reach.svg
new file mode 100644
index 0000000..e787268
--- /dev/null
+++ b/images/templates/achievements/19-50000-total-reach.svg
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š MEGA MILESTONE
+
+
+ 50,000
+
+
+
+
+
+ Total Community Reach
+
+
+ Across all platforms combined!
+
+
+
+
+ 20K+
+ COMMUNITY
+
+
+ 20K+
+ YOUTUBE
+
+
+ 10K+
+ LINKEDIN
+
+
+ 5K+
+ DISCORD
+
+
+ More
+ PLATFORMS
+
+
+
+ 50K developers in our network!
+ Pakistan's fastest-growing tech community š
+
+
+
+ JOIN THE MOVEMENT ā
+
+
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/achievements/20-100000-goal.svg b/images/templates/achievements/20-100000-goal.svg
new file mode 100644
index 0000000..1f32117
--- /dev/null
+++ b/images/templates/achievements/20-100000-goal.svg
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š THE BIG ONE - DREAM GOAL
+
+
+ 100,000
+
+
+
+
+
+
+
+ Community Members
+
+
+ Our ultimate goal - 100K engineers!
+
+
+
+
+ 1000+
+ TRAINED
+
+
+ 500+
+ SESSIONS
+
+
+ 100+
+ PLACED
+
+
+ ā
+ DREAMS
+
+
+
+ Help us reach 100K engineers!
+ Together, we're building Pakistan's tech future šµš°
+
+
+
+ BE PART OF HISTORY ā
+
+
+
+
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/certificates/01-ambassador-recognition.svg b/images/templates/certificates/01-ambassador-recognition.svg
new file mode 100644
index 0000000..f2c72dd
--- /dev/null
+++ b/images/templates/certificates/01-ambassador-recognition.svg
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+
+
+ Certificate of Recognition
+
+
+ CAMPUS AMBASSADOR
+
+
+ This certificate is proudly presented to
+
+
+ [Ambassador Name]
+
+
+
+
+
+ In recognition of outstanding dedication and contribution as a
+ Dev Weekends Campus Ambassador, inspiring fellow students and spreading
+ the mission of free tech education across Pakistan.
+
+
+ Representing
+ [University Name]
+
+
+
+
+ Date
+
+
+
+
+ Zeeshan Adil
+ Founder, Dev Weekends
+
+
+
+
+ Program Lead
+ Ambassador Program
+
+
+
+
+
+ DW
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/images/templates/certificates/02-star-ambassador.svg b/images/templates/certificates/02-star-ambassador.svg
new file mode 100644
index 0000000..8108078
--- /dev/null
+++ b/images/templates/certificates/02-star-ambassador.svg
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ ā STAR AMBASSADOR ā
+
+
+ Excellence Award
+
+
+
+
+
+ Awarded to
+
+
+ [Ambassador Name]
+
+
+
+
+
+ For exceptional performance and leadership as
+ Dev Weekends Campus Ambassador of the Quarter
+
+
+
+
+ [X]+
+ EVENTS ORGANIZED
+
+
+
+
+ [X]+
+ STUDENTS REACHED
+
+
+
+
+ [X]
+ MONTHS ACTIVE
+
+
+
+ [University Name]
+ [Quarter/Year]
+
+
+
+
+ Zeeshan Adil, Founder
+
+
+
+
+ Date of Issue
+
+
+
+
+ DW
+
\ No newline at end of file
diff --git a/images/templates/certificates/03-ambassador-graduation.svg b/images/templates/certificates/03-ambassador-graduation.svg
new file mode 100644
index 0000000..43b57ef
--- /dev/null
+++ b/images/templates/certificates/03-ambassador-graduation.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š PROGRAM COMPLETION
+
+
+ Ambassador Graduation
+ Certificate
+
+
+
+
+
+ This is to certify that
+
+
+ [Ambassador Name]
+
+
+
+
+
+ has successfully completed the Dev Weekends Campus Ambassador Program
+ demonstrating exceptional leadership, community building, and dedication
+ to empowering fellow students in their tech journey.
+
+
+
+ [Duration] ⢠[University]
+
+
+
+
+ Event Management
+
+
+
+ Community Building
+
+
+
+ Public Speaking
+
+
+
+ Tech Advocacy
+
+
+
+ Leadership
+
+
+
+
+
+ Zeeshan Adil, Founder
+
+
+
+
+ Graduation Date
+
+
+
+
+
+ DW
+
\ No newline at end of file
diff --git a/images/templates/certificates/04-impact-maker.svg b/images/templates/certificates/04-impact-maker.svg
new file mode 100644
index 0000000..bda2814
--- /dev/null
+++ b/images/templates/certificates/04-impact-maker.svg
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ š IMPACT MAKER AWARD
+
+
+ Certificate of Impact
+
+
+
+
+
+ Honoring the remarkable contributions of
+
+
+ [Ambassador Name]
+
+
+ [University Name]
+
+
+
+
+
+ For making a significant impact on the tech community by
+
+
+
+
+ [X]+
+ Students Mentored
+
+
+
+
+ [X]+
+ Workshops Conducted
+
+
+
+
+ [X]+
+ Hours Volunteered
+
+
+
+
+ [X]+
+ Lives Impacted
+
+
+
+ "The greatest impact comes from lifting others as we climb."
+
+
+
+
+ Zeeshan Adil, Founder
+
+
+
+
+ [Date]
+
+
+
+
+ DW
+
\ No newline at end of file
diff --git a/images/templates/certificates/05-hall-of-fame.svg b/images/templates/certificates/05-hall-of-fame.svg
new file mode 100644
index 0000000..44f0ce6
--- /dev/null
+++ b/images/templates/certificates/05-hall-of-fame.svg
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+ š
+
+
+ Hall of Fame
+ AMBASSADOR EXCELLENCE
+
+
+
+
+
+ Inducting into the Dev Weekends Hall of Fame
+
+
+ [Ambassador Name]
+
+
+ [University Name] ⢠Class of [Year]
+
+
+ For exemplary service, outstanding leadership, and unwavering commitment
+ to Dev Weekends' mission of free tech education for all.
+
+
+
+
+ [Year]
+ AMBASSADOR SINCE
+
+
+
+
+ [X]+
+ LIVES TRANSFORMED
+
+
+
+
+ LEGEND
+ STATUS
+
+
+
+ "Legends are remembered not for what they received, but for what they gave."
+
+
+
+
+ Zeeshan Adil, Founder
+
+
+
+
+ Induction Date
+
+
+
+
+ DW
+
\ No newline at end of file
diff --git a/images/templates/countdown/01-3-days-left.svg b/images/templates/countdown/01-3-days-left.svg
new file mode 100644
index 0000000..0d8a30c
--- /dev/null
+++ b/images/templates/countdown/01-3-days-left.svg
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ ā° COUNTDOWN
+
+
+ 3
+
+
+ DAYS LEFT
+
+
+
+
+
+ [Event Name]
+ [Event Description/Topic]
+
+
+
+
+ DATE
+ [Day, Date]
+
+
+
+
+ TIME
+ [Time] PKT
+
+
+
+
+ PLATFORM
+ Discord
+
+
+
+
+ SET YOUR REMINDER š
+
+
+
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/countdown/02-1-day-left.svg b/images/templates/countdown/02-1-day-left.svg
new file mode 100644
index 0000000..95ab794
--- /dev/null
+++ b/images/templates/countdown/02-1-day-left.svg
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ šØ TOMORROW!
+
+
+ 1
+
+
+ DAY LEFT
+
+
+
+
+
+ [Event Name]
+ [Event Description/Topic]
+
+
+
+
+ DATE
+ [Tomorrow]
+
+
+
+
+ TIME
+ [Time] PKT
+
+
+
+
+ PLATFORM
+ Discord
+
+
+
+
+ DON'T MISS OUT! š
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/countdown/03-today-event.svg b/images/templates/countdown/03-today-event.svg
new file mode 100644
index 0000000..4867742
--- /dev/null
+++ b/images/templates/countdown/03-today-event.svg
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+
+ HAPPENING TODAY!
+
+
+ TODAY
+
+
+
+
+
+
+ [TIME] PKT
+
+
+ [Event Name]
+ [Event Description/Topic]
+
+
+
+
+
+ Photo
+ With [Speaker Name]
+ [Role] @ [Company]
+
+
+
+
+ JOIN NOW ON DISCORD š
+
+
+ š
+ š„
+ āØ
+ š
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/countdown/04-2-days-left.svg b/images/templates/countdown/04-2-days-left.svg
new file mode 100644
index 0000000..7a64232
--- /dev/null
+++ b/images/templates/countdown/04-2-days-left.svg
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ ā³ ALMOST HERE!
+
+
+ 2
+
+
+ DAYS LEFT
+
+
+
+
+
+ [Event Name]
+ [Event Description/Topic]
+
+
+
+
+ DATE
+ [Day, Date]
+
+
+
+
+ TIME
+ [Time] PKT
+
+
+
+
+ PRICE
+ FREE
+
+
+
+
+ MARK YOUR CALENDAR š
+
+
+
+
+
+
+
+
+
+ DEVWEEKENDS.COM
+
\ No newline at end of file
diff --git a/images/templates/countdown/05-live-now.svg b/images/templates/countdown/05-live-now.svg
new file mode 100644
index 0000000..f4ff061
--- /dev/null
+++ b/images/templates/countdown/05-live-now.svg
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+
+ LIVE NOW
+
+
+ LIVE
+
+
+ We're Live Right Now!
+
+
+
+
+
+ [Event Name]
+ [Event Description/Topic]
+
+
+
+
+
+ Photo
+ With [Speaker Name]
+ [Role] @ [Company]
+
+
+
+
+
+
+ [X]+ Watching
+
+
+
+
+ On Discord Stage
+
+
+
+
+ JOIN NOW! š“
+
+
+
+
+
+
+
+
+
+ DISCORD.GG/DEVWEEKENDS
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-01-overview.svg b/images/templates/fellowship/palestine-01-overview.svg
new file mode 100644
index 0000000..4288f07
--- /dev/null
+++ b/images/templates/fellowship/palestine-01-overview.svg
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS INITIATIVE
+
+ Palestine Tech
+ Fellowship
+
+
+ Free intensive training for Palestinian technologists
+ preparing for global remote opportunities
+
+ PROGRAM TRACKS
+
+
+ AI Engineering
+ LLMs, RAG Systems, AI Agents
+ LangChain, MLOps, Deployment
+ Target: $2,000-5,000/month
+
+
+ Full-Stack Development
+ MERN, Next.js, Cloud, DevOps
+ System Design, Microservices
+ Target: $1,000-3,000/month
+
+ WHAT YOU GET
+
+
+ 30+ DSA Sessions
+ LeetCode 300+ preparation
+
+
+ 15+ Tech Sessions
+ Industry engineering workshops
+
+
+ 1:1 Mentorship
+ Weekly expert guidance
+
+
+ Mock Interviews
+ Technical and behavioral prep
+
+
+ Resume Support
+ ATS optimization and review
+
+
+ Job Placement
+ Direct referrals to companies
+
+ PROJECTED IMPACT
+
+
+ 200
+ Fellows Annually
+
+
+ 70%
+ Placement Rate
+
+
+ 3mo
+ Program Duration
+
+
+ 100% Free. Zero Barriers.
+ devweekends.com/palestine-fellowship
+
+ Dev Weekends Society
+ 20,000+ Members | 500+ Sessions | 50+ Mentors | 100+ Placements
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-02-ai-track.svg b/images/templates/fellowship/palestine-02-ai-track.svg
new file mode 100644
index 0000000..26c811d
--- /dev/null
+++ b/images/templates/fellowship/palestine-02-ai-track.svg
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+ TRACK 1
+ AI Engineering
+
+
+ Master modern AI development for high-paying remote roles
+
+
+
+ MODULE 1 / WEEK 1-3
+ Foundations of AI Engineering
+ Python for AI/ML | LLM Fundamentals | Prompt Engineering | API Integration
+ OpenAI, Anthropic, and HuggingFace APIs
+
+
+
+ MODULE 2 / WEEK 4-6
+ RAG Systems and Vector Databases
+ Embeddings | Vector Stores | Pinecone/Weaviate | Chunking Strategies
+ Building production-grade retrieval systems
+
+
+
+ MODULE 3 / WEEK 7-9
+ AI Agent Development
+ LangChain | CrewAI | Tool Integration | Multi-Agent Systems
+ Autonomous agents with memory and reasoning
+
+
+
+ MODULE 4 / WEEK 10-12
+ MLOps and Production Deployment
+ Docker | AWS/GCP | Model Serving | Monitoring | CI/CD
+ Scaling AI applications in production environments
+
+ CAREER OUTCOMES
+
+
+
+ AI Engineer
+ ML Engineer
+ LLM Developer
+ AI Solutions Architect
+ Target Salary: $2,000 - $5,000/month remote
+
+ INCLUDED SUPPORT
+
+
+ 1:1 Mentorship
+ Mock Interviews
+ Resume Review
+ Job Referrals
+ Career Counseling
+
+
+ Apply at devweekends.com/palestine-fellowship
+
+ Dev Weekends Society | 50+ Industry Mentors | No Fees
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-03-fullstack-track.svg b/images/templates/fellowship/palestine-03-fullstack-track.svg
new file mode 100644
index 0000000..89674e7
--- /dev/null
+++ b/images/templates/fellowship/palestine-03-fullstack-track.svg
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TRACK 2
+ Full-Stack Fellowship
+
+
+ Industry-ready software engineering for remote opportunities
+
+
+ DSA GRIND
+ 30+ Data Structures and Algorithms Sessions
+ Arrays | Trees | Graphs | Dynamic Programming | System Design | LeetCode 300+
+ 30+
+
+
+ ENGINEERING GRIND
+ 15+ Weekend Engineering Projects
+ JavaScript/TypeScript | React/Next.js | Node.js | PostgreSQL/MongoDB
+ 15+
+
+
+ CLOUD ENGINEERING
+ AWS and DevOps
+ EC2, S3, Lambda, Docker, Kubernetes, CI/CD
+
+
+ ARCHITECTURE
+ System Design
+ HLD Patterns, Microservices, Scalability
+
+ JOB READINESS SUPPORT
+
+
+
+ Resume Optimization
+ ATS-friendly resume building
+
+
+ Mock Interviews
+ Technical and behavioral prep
+
+
+ 1:1 Mentorship
+ Weekly expert guidance
+
+
+ LinkedIn Strategy
+ Profile optimization
+
+
+ Remote Job Placement
+ Direct company referrals
+
+
+ Portfolio Building
+ Industry-ready showcase
+
+ CAREER OUTCOMES
+
+
+
+ Full-Stack Developer
+ Backend Engineer
+ Frontend Engineer
+ DevOps Engineer
+ Target Salary: $1,000 - $3,000/month remote
+
+
+ Apply at devweekends.com/palestine-fellowship
+
+ Dev Weekends Society | 100+ Job Placements | No Fees
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-04-timeline.svg b/images/templates/fellowship/palestine-04-timeline.svg
new file mode 100644
index 0000000..8c8370c
--- /dev/null
+++ b/images/templates/fellowship/palestine-04-timeline.svg
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ PROGRAM STRUCTURE
+ 12-Week Journey
+
+
+ From application to job placement
+
+
+
+
+ 1
+
+ WEEK 0
+ Application and Selection
+ Submit application with basic coding assessment. Selection based on motivation and aptitude.
+
+
+ 2
+
+ WEEK 1-4
+ Foundation Building
+ Core programming, initial DSA sessions, mentor matching, track-specific fundamentals.
+
+
+ 3
+
+ WEEK 5-8
+ Advanced Training and Projects
+ Intensive DSA grind, complex projects, system design, real-world engineering challenges.
+
+
+ 4
+
+ WEEK 9-11
+ Job Readiness Preparation
+ Resume optimization, LinkedIn building, mock interviews, portfolio finalization.
+
+
+ 5
+
+ WEEK 12+
+ Placement and Ongoing Support
+ Direct referrals, interview support, offer negotiation, continued community access.
+
+
+
+ PROGRAM SUMMARY
+
+
+
+ 12
+ Weeks Total
+
+
+ 45+
+ Live Sessions
+
+
+ 1:1
+ Mentorship
+
+
+ 50+
+ Mentors
+
+
+ devweekends.com/palestine-fellowship
+
+ Dev Weekends Society | No Fees | No Barriers
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-05-impact.svg b/images/templates/fellowship/palestine-05-impact.svg
new file mode 100644
index 0000000..b7fc6c0
--- /dev/null
+++ b/images/templates/fellowship/palestine-05-impact.svg
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IMPACT PROJECTIONS
+ Projected Outcomes
+
+
+ Based on our track record with 100+ successful placements
+
+
+ 200
+ Fellows Per Year
+ 50 per cohort, 4 cohorts annually
+
+
+ 70%
+ Placement Rate
+ Within 6 months of completion
+
+ ANNUAL IMPACT
+
+
+
+ 140
+ Job Placements
+
+
+ $1.5K
+ Avg Monthly Salary
+
+
+ $2.5M
+ Annual Income Generated
+
+ WHAT DEV WEEKENDS PROVIDES
+
+
+
+
+ Curriculum and Content
+ 40+ hours of recorded training
+ Complete AI and Full-Stack syllabi
+ Project repositories and assignments
+
+ Expert Mentorship
+ 50+ industry professionals
+ Weekly 1:1 mentoring sessions
+ Code reviews and guidance
+
+ Career Support
+ Resume and LinkedIn optimization
+ Mock interviews and preparation
+ Direct referrals to 50+ companies
+
+ Community Access
+ 20,000+ member developer network
+ Peer support and collaboration
+
+ Program Management
+ Full coordination and tracking
+ Quality assurance and support
+
+ Certification
+ Industry-recognized credentials
+ Verified portfolio showcase
+
+
+ No Fees. No Barriers. Just Opportunity.
+ devweekends.com/palestine-fellowship
+
+ Dev Weekends Society
+ Established 2022 | 20,000+ Members | 500+ Sessions | 100+ Job Placements
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-fellowship-01-overview.svg b/images/templates/fellowship/palestine-fellowship-01-overview.svg
new file mode 100644
index 0000000..ede38ca
--- /dev/null
+++ b/images/templates/fellowship/palestine-fellowship-01-overview.svg
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ Palestine Tech
+ Fellowship
+
+
+
+ A free, intensive program preparing Palestinian
+ technologists for global remote opportunities
+
+
+ WHAT WE OFFER
+
+
+
+ AI Engineering Track
+ LLMs, RAG Systems, AI Agents, MLOps
+
+
+ Full-Stack Fellowship
+ MERN, Next.js, Cloud, System Design
+
+
+ 30+ DSA Sessions
+ Intensive algorithmic problem solving
+
+
+ 15+ Tech Sessions
+ Industry-led engineering workshops
+
+
+ 1:1 Mentorship
+ Personalized guidance from industry experts
+
+
+ Mock Interviews
+ Technical and behavioral preparation
+
+
+ PROJECTED IMPACT
+
+
+ 200
+ Fellows Per Year
+
+
+ 70%
+ Placement Rate
+
+
+ 3
+ Month Program
+
+
+ CAREER SUPPORT
+
+ Job Readiness Training
+ Resume Optimization
+ LinkedIn Strategy
+ Remote Job Placement
+ Career Counseling
+ Interview Preparation
+
+
+
+ 100% Free Program. Zero Barriers.
+ devweekends.com/palestine-fellowship
+
+
+ Dev Weekends Society | Pakistan's Largest Developer Community
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-fellowship-02-ai-curriculum.svg b/images/templates/fellowship/palestine-fellowship-02-ai-curriculum.svg
new file mode 100644
index 0000000..b105b41
--- /dev/null
+++ b/images/templates/fellowship/palestine-fellowship-02-ai-curriculum.svg
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CURRICULUM OVERVIEW
+ AI Engineering Track
+
+
+ Comprehensive training in modern AI development practices
+
+
+
+
+
+ MODULE 1
+ Foundations of AI Engineering
+
+ Python for AI/ML
+ LLM Fundamentals
+ Prompt Engineering
+ API Integration
+
+ OpenAI, Anthropic, HuggingFace APIs
+
+ Week 1-3
+
+
+
+
+
+ MODULE 2
+ RAG Systems and Vector Databases
+
+ Embeddings
+ Vector Stores
+ Pinecone/Weaviate
+ Chunking Strategies
+
+ Building production-grade retrieval systems
+
+ Week 4-6
+
+
+
+
+
+ MODULE 3
+ AI Agent Development
+
+ LangChain
+ CrewAI
+ Tool Integration
+ Multi-Agent Systems
+
+ Autonomous agents with memory and reasoning capabilities
+
+ Week 7-9
+
+
+
+
+
+ MODULE 4
+ MLOps and Deployment
+
+ Docker
+ AWS/GCP
+ Model Serving
+ Monitoring
+ CI/CD
+
+ Production deployment and scaling of AI applications
+
+ Week 10-12
+
+
+
+ CAREER OUTCOMES
+ AI Engineer
+ ML Engineer
+ LLM Developer
+ AI Solutions Architect
+ Target Salary Range: $2,000 - $5,000/month remote positions
+
+
+
+ Apply Now at devweekends.com/palestine-fellowship
+ No fees. No barriers. Just opportunity.
+
+
+ Dev Weekends Society | 50+ Mentors | 500+ Sessions Delivered
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-fellowship-03-fullstack-curriculum.svg b/images/templates/fellowship/palestine-fellowship-03-fullstack-curriculum.svg
new file mode 100644
index 0000000..b552c73
--- /dev/null
+++ b/images/templates/fellowship/palestine-fellowship-03-fullstack-curriculum.svg
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CURRICULUM OVERVIEW
+ Full-Stack Fellowship
+
+
+ Industry-ready software engineering training
+
+
+
+
+ DSA GRIND
+ 30+ Data Structures and Algorithms Sessions
+
+ Arrays/Strings
+ Trees/Graphs
+ Dynamic Programming
+ System Design
+ LeetCode 300+
+
+ 30+
+ Sessions
+
+
+
+
+ ENGINEERING GRIND
+ 15+ Weekend Engineering Projects
+
+ JavaScript/TypeScript
+ React/Next.js
+ Node.js/Express
+ PostgreSQL/MongoDB
+
+ 15+
+ Projects
+
+
+
+
+ CLOUD ENGINEERING
+ AWS and DevOps
+
+ AWS Services (EC2, S3, Lambda)
+ Docker and Kubernetes
+ CI/CD Pipelines
+
+
+
+
+ ARCHITECTURE
+ System Design
+
+ High-Level Design Patterns
+ Microservices Architecture
+ Scalability and Performance
+
+
+
+
+ JOB READINESS SUPPORT
+
+ Resume Optimization
+ ATS-friendly resume building and review
+
+ Mock Interviews
+ Technical and behavioral preparation
+
+ Career Counseling
+ 1:1 guidance from industry mentors
+
+ LinkedIn Strategy
+ Profile optimization and networking
+
+ Remote Job Placement
+ Direct referrals to hiring companies
+
+ Portfolio Building
+ Industry-ready project showcase
+
+
+
+ CAREER OUTCOMES
+ Full-Stack Developer
+ Backend Engineer
+ Frontend Engineer
+ DevOps Engineer
+ Target Salary Range: $1,000 - $3,000/month remote positions
+
+
+
+ Apply Now at devweekends.com/palestine-fellowship
+ No fees. No barriers. Just opportunity.
+
+
+ Dev Weekends Society | 20,000+ Community Members | 100+ Job Placements
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-fellowship-04-timeline.svg b/images/templates/fellowship/palestine-fellowship-04-timeline.svg
new file mode 100644
index 0000000..0eca8a3
--- /dev/null
+++ b/images/templates/fellowship/palestine-fellowship-04-timeline.svg
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PROGRAM STRUCTURE
+ How It Works
+
+
+ A structured 12-week journey from application to placement
+
+
+
+
+
+
+ 1
+
+
+ WEEK 0
+ Application and Selection
+ Submit application with basic coding assessment. No prior professional
+ experience required. Selection based on motivation and learning aptitude.
+
+
+
+ 2
+
+
+ WEEK 1-4
+ Foundation Building
+ Core programming concepts, initial DSA sessions, mentor matching,
+ and track-specific fundamentals. Weekly check-ins and assignments.
+
+
+
+ 3
+
+
+ WEEK 5-8
+ Advanced Training and Projects
+ Intensive DSA grind, complex project development, system design
+ principles, and real-world engineering challenges with expert guidance.
+
+
+
+ 4
+
+
+ WEEK 9-11
+ Job Readiness Preparation
+ Resume optimization, LinkedIn profile building, mock interviews,
+ portfolio finalization, and career strategy development.
+
+
+
+ 5
+
+
+ WEEK 12+
+ Placement and Ongoing Support
+ Direct referrals to hiring companies, interview support, offer
+ negotiation guidance, and continued community access.
+
+
+
+
+
+
+ 12
+ Weeks Total
+
+
+ 45+
+ Total Sessions
+
+
+ 1:1
+ Mentorship
+
+
+ devweekends.com/palestine-fellowship
+
+
\ No newline at end of file
diff --git a/images/templates/fellowship/palestine-fellowship-05-impact.svg b/images/templates/fellowship/palestine-fellowship-05-impact.svg
new file mode 100644
index 0000000..f384cab
--- /dev/null
+++ b/images/templates/fellowship/palestine-fellowship-05-impact.svg
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IMPACT PROJECTIONS
+ Projected Outcomes
+
+
+ Based on our track record with 100+ successful placements
+
+
+
+ 200
+ Fellows Per Year
+ 50 fellows per cohort, 4 cohorts annually
+
+
+ 70%
+ Placement Rate Target
+ Within 6 months of completion
+
+
+ ANNUAL PROJECTIONS
+
+
+ 140
+ Job Placements
+ 70% of 200 fellows
+
+
+ $1.5K
+ Avg Monthly Salary
+ Remote positions
+
+
+ $2.5M
+ Annual Income Generated
+ For placed fellows
+
+
+ DEV WEEKENDS PROVIDES
+
+
+
+ Curriculum and Content
+ 40+ hours of recorded training material
+ Complete AI and Full-Stack syllabi
+ Project repositories and assignments
+
+ Expert Mentorship
+ 50+ industry professionals
+ Weekly 1:1 mentoring sessions
+ Code reviews and technical guidance
+
+ Career Support
+ Resume and LinkedIn optimization
+ Mock interviews and preparation
+ Direct referrals to 50+ companies
+
+ Community Access
+ 20,000+ member developer network
+ Ongoing peer support and collaboration
+
+ Program Management
+ Coordination and tracking
+ Quality assurance and support
+
+ Certification
+ Industry-recognized credentials
+ Verified portfolio showcase
+
+
+
+ No Fees. No Barriers. Just Opportunity.
+ devweekends.com/palestine-fellowship
+
+
+ Dev Weekends Society | Established 2022 | Pakistan's Largest Developer Community
+
+
\ No newline at end of file
diff --git a/images/templates/initiatives/DevWeekends-Palestine-Fellowship-Initiative.pdf b/images/templates/initiatives/DevWeekends-Palestine-Fellowship-Initiative.pdf
new file mode 100644
index 0000000..d9c5fcd
Binary files /dev/null and b/images/templates/initiatives/DevWeekends-Palestine-Fellowship-Initiative.pdf differ
diff --git a/images/templates/initiatives/palestine-fellowship-1-cover.svg b/images/templates/initiatives/palestine-fellowship-1-cover.svg
new file mode 100644
index 0000000..abf5311
--- /dev/null
+++ b/images/templates/initiatives/palestine-fellowship-1-cover.svg
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ EMPOWERING ENGINEERS SINCE 2017
+
+
+
+
+
+
+
+
+ Palestine Tech
+ Fellowship Initiative
+
+
+ A Zero-Cost Technical Mentorship Program
+ for Palestinian Engineers and Students
+
+
+
+
+
+ 4-Month Intensive Fellowship
+ 200 Students Capacity
+ 70% Projected Placement Rate
+ 100% Free - No Funding Required
+
+
+ devweekends.com
+
+
+
+
+
\ No newline at end of file
diff --git a/images/templates/initiatives/palestine-fellowship-2-summary.svg b/images/templates/initiatives/palestine-fellowship-2-summary.svg
new file mode 100644
index 0000000..08b5319
--- /dev/null
+++ b/images/templates/initiatives/palestine-fellowship-2-summary.svg
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ 01
+
+
+ EXECUTIVE SUMMARY
+
+
+ The Opportunity
+
+
+
+
+
+ Dev Weekends, a volunteer-driven tech community operating since 2017, proposes a dedicated
+ technical fellowship program for Palestinian engineers and students affected by the ongoing crisis.
+
+
+
+
+
+ PROGRAM FUNDAMENTALS
+
+ Duration: 4-month intensive fellowship
+ Capacity: 200 Palestinian students per cohort
+ Cost: Completely free
+ Delivery: 100% remote
+ Focus: Full-Stack Development with AI Engineering
+ Outcome: 70% job placement within 6 months
+
+
+
+
+
+ OUR TRACK RECORD
+
+
+ 50+
+ Active Mentors
+
+ 800+
+ Engineers Trained
+
+ 70%
+ Placement Rate
+
+ 8+
+ Years Operating
+
+
+ Palestinian youth possess exceptional talent. Remote work in technology offers a pathway to
+ economic independence that transcends geographical constraints.
+
+
+
+ devweekends.com
+ Palestine Tech Fellowship Initiative
+
\ No newline at end of file
diff --git a/images/templates/initiatives/palestine-fellowship-3-curriculum.svg b/images/templates/initiatives/palestine-fellowship-3-curriculum.svg
new file mode 100644
index 0000000..eba2f55
--- /dev/null
+++ b/images/templates/initiatives/palestine-fellowship-3-curriculum.svg
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ 02
+
+
+ PROGRAM STRUCTURE
+
+
+ Fellowship Curriculum
+
+
+
+
+
+
+
+
+ CONCURRENT TRAINING TRACKS
+
+
+ 20+ Tech Sessions
+ Live sessions covering Full-Stack and AI Engineering
+
+ 30+ DSA Sessions
+ Intensive algorithms training (3 sessions per week)
+
+ Weekly Tasks
+ Guided assignments with mentor feedback
+
+
+ 01
+ Foundation Phase
+ Month 1-2
+
+ Full-Stack fundamentals (JavaScript, React, Node.js)
+ Database design, Git workflows, AI/ML basics
+
+
+ 02
+ Advanced Engineering
+ Month 3
+
+ System Design, Cloud platforms (AWS, Azure)
+ DevOps, AI Engineering: LLMs, RAG Systems
+
+
+ 03
+ Career Readiness
+ Month 4
+
+ Resume and LinkedIn optimization
+ Mock interviews, Job application strategy
+
+
+
+
+ PROGRAM TIMELINE
+
+
+
+
+
+
+
+ Month 1
+ Month 2
+ Month 3
+ Month 4
+
+
+
+ devweekends.com
+ Palestine Tech Fellowship Initiative
+
\ No newline at end of file
diff --git a/images/templates/initiatives/palestine-fellowship-4-mentorship.svg b/images/templates/initiatives/palestine-fellowship-4-mentorship.svg
new file mode 100644
index 0000000..d4b1c1b
--- /dev/null
+++ b/images/templates/initiatives/palestine-fellowship-4-mentorship.svg
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ 03
+
+
+ MENTORSHIP MODEL
+
+
+ Support Framework
+
+
+
+
+
+
+
+
+ Personal Mentor Assignment
+ Dedicated industry mentor paired
+ with each participant for the
+ entire 4-month program
+
+
+
+ 1:1 Mentorship Sessions
+ Weekly one-on-one sessions
+ focused on individual progress
+ and career planning
+
+
+
+ Weekly Tasks and Guidance
+ Structured assignments with
+ clear deliverables and detailed
+ mentor feedback
+
+
+
+
+ Mock Interview Preparation
+ Technical coding rounds, system
+ design, and behavioral interviews
+ with real feedback
+
+
+
+ Resume and Career Advisory
+ Professional resume review,
+ LinkedIn optimization, strategic
+ career guidance
+
+
+
+ Remote Job Placement
+ Industry referrals, freelancing
+ platform guidance (Upwork,
+ Toptal), direct applications
+
+
+
+
+ MENTOR COMMITMENT
+ Mentors commit 40-50 hours across the entire program duration, providing consistent support throughout the fellowship.
+
+
+
+ devweekends.com
+ Palestine Tech Fellowship Initiative
+
\ No newline at end of file
diff --git a/images/templates/initiatives/palestine-fellowship-5-specialization.svg b/images/templates/initiatives/palestine-fellowship-5-specialization.svg
new file mode 100644
index 0000000..877d253
--- /dev/null
+++ b/images/templates/initiatives/palestine-fellowship-5-specialization.svg
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ 04
+
+
+ SPECIALIZATION
+
+
+ Full-Stack with AI Engineering
+
+
+
+
+
+ Our primary focus is Full-Stack Development with integrated AI Engineering, ensuring participants gain
+ comprehensive skills immediately applicable in the current job market.
+
+
+ FULL-STACK DEVELOPMENT
+
+
+
+ Frontend Development
+ React, Next.js, TypeScript, and modern UI frameworks
+
+
+
+ Backend Engineering
+ Node.js, Express, REST APIs, and database management
+
+
+
+ DevOps
+ Docker, CI/CD, Cloud
+
+
+
+ System Design
+ Architecture, Scalability
+
+
+ AI ENGINEERING INTEGRATION
+
+
+
+ Large Language Models
+ Working with GPT, Claude, and open-source models
+
+
+
+ Prompt Engineering
+ Systematic approaches to designing effective AI prompts
+
+
+
+ RAG Systems and AI Agents
+ Building intelligent applications and autonomous agents
+
+
+
+ AI-integrated full-stack skills position graduates for the highest-demand roles globally.
+
+
+
+ devweekends.com
+ Palestine Tech Fellowship Initiative
+
\ No newline at end of file
diff --git a/images/templates/initiatives/palestine-fellowship-6-impact.svg b/images/templates/initiatives/palestine-fellowship-6-impact.svg
new file mode 100644
index 0000000..3761761
--- /dev/null
+++ b/images/templates/initiatives/palestine-fellowship-6-impact.svg
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ 05
+
+
+ PROJECTED IMPACT
+
+
+ Measurable Outcomes
+
+
+
+
+
+
+
+ 200
+
+ Students per Cohort
+ Maximum capacity for quality
+
+
+
+ 70%
+
+ Placement Target
+ Within 6 months of completion
+
+
+
+ 140
+
+ Engineers Employed
+ Projected per cohort
+
+
+
+ 0
+
+ Cost to Students
+ Completely free
+
+
+ IMPLEMENTATION TIMELINE
+
+ Week 1-2
+ Application review and cohort selection
+
+ Week 3-4
+ Onboarding and mentor matching
+
+ Month 1-4
+ Concurrent training: Tech sessions, DSA, weekly tasks, career prep
+
+ Month 5-6
+ Ongoing placement support and outcome tracking
+
+
+
+ LONG-TERM VISION
+ Successful fellows become mentors, creating a self-sustaining
+ ecosystem that serves Palestinian engineers for generations.
+
+
+
+ devweekends.com
+ Palestine Tech Fellowship Initiative
+
\ No newline at end of file
diff --git a/images/templates/initiatives/palestine-fellowship-7-cta.svg b/images/templates/initiatives/palestine-fellowship-7-cta.svg
new file mode 100644
index 0000000..7c46009
--- /dev/null
+++ b/images/templates/initiatives/palestine-fellowship-7-cta.svg
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ 06
+
+
+ GET INVOLVED
+
+
+ Join the Initiative
+
+
+
+
+
+ For Palestinian Students
+ Applications are open for Palestinian students and early-career engineers.
+ No prior experience required for the Foundation Track.
+
+ Requirements:
+ - Palestinian nationality or residence
+ - Basic computer and internet access (if not available, we can fund up to 30+ students)
+ - Commitment to complete the 4-month program
+ - English proficiency (intermediate level)
+
+
+ For Volunteer Mentors
+ We welcome experienced engineers who wish to contribute.
+ Anyone passionate about helping can join through our website.
+
+ Commitment:
+ - 40-50 hours total across program duration
+ - Industry experience in relevant domains
+ - Passion for education and community
+ - Availability for remote sessions
+
+
+
+
+
+ CONNECT WITH US
+
+ Website
+ devweekends.com
+
+ Apply / Mentor
+ devweekends.com
+
+
+ No funding required. Just dedicated engineers helping engineers build better futures.
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/images/templates/linkedin-banners/05-mentorship-right.svg b/images/templates/linkedin-banners/05-mentorship-right.svg
new file mode 100644
index 0000000..551b194
--- /dev/null
+++ b/images/templates/linkedin-banners/05-mentorship-right.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ MENTORSHIP
+
+
+ Free 1:1 Mentorship
+ From Industry Experts
+
+
+
+
+
+ 50+ Mentors ⢠20k+ Members
+
+
+
+ JOIN DISCORD NOW ā
+
+
+
+
+
diff --git a/images/templates/linkedin-banners/06-community-right.svg b/images/templates/linkedin-banners/06-community-right.svg
new file mode 100644
index 0000000..485f1ee
--- /dev/null
+++ b/images/templates/linkedin-banners/06-community-right.svg
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+ Pakistan's Largest
+ Developer Community
+
+
+
+
+ 20,000+
+ MEMBERS
+
+
+ 500+
+ SESSIONS
+
+
+ 100%
+ FREE
+
+
+
+
+
+
diff --git a/images/templates/linkedin-banners/07-gsoc-right.svg b/images/templates/linkedin-banners/07-gsoc-right.svg
new file mode 100644
index 0000000..a83bbf8
--- /dev/null
+++ b/images/templates/linkedin-banners/07-gsoc-right.svg
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ GSoC SUCCESS
+
+
+ We Help You Crack
+ Google Summer of Code
+
+
+
+
+
+ 15+ GSoC Selections ⢠Chromium ⢠FOSSology ⢠More
+
+
+
+ JOIN FREE ā
+
+
+
+
+
+
+
diff --git a/images/templates/linkedin-banners/08-remote-jobs-right.svg b/images/templates/linkedin-banners/08-remote-jobs-right.svg
new file mode 100644
index 0000000..d42d8ec
--- /dev/null
+++ b/images/templates/linkedin-banners/08-remote-jobs-right.svg
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ REMOTE WORK READY
+
+
+ Land Your Dream
+ International Remote Job
+
+
+
+
+
+ Upwork ⢠Toptal ⢠Turing ⢠Arc ⢠Direct Clients
+
+
+
+ 100+
+ PLACED
+
+
+ $50K+
+ AVG SALARY
+
+
+ JOIN FREE ā
+
+
+
+
+
diff --git a/images/templates/linkedin-banners/09-sessions-right.svg b/images/templates/linkedin-banners/09-sessions-right.svg
new file mode 100644
index 0000000..ee288fe
--- /dev/null
+++ b/images/templates/linkedin-banners/09-sessions-right.svg
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+
+ LIVE SESSIONS
+
+
+ Weekly Free Sessions on
+ DSA, System Design & More
+
+
+
+
+
+
+
+ System Design
+
+
+ DSA
+
+
+ DevOps
+
+
+ AWS
+
+
+ Career Growth
+
+
+
+ Every Saturday & Sunday ⢠7 PM PKT ⢠Discord Stage
+
+
+
+ JOIN FREE ā
+
diff --git a/images/templates/ppt/DW-Template-1-Intro.pptx b/images/templates/ppt/DW-Template-1-Intro.pptx
new file mode 100644
index 0000000..0c62d3e
Binary files /dev/null and b/images/templates/ppt/DW-Template-1-Intro.pptx differ
diff --git a/images/templates/ppt/DW-Template-2-Content.pptx b/images/templates/ppt/DW-Template-2-Content.pptx
new file mode 100644
index 0000000..08f260c
Binary files /dev/null and b/images/templates/ppt/DW-Template-2-Content.pptx differ
diff --git a/images/templates/ppt/DW-Template-3-Stats.pptx b/images/templates/ppt/DW-Template-3-Stats.pptx
new file mode 100644
index 0000000..e996193
Binary files /dev/null and b/images/templates/ppt/DW-Template-3-Stats.pptx differ
diff --git a/images/templates/ppt/MindMaster-Template-1-Intro.pptx b/images/templates/ppt/MindMaster-Template-1-Intro.pptx
new file mode 100644
index 0000000..8beadee
Binary files /dev/null and b/images/templates/ppt/MindMaster-Template-1-Intro.pptx differ
diff --git a/images/templates/ppt/MindMaster-Template-2-Content.pptx b/images/templates/ppt/MindMaster-Template-2-Content.pptx
new file mode 100644
index 0000000..6015b41
Binary files /dev/null and b/images/templates/ppt/MindMaster-Template-2-Content.pptx differ
diff --git a/images/templates/ppt/dw-ppt-template-1-intro.svg b/images/templates/ppt/dw-ppt-template-1-intro.svg
new file mode 100644
index 0000000..c5934c8
--- /dev/null
+++ b/images/templates/ppt/dw-ppt-template-1-intro.svg
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ EMPOWERING ENGINEERS SINCE 2020
+
+
+
+
+
+
+ Your Presentation
+ Title Goes Here
+
+
+ A brief description or subtitle for your presentation
+
+
+
+
+
+ Presenter Name
+ Role / Position ⢠Date
+
+
+ DW
+
+
+
+
+
+ devweekends.org
+
diff --git a/images/templates/ppt/dw-ppt-template-2-content.svg b/images/templates/ppt/dw-ppt-template-2-content.svg
new file mode 100644
index 0000000..043caa7
--- /dev/null
+++ b/images/templates/ppt/dw-ppt-template-2-content.svg
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+
+
+ Your Section Title Here
+
+
+ 01
+
+
+ KEY POINTS
+
+
+
+ First Key Point
+ Description or additional context for this point goes here.
+ Can span multiple lines if needed.
+
+
+
+ Second Key Point
+ Description or additional context for this point goes here.
+ Can span multiple lines if needed.
+
+
+
+ Third Key Point
+ Description or additional context for this point goes here.
+ Can span multiple lines if needed.
+
+
+
+ Fourth Key Point
+ Description or additional context for this point goes here.
+ Can span multiple lines if needed.
+
+
+
+ Image / Chart / Diagram
+ Place your visual content here
+
+
+
+
+
+
+
+
+ Ā© Dev Weekends 2025
+ devweekends.org
+
diff --git a/images/templates/ppt/dw-ppt-template-3-stats.svg b/images/templates/ppt/dw-ppt-template-3-stats.svg
new file mode 100644
index 0000000..7b7aed7
--- /dev/null
+++ b/images/templates/ppt/dw-ppt-template-3-stats.svg
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEV WEEKENDS
+ BY THE NUMBERS
+
+
+ OUR IMPACT
+ Making a Difference
+
+
+
+
+ 30+
+
+ Mentors
+ Industry professionals
+ guiding the community
+
+
+
+ 300+
+
+ Mentees
+ Engineers trained and
+ placed in industry
+
+
+
+ 92%
+
+ Placement
+ Success rate in
+ job placements
+
+
+
+ 5+
+
+ Years
+ Empowering engineers
+ across Pakistan
+
+
+ From complete beginners to industry-ready engineers
+
+
+
+
+
+
+
+
+
+ Ā© Dev Weekends 2025
+ devweekends.org
+
diff --git a/images/templates/ppt/mindmaster-ppt-template-1-intro.svg b/images/templates/ppt/mindmaster-ppt-template-1-intro.svg
new file mode 100644
index 0000000..4e97ae3
--- /dev/null
+++ b/images/templates/ppt/mindmaster-ppt-template-1-intro.svg
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MINDMASTER
+ A DEV WEEKENDS INITIATIVE
+
+
+
+
+
+
+
+ BEYOND CODE, THERE'S THE MIND
+
+
+ Your Presentation
+ Title Here
+
+
+
+
+
+ A journey into psychology, purpose, and peak performance
+
+
+ Presenter Name
+ Date
+
+
+ "
+
+
+
+
+
+ mindmaster.devweekends.org
+
diff --git a/images/templates/ppt/mindmaster-ppt-template-2-content.svg b/images/templates/ppt/mindmaster-ppt-template-2-content.svg
new file mode 100644
index 0000000..8ea7af5
--- /dev/null
+++ b/images/templates/ppt/mindmaster-ppt-template-2-content.svg
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MINDMASTER
+
+
+ 01
+
+
+
+ PSYCHOLOGY
+
+
+ The Power of Deep Work
+
+
+
+
+ "The ability to perform deep work is becoming
+ increasingly rare at exactly the same time it
+ is becoming increasingly valuable."
+ ā Cal Newport
+
+
+
+
+ 01
+ Focus Deeply
+ Eliminate distractions and
+ embrace single-tasking
+
+
+ 02
+ Build Rituals
+ Create consistent routines
+ that trigger deep states
+
+
+ 03
+ Rest Well
+ Recovery enables sustained
+ high performance
+
+
+
+
+
+
+
+
+
+ Mind
+
+
+
+
+
+
+ KEY INSIGHT
+ True productivity comes from depth, not breadth.
+
+
+
+
+
+ Ā© MindMaster 2025
+ A Dev Weekends Initiative
+
diff --git a/package-lock.json b/package-lock.json
index 9c435b7..a37c8ae 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -31,6 +31,8 @@
"mongoose": "^8.14.2",
"next": "15.1.7",
"next-themes": "^0.4.6",
+ "pdfkit": "^0.17.2",
+ "pptxgenjs": "^4.0.1",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-force-graph-2d": "^1.27.1",
@@ -3944,6 +3946,26 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"license": "MIT"
},
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/bcryptjs": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.2.tgz",
@@ -4017,6 +4039,15 @@
"node": ">=8"
}
},
+ "node_modules/brotli": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz",
+ "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==",
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.1.2"
+ }
+ },
"node_modules/bson": {
"version": "6.10.3",
"resolved": "https://registry.npmjs.org/bson/-/bson-6.10.3.tgz",
@@ -4241,6 +4272,15 @@
"integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
"license": "MIT"
},
+ "node_modules/clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/cloudinary": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/cloudinary/-/cloudinary-2.6.1.tgz",
@@ -4365,6 +4405,12 @@
"node": ">=6.6.0"
}
},
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "license": "MIT"
+ },
"node_modules/cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
@@ -4393,6 +4439,12 @@
"node": ">= 8"
}
},
+ "node_modules/crypto-js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
+ "license": "MIT"
+ },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -4775,6 +4827,12 @@
"integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==",
"license": "MIT"
},
+ "node_modules/dfa": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz",
+ "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==",
+ "license": "MIT"
+ },
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -5679,7 +5737,6 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
"license": "MIT"
},
"node_modules/fast-glob": {
@@ -5828,6 +5885,23 @@
"node": ">=12"
}
},
+ "node_modules/fontkit": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz",
+ "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==",
+ "license": "MIT",
+ "dependencies": {
+ "@swc/helpers": "^0.5.12",
+ "brotli": "^1.3.2",
+ "clone": "^2.1.2",
+ "dfa": "^1.2.0",
+ "fast-deep-equal": "^3.1.3",
+ "restructure": "^3.0.0",
+ "tiny-inflate": "^1.0.3",
+ "unicode-properties": "^1.4.0",
+ "unicode-trie": "^2.0.0"
+ }
+ },
"node_modules/for-each": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
@@ -6231,6 +6305,12 @@
"node": ">= 0.8"
}
},
+ "node_modules/https": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz",
+ "integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==",
+ "license": "ISC"
+ },
"node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -6254,6 +6334,27 @@
"node": ">= 4"
}
},
+ "node_modules/image-size": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz",
+ "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==",
+ "license": "MIT",
+ "dependencies": {
+ "queue": "6.0.2"
+ },
+ "bin": {
+ "image-size": "bin/image-size.js"
+ },
+ "engines": {
+ "node": ">=16.x"
+ }
+ },
+ "node_modules/immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "license": "MIT"
+ },
"node_modules/import-fresh": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
@@ -6294,7 +6395,6 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true,
"license": "ISC"
},
"node_modules/internal-slot": {
@@ -6814,6 +6914,12 @@
"jiti": "bin/jiti.js"
}
},
+ "node_modules/jpeg-exif": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz",
+ "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==",
+ "license": "MIT"
+ },
"node_modules/js-cookie": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
@@ -6914,6 +7020,18 @@
"node": ">=4.0"
}
},
+ "node_modules/jszip": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+ "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+ "license": "(MIT OR GPL-3.0-or-later)",
+ "dependencies": {
+ "lie": "~3.3.0",
+ "pako": "~1.0.2",
+ "readable-stream": "~2.3.6",
+ "setimmediate": "^1.0.5"
+ }
+ },
"node_modules/jwa": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz",
@@ -7000,6 +7118,15 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/lie": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "license": "MIT",
+ "dependencies": {
+ "immediate": "~3.0.5"
+ }
+ },
"node_modules/lilconfig": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
@@ -7012,6 +7139,25 @@
"url": "https://github.com/sponsors/antonk52"
}
},
+ "node_modules/linebreak": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz",
+ "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==",
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "0.0.8",
+ "unicode-trie": "^2.0.0"
+ }
+ },
+ "node_modules/linebreak/node_modules/base64-js": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
+ "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -7736,6 +7882,12 @@
"integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
"license": "BlueOak-1.0.0"
},
+ "node_modules/pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "license": "(MIT AND Zlib)"
+ },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -7810,6 +7962,19 @@
"node": ">=16"
}
},
+ "node_modules/pdfkit": {
+ "version": "0.17.2",
+ "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.17.2.tgz",
+ "integrity": "sha512-UnwF5fXy08f0dnp4jchFYAROKMNTaPqb/xgR8GtCzIcqoTnbOqtp3bwKvO4688oHI6vzEEs8Q6vqqEnC5IUELw==",
+ "license": "MIT",
+ "dependencies": {
+ "crypto-js": "^4.2.0",
+ "fontkit": "^2.0.4",
+ "jpeg-exif": "^1.1.4",
+ "linebreak": "^1.1.0",
+ "png-js": "^1.0.0"
+ }
+ },
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
@@ -7856,6 +8021,11 @@
"node": ">=16.20.0"
}
},
+ "node_modules/png-js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz",
+ "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g=="
+ },
"node_modules/possible-typed-array-names": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
@@ -8009,6 +8179,33 @@
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"license": "MIT"
},
+ "node_modules/pptxgenjs": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pptxgenjs/-/pptxgenjs-4.0.1.tgz",
+ "integrity": "sha512-TeJISr8wouAuXw4C1F/mC33xbZs/FuEG6nH9FG1Zj+nuPcGMP5YRHl6X+j3HSUnS1f3at6k75ZZXPMZlA5Lj9A==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "^22.8.1",
+ "https": "^1.0.0",
+ "image-size": "^1.2.1",
+ "jszip": "^3.10.1"
+ }
+ },
+ "node_modules/pptxgenjs/node_modules/@types/node": {
+ "version": "22.19.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz",
+ "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.21.0"
+ }
+ },
+ "node_modules/pptxgenjs/node_modules/undici-types": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
+ "license": "MIT"
+ },
"node_modules/preact": {
"version": "10.26.6",
"resolved": "https://registry.npmjs.org/preact/-/preact-10.26.6.tgz",
@@ -8029,6 +8226,12 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "license": "MIT"
+ },
"node_modules/prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
@@ -8090,6 +8293,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/queue": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
+ "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "~2.0.3"
+ }
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -8273,6 +8485,33 @@
"pify": "^2.3.0"
}
},
+ "node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readable-stream/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "license": "MIT"
+ },
+ "node_modules/readable-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "license": "MIT"
+ },
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -8369,6 +8608,12 @@
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
}
},
+ "node_modules/restructure": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz",
+ "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==",
+ "license": "MIT"
+ },
"node_modules/reusify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
@@ -8607,6 +8852,12 @@
"node": ">= 0.4"
}
},
+ "node_modules/setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+ "license": "MIT"
+ },
"node_modules/setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -8822,6 +9073,21 @@
"node": ">=10.0.0"
}
},
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "license": "MIT"
+ },
"node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
@@ -9207,6 +9473,12 @@
"integrity": "sha512-oB7yIimd8SuGptespDAZnNkzIz+NWaJCu2RMsbs4Wmp9zSDUM8Nhi3s2OOcqYuv3mN4hitXc8DVx+LyUmbUDiA==",
"license": "ISC"
},
+ "node_modules/tiny-inflate": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==",
+ "license": "MIT"
+ },
"node_modules/tinycolor2": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
@@ -9476,6 +9748,32 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/unicode-properties": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz",
+ "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==",
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.0",
+ "unicode-trie": "^2.0.0"
+ }
+ },
+ "node_modules/unicode-trie": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz",
+ "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==",
+ "license": "MIT",
+ "dependencies": {
+ "pako": "^0.2.5",
+ "tiny-inflate": "^1.0.0"
+ }
+ },
+ "node_modules/unicode-trie/node_modules/pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==",
+ "license": "MIT"
+ },
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
diff --git a/package.json b/package.json
index eb6d647..aef7737 100644
--- a/package.json
+++ b/package.json
@@ -40,6 +40,8 @@
"mongoose": "^8.14.2",
"next": "15.1.7",
"next-themes": "^0.4.6",
+ "pdfkit": "^0.17.2",
+ "pptxgenjs": "^4.0.1",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-force-graph-2d": "^1.27.1",
diff --git a/scripts/generate-palestine-fellowship-pdf.js b/scripts/generate-palestine-fellowship-pdf.js
new file mode 100644
index 0000000..fd4c841
--- /dev/null
+++ b/scripts/generate-palestine-fellowship-pdf.js
@@ -0,0 +1,512 @@
+const PDFDocument = require("pdfkit");
+const fs = require("fs");
+const path = require("path");
+
+// Output directory
+const outputDir = path.join(__dirname, "../images/templates/initiatives");
+
+// Ensure output directory exists
+if (!fs.existsSync(outputDir)) {
+ fs.mkdirSync(outputDir, { recursive: true });
+}
+
+// Create PDF
+const doc = new PDFDocument({
+ size: "A4",
+ margins: { top: 60, bottom: 60, left: 60, right: 60 },
+ bufferPages: true,
+ autoFirstPage: true,
+ info: {
+ Title: "Dev Weekends Palestine Tech Fellowship Initiative",
+ Author: "Dev Weekends",
+ Subject: "Tech Fellowship for Palestinian Engineers",
+ },
+});
+
+const outputPath = path.join(outputDir, "DevWeekends-Palestine-Fellowship-Initiative.pdf");
+const stream = fs.createWriteStream(outputPath);
+doc.pipe(stream);
+
+// Colors
+const BLACK = "#18181B";
+const GRAY = "#71717A";
+const LIGHT_GRAY = "#E4E4E7";
+const WHITE = "#FAFAFA";
+const PALESTINE_GREEN = "#009736";
+const PALESTINE_RED = "#CE1126";
+
+// Helper functions
+function drawHeader(doc, pageNum) {
+ doc.save();
+ doc.fontSize(8).fillColor(GRAY).text("DEV WEEKENDS", 60, 30, { characterSpacing: 2 });
+ doc.fontSize(8).fillColor(GRAY).text(`${pageNum}`, 535, 30, { align: "right" });
+ doc.restore();
+}
+
+function drawFooter(doc) {
+ doc.save();
+ doc.moveTo(60, 780).lineTo(535, 780).strokeColor(LIGHT_GRAY).lineWidth(0.5).stroke();
+ doc.fontSize(8).fillColor(GRAY).text("devweekends.com", 60, 790);
+ doc.fontSize(8).fillColor(GRAY).text("Palestine Tech Fellowship Initiative", 535, 790, { align: "right", width: 200 });
+ doc.restore();
+}
+
+function drawPalestineFlag(doc, x, y, width, height) {
+ const stripeHeight = height / 3;
+ doc.rect(x, y, width, stripeHeight).fill("#000000");
+ doc.rect(x, y + stripeHeight, width, stripeHeight).fill("#FFFFFF");
+ doc.rect(x, y + stripeHeight * 2, width, stripeHeight).fill(PALESTINE_GREEN);
+ doc.save();
+ doc.moveTo(x, y).lineTo(x + width * 0.35, y + height / 2).lineTo(x, y + height).fill(PALESTINE_RED);
+ doc.restore();
+}
+
+// ============================================
+// PAGE 1: COVER
+// ============================================
+function page1Cover() {
+ doc.rect(0, 0, 8, 842).fill(BLACK);
+
+ doc.fontSize(10).fillColor(BLACK).text("DEV WEEKENDS", 60, 60, { characterSpacing: 3 });
+ doc.fontSize(8).fillColor(GRAY).text("EMPOWERING ENGINEERS SINCE 2017", 60, 78, { characterSpacing: 1 });
+
+ drawPalestineFlag(doc, 60, 160, 120, 80);
+
+ doc.fontSize(42).fillColor(BLACK).text("Palestine Tech", 60, 280, { lineGap: 5 });
+ doc.fontSize(42).fillColor(BLACK).text("Fellowship Initiative", 60, 335);
+
+ doc.fontSize(14).fillColor(GRAY).text("A Zero-Cost Technical Mentorship Program", 60, 410);
+ doc.fontSize(14).fillColor(GRAY).text("for Palestinian Engineers and Students", 60, 430);
+
+ doc.rect(60, 470, 100, 3).fill(BLACK);
+
+ doc.fontSize(11).fillColor(BLACK).text("4-Month Intensive Fellowship", 60, 510);
+ doc.fontSize(11).fillColor(BLACK).text("200 Students Capacity", 60, 530);
+ doc.fontSize(11).fillColor(BLACK).text("70% Projected Placement Rate", 60, 550);
+ doc.fontSize(11).fillColor(BLACK).text("100% Free - No Funding Required", 60, 570);
+
+ doc.rect(480, 60, 50, 50).stroke(BLACK);
+ doc.rect(495, 75, 50, 50).fill(LIGHT_GRAY);
+
+ doc.fontSize(10).fillColor(GRAY).text("devweekends.com", 60, 750);
+}
+
+// ============================================
+// PAGE 2: EXECUTIVE SUMMARY
+// ============================================
+function page2ExecutiveSummary() {
+ doc.addPage();
+ drawHeader(doc, 2);
+
+ doc.fontSize(9).fillColor(GRAY).text("01", 60, 80, { characterSpacing: 2 });
+ doc.fontSize(9).fillColor(GRAY).text("EXECUTIVE SUMMARY", 60, 95, { characterSpacing: 2 });
+
+ doc.fontSize(28).fillColor(BLACK).text("The Opportunity", 60, 130);
+ doc.rect(60, 170, 60, 2).fill(BLACK);
+
+ const summaryText = `Dev Weekends, a volunteer-driven tech community operating since 2017, proposes a dedicated technical fellowship program for Palestinian engineers and students affected by the ongoing crisis.
+
+This initiative leverages our existing infrastructure, mentor network, and proven curriculum to provide world-class technical training at zero cost to participants and zero external funding requirement.`;
+
+ doc.fontSize(11).fillColor(GRAY).text(summaryText, 60, 195, {
+ width: 475,
+ lineGap: 7,
+ align: "justify",
+ });
+
+ doc.rect(60, 305, 475, 170).fill("#F4F4F5");
+ doc.rect(60, 305, 4, 170).fill(BLACK);
+
+ doc.fontSize(10).fillColor(BLACK).text("PROGRAM FUNDAMENTALS", 80, 320, { characterSpacing: 2 });
+
+ const keyPoints = [
+ "Duration: 4-month intensive fellowship program",
+ "Capacity: 200 Palestinian students per cohort",
+ "Cost to Participants: Completely free",
+ "External Funding: None required",
+ "Delivery: 100% remote via online platforms",
+ "Focus Areas: Full-Stack Development with AI Engineering",
+ "Projected Outcome: 70% job placement within 6 months",
+ ];
+
+ keyPoints.forEach((point, i) => {
+ doc.fontSize(10).fillColor(GRAY).text(point, 80, 345 + i * 18, { width: 430 });
+ });
+
+ doc.fontSize(10).fillColor(BLACK).text("THE IMPERATIVE", 60, 500, { characterSpacing: 2 });
+
+ const whyText = `Palestinian youth possess exceptional talent and determination. However, access to quality technical education and mentorship remains severely limited. Remote work opportunities in technology offer a pathway to economic independence that transcends geographical and political constraints.
+
+Dev Weekends has successfully trained 800+ engineers across Pakistan, achieving a 70% placement rate over 8+ years of operation. We are prepared to extend this proven model to serve Palestinian students immediately.`;
+
+ doc.fontSize(11).fillColor(GRAY).text(whyText, 60, 525, {
+ width: 475,
+ lineGap: 7,
+ align: "justify",
+ });
+
+ doc.rect(60, 650, 475, 80).fill("#F4F4F5");
+ doc.rect(60, 650, 4, 80).fill(PALESTINE_GREEN);
+
+ doc.fontSize(10).fillColor(BLACK).text("OUR TRACK RECORD", 80, 665, { characterSpacing: 2 });
+
+ const stats = ["50+ Active Industry Mentors", "800+ Engineers Trained", "70% Placement Rate", "8+ Years of Operation"];
+ stats.forEach((stat, i) => {
+ const xPos = 80 + (i % 2) * 220;
+ const yPos = 690 + Math.floor(i / 2) * 20;
+ doc.fontSize(10).fillColor(GRAY).text(stat, xPos, yPos);
+ });
+
+ drawFooter(doc);
+}
+
+// ============================================
+// PAGE 3: PROGRAM STRUCTURE
+// ============================================
+function page3ProgramStructure() {
+ doc.addPage();
+ drawHeader(doc, 3);
+
+ doc.fontSize(9).fillColor(GRAY).text("02", 60, 80, { characterSpacing: 2 });
+ doc.fontSize(9).fillColor(GRAY).text("PROGRAM STRUCTURE", 60, 95, { characterSpacing: 2 });
+
+ doc.fontSize(28).fillColor(BLACK).text("Fellowship Curriculum", 60, 130);
+ doc.rect(60, 170, 60, 2).fill(BLACK);
+
+ doc.fontSize(11).fillColor(GRAY).text(
+ "A comprehensive 4-month program combining technical training, mentorship, and career preparation. All sessions run concurrently throughout the program with weekly tasks and guidance.",
+ 60, 190, { width: 475, lineGap: 6 }
+ );
+
+ // Concurrent tracks box
+ doc.rect(60, 250, 475, 120).fill("#F4F4F5");
+ doc.rect(60, 250, 4, 120).fill(BLACK);
+
+ doc.fontSize(10).fillColor(BLACK).text("CONCURRENT TRAINING TRACKS", 80, 268, { characterSpacing: 2 });
+
+ doc.fontSize(11).fillColor(BLACK).text("20+ Tech Sessions", 80, 295);
+ doc.fontSize(10).fillColor(GRAY).text("Live sessions with industry experts covering Full-Stack and AI Engineering", 80, 312, { width: 200 });
+
+ doc.fontSize(11).fillColor(BLACK).text("30+ DSA Sessions", 300, 295);
+ doc.fontSize(10).fillColor(GRAY).text("Intensive data structures and algorithms training (3 sessions per week)", 300, 312, { width: 200 });
+
+ // Phase 1
+ doc.fontSize(9).fillColor(GRAY).text("01", 60, 395, { characterSpacing: 2 });
+ doc.fontSize(14).fillColor(BLACK).text("Foundation Phase", 60, 410);
+ doc.fontSize(9).fillColor(GRAY).text("Month 1-2", 60, 430);
+
+ const phase1Items = [
+ "Full-Stack Development fundamentals (JavaScript, React, Node.js)",
+ "Database design and management",
+ "Git, GitHub, and collaborative workflows",
+ "Weekly tasks with mentor guidance and feedback",
+ "AI/ML fundamentals integrated into projects",
+ ];
+
+ phase1Items.forEach((item, i) => {
+ doc.fontSize(10).fillColor(GRAY).text(item, 80, 450 + i * 16, { width: 430 });
+ });
+
+ // Phase 2
+ doc.fontSize(9).fillColor(GRAY).text("02", 60, 545, { characterSpacing: 2 });
+ doc.fontSize(14).fillColor(BLACK).text("Advanced Engineering Phase", 60, 560);
+ doc.fontSize(9).fillColor(GRAY).text("Month 3", 60, 580);
+
+ const phase2Items = [
+ "System Design fundamentals and patterns",
+ "Cloud platforms (AWS, Azure) and DevOps",
+ "AI Engineering: LLMs, Prompt Engineering, RAG Systems",
+ "Complex project development with weekly deliverables",
+ ];
+
+ phase2Items.forEach((item, i) => {
+ doc.fontSize(10).fillColor(GRAY).text(item, 80, 600 + i * 16, { width: 430 });
+ });
+
+ // Phase 3
+ doc.fontSize(9).fillColor(GRAY).text("03", 60, 680, { characterSpacing: 2 });
+ doc.fontSize(14).fillColor(BLACK).text("Career Readiness Phase", 60, 695);
+ doc.fontSize(9).fillColor(GRAY).text("Month 4", 60, 715);
+
+ const phase3Items = [
+ "Resume building and LinkedIn optimization",
+ "Mock interview preparation and feedback",
+ "Remote job application strategy",
+ ];
+
+ phase3Items.forEach((item, i) => {
+ doc.fontSize(10).fillColor(GRAY).text(item, 80, 735 + i * 16, { width: 430 });
+ });
+
+ drawFooter(doc);
+}
+
+// ============================================
+// PAGE 4: MENTORSHIP MODEL
+// ============================================
+function page4MentorshipModel() {
+ doc.addPage();
+ drawHeader(doc, 4);
+
+ doc.fontSize(9).fillColor(GRAY).text("03", 60, 80, { characterSpacing: 2 });
+ doc.fontSize(9).fillColor(GRAY).text("MENTORSHIP MODEL", 60, 95, { characterSpacing: 2 });
+
+ doc.fontSize(28).fillColor(BLACK).text("Support Framework", 60, 130);
+ doc.rect(60, 170, 60, 2).fill(BLACK);
+
+ doc.fontSize(12).fillColor(BLACK).text("Personal Mentor Assignment", 60, 200);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "Each participant is paired with a dedicated industry mentor who provides personalized guidance throughout the 4-month program. Mentors are professionals from leading tech companies worldwide.",
+ 60, 218, { width: 475, lineGap: 5 }
+ );
+
+ doc.fontSize(12).fillColor(BLACK).text("1:1 Mentorship Sessions", 60, 275);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "Weekly one-on-one sessions focused on individual progress, technical challenges, and career planning. Each participant receives dedicated mentorship time throughout the program.",
+ 60, 293, { width: 475, lineGap: 5 }
+ );
+
+ doc.fontSize(12).fillColor(BLACK).text("Weekly Tasks and Guidance", 60, 350);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "Structured weekly assignments with clear deliverables. Mentors provide detailed feedback and guidance to ensure continuous progress and skill development.",
+ 60, 368, { width: 475, lineGap: 5 }
+ );
+
+ doc.fontSize(12).fillColor(BLACK).text("Mock Interview Preparation", 60, 425);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "Comprehensive interview preparation including technical coding rounds, system design discussions, and behavioral interviews with real feedback from practicing engineers.",
+ 60, 443, { width: 475, lineGap: 5 }
+ );
+
+ doc.fontSize(12).fillColor(BLACK).text("Resume and Career Advisory", 60, 500);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "Professional resume review, LinkedIn optimization, and strategic career guidance tailored for remote international job markets and global opportunities.",
+ 60, 518, { width: 475, lineGap: 5 }
+ );
+
+ doc.fontSize(12).fillColor(BLACK).text("Remote Job Placement Support", 60, 575);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "Active job placement assistance including referrals to our industry network, guidance on freelancing platforms like Upwork and Toptal, and support for direct applications.",
+ 60, 593, { width: 475, lineGap: 5 }
+ );
+
+ doc.rect(60, 655, 475, 80).fill("#F4F4F5");
+ doc.rect(60, 655, 4, 80).fill(PALESTINE_GREEN);
+
+ doc.fontSize(10).fillColor(BLACK).text("MENTOR COMMITMENT", 80, 673, { characterSpacing: 2 });
+ doc.fontSize(10).fillColor(GRAY).text(
+ "Mentors commit 40-50 hours across the entire program duration, providing consistent support and guidance to their assigned mentees throughout the fellowship.",
+ 80, 695, { width: 430, lineGap: 5 }
+ );
+
+ drawFooter(doc);
+}
+
+// ============================================
+// PAGE 5: SPECIALIZATION
+// ============================================
+function page5Specialization() {
+ doc.addPage();
+ drawHeader(doc, 5);
+
+ doc.fontSize(9).fillColor(GRAY).text("04", 60, 80, { characterSpacing: 2 });
+ doc.fontSize(9).fillColor(GRAY).text("SPECIALIZATION", 60, 95, { characterSpacing: 2 });
+
+ doc.fontSize(28).fillColor(BLACK).text("Full-Stack with AI Engineering", 60, 130);
+ doc.rect(60, 170, 60, 2).fill(BLACK);
+
+ const introText = `Our primary focus is Full-Stack Development with integrated AI Engineering. This approach ensures participants gain comprehensive skills that are immediately applicable in the current job market where AI integration is becoming standard practice.`;
+
+ doc.fontSize(11).fillColor(GRAY).text(introText, 60, 195, { width: 475, lineGap: 6 });
+
+ doc.fontSize(10).fillColor(BLACK).text("FULL-STACK DEVELOPMENT", 60, 270, { characterSpacing: 2 });
+
+ const fullStackTopics = [
+ { title: "Frontend Development", desc: "React, Next.js, TypeScript, and modern UI frameworks" },
+ { title: "Backend Engineering", desc: "Node.js, Express, REST APIs, and database management" },
+ { title: "DevOps Fundamentals", desc: "Docker, CI/CD pipelines, and cloud deployment" },
+ { title: "System Design", desc: "Architecture patterns, scalability, and performance optimization" },
+ ];
+
+ let yPos = 295;
+ fullStackTopics.forEach((topic) => {
+ doc.fontSize(11).fillColor(BLACK).text(topic.title, 60, yPos);
+ doc.fontSize(10).fillColor(GRAY).text(topic.desc, 60, yPos + 15, { width: 475 });
+ yPos += 42;
+ });
+
+ doc.fontSize(10).fillColor(BLACK).text("AI ENGINEERING INTEGRATION", 60, 475, { characterSpacing: 2 });
+
+ const aiTopics = [
+ { title: "Large Language Models", desc: "Working with GPT, Claude, and open-source models" },
+ { title: "Prompt Engineering", desc: "Systematic approaches to designing effective AI prompts" },
+ { title: "AI API Integration", desc: "Building applications with OpenAI, Anthropic, and other services" },
+ { title: "RAG Systems", desc: "Retrieval-Augmented Generation for intelligent applications" },
+ { title: "AI Agents", desc: "Developing autonomous agents for complex task automation" },
+ ];
+
+ yPos = 500;
+ aiTopics.forEach((topic) => {
+ doc.fontSize(11).fillColor(BLACK).text(topic.title, 60, yPos);
+ doc.fontSize(10).fillColor(GRAY).text(topic.desc, 60, yPos + 15, { width: 475 });
+ yPos += 42;
+ });
+
+ doc.rect(60, 720, 475, 40).fill("#F4F4F5");
+ doc.rect(60, 720, 4, 40).fill(BLACK);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "AI-integrated full-stack skills position graduates for the highest-demand roles in global tech markets.",
+ 80, 732, { width: 430 }
+ );
+
+ drawFooter(doc);
+}
+
+// ============================================
+// PAGE 6: PROJECTED IMPACT
+// ============================================
+function page6ProjectedImpact() {
+ doc.addPage();
+ drawHeader(doc, 6);
+
+ doc.fontSize(9).fillColor(GRAY).text("05", 60, 80, { characterSpacing: 2 });
+ doc.fontSize(9).fillColor(GRAY).text("PROJECTED IMPACT", 60, 95, { characterSpacing: 2 });
+
+ doc.fontSize(28).fillColor(BLACK).text("Measurable Outcomes", 60, 130);
+ doc.rect(60, 170, 60, 2).fill(BLACK);
+
+ const metrics = [
+ { value: "200", label: "Students per Cohort", desc: "Maximum capacity for quality mentorship" },
+ { value: "70%", label: "Placement Target", desc: "Within 6 months of completion" },
+ { value: "140", label: "Engineers Employed", desc: "Projected placements per cohort" },
+ { value: "0", label: "Cost to Students", desc: "Completely free participation" },
+ ];
+
+ metrics.forEach((metric, i) => {
+ const col = i % 2;
+ const row = Math.floor(i / 2);
+ const xPos = 60 + col * 245;
+ const yPos = 200 + row * 115;
+
+ doc.rect(xPos, yPos, 225, 100).fill("#F4F4F5");
+ doc.rect(xPos, yPos, 4, 100).fill(BLACK);
+
+ doc.fontSize(36).fillColor(BLACK).text(metric.value, xPos + 20, yPos + 15);
+ doc.fontSize(11).fillColor(BLACK).text(metric.label, xPos + 20, yPos + 58);
+ doc.fontSize(9).fillColor(GRAY).text(metric.desc, xPos + 20, yPos + 75);
+ });
+
+ doc.fontSize(10).fillColor(BLACK).text("IMPLEMENTATION TIMELINE", 60, 450, { characterSpacing: 2 });
+
+ const timeline = [
+ { phase: "Week 1-2", activity: "Application review and cohort selection" },
+ { phase: "Week 3-4", activity: "Onboarding and mentor matching" },
+ { phase: "Month 1-2", activity: "Foundation training with concurrent DSA and Tech sessions" },
+ { phase: "Month 3", activity: "Advanced skills, AI integration, and specialization" },
+ { phase: "Month 4", activity: "Career preparation and job placement support" },
+ { phase: "Month 5-6", activity: "Ongoing placement support and outcome tracking" },
+ ];
+
+ timeline.forEach((item, i) => {
+ const yPos = 480 + i * 26;
+ doc.fontSize(10).fillColor(BLACK).text(item.phase, 60, yPos, { width: 80 });
+ doc.fontSize(10).fillColor(GRAY).text(item.activity, 150, yPos, { width: 385 });
+ });
+
+ doc.rect(60, 650, 475, 80).fill(BLACK);
+ doc.fontSize(10).fillColor(WHITE).text("LONG-TERM VISION", 80, 668, { characterSpacing: 2 });
+ doc.fontSize(10).fillColor(LIGHT_GRAY).text(
+ "Successful fellows become mentors, creating a self-sustaining ecosystem that continues to serve Palestinian engineers for generations. Each cohort strengthens the next.",
+ 80, 690, { width: 420, lineGap: 5 }
+ );
+
+ drawFooter(doc);
+}
+
+// ============================================
+// PAGE 7: CALL TO ACTION
+// ============================================
+function page7CallToAction() {
+ doc.addPage();
+ drawHeader(doc, 7);
+
+ doc.fontSize(9).fillColor(GRAY).text("06", 60, 80, { characterSpacing: 2 });
+ doc.fontSize(9).fillColor(GRAY).text("GET INVOLVED", 60, 95, { characterSpacing: 2 });
+
+ doc.fontSize(28).fillColor(BLACK).text("Join the Initiative", 60, 130);
+ doc.rect(60, 170, 60, 2).fill(BLACK);
+
+ doc.fontSize(14).fillColor(BLACK).text("For Palestinian Students", 60, 200);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "Applications are open for Palestinian students and early-career engineers. No prior experience required for the Foundation Track. Visit our website to apply.",
+ 60, 220, { width: 475, lineGap: 5 }
+ );
+
+ doc.fontSize(10).fillColor(BLACK).text("Requirements:", 60, 265);
+ const studentReqs = [
+ "Palestinian nationality or residence",
+ "Basic computer and internet access (if not available, we can fund up to 30 students or more through sponsorships)",
+ "Commitment to complete the 4-month program",
+ "English proficiency (intermediate level)",
+ ];
+ studentReqs.forEach((req, i) => {
+ doc.fontSize(10).fillColor(GRAY).text("- " + req, 70, 285 + i * 18, { width: 455 });
+ });
+
+ doc.fontSize(14).fillColor(BLACK).text("For Volunteer Mentors", 60, 380);
+ doc.fontSize(10).fillColor(GRAY).text(
+ "We welcome experienced engineers who wish to contribute their time and expertise. Anyone passionate about helping can join through our website.",
+ 60, 400, { width: 475, lineGap: 5 }
+ );
+
+ doc.fontSize(10).fillColor(BLACK).text("Mentor Commitment:", 60, 445);
+ const mentorReqs = [
+ "40-50 hours total across the program duration",
+ "Industry experience in relevant technical domains",
+ "Passion for education and community service",
+ "Availability for remote sessions",
+ ];
+ mentorReqs.forEach((req, i) => {
+ doc.fontSize(10).fillColor(GRAY).text("- " + req, 70, 465 + i * 18, { width: 455 });
+ });
+
+ doc.rect(60, 555, 475, 100).fill("#F4F4F5");
+ doc.rect(60, 555, 4, 100).fill(PALESTINE_GREEN);
+
+ doc.fontSize(10).fillColor(BLACK).text("CONNECT WITH US", 80, 575, { characterSpacing: 2 });
+
+ doc.fontSize(11).fillColor(BLACK).text("Website", 80, 605);
+ doc.fontSize(11).fillColor(GRAY).text("devweekends.com", 200, 605);
+
+ doc.fontSize(11).fillColor(BLACK).text("Apply / Join as Mentor", 80, 628);
+ doc.fontSize(11).fillColor(GRAY).text("devweekends.com", 200, 628);
+
+ doc.fontSize(12).fillColor(BLACK).text(
+ "No funding required. Just dedicated engineers helping engineers build better futures.",
+ 60, 695, { width: 475, align: "center" }
+ );
+
+ drawPalestineFlag(doc, 247, 730, 60, 40);
+
+ drawFooter(doc);
+}
+
+// ============================================
+// GENERATE PDF
+// ============================================
+console.log("Generating Palestine Tech Fellowship Initiative PDF...\n");
+
+page1Cover();
+page2ExecutiveSummary();
+page3ProgramStructure();
+page4MentorshipModel();
+page5Specialization();
+page6ProjectedImpact();
+page7CallToAction();
+
+doc.end();
+
+stream.on("finish", () => {
+ console.log("PDF generated successfully!");
+ console.log(`Output: ${outputPath}`);
+});
diff --git a/scripts/generate-ppt-templates.js b/scripts/generate-ppt-templates.js
new file mode 100644
index 0000000..44c943d
--- /dev/null
+++ b/scripts/generate-ppt-templates.js
@@ -0,0 +1,1278 @@
+const pptxgen = require("pptxgenjs");
+const fs = require("fs");
+const path = require("path");
+
+// Output directory
+const outputDir = path.join(__dirname, "../images/templates/ppt");
+
+// Ensure output directory exists
+if (!fs.existsSync(outputDir)) {
+ fs.mkdirSync(outputDir, { recursive: true });
+}
+
+// ============================================
+// DEV WEEKENDS TEMPLATE 1: INTRO/TITLE SLIDE
+// ============================================
+function createDWTemplate1() {
+ const pptx = new pptxgen();
+ pptx.layout = "LAYOUT_16x9";
+ pptx.title = "Dev Weekends - Intro Template";
+ pptx.author = "Dev Weekends";
+
+ // Slide 1 - Title Slide
+ const slide1 = pptx.addSlide();
+ slide1.background = { color: "FAFAFA" };
+
+ // Left accent bar
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.1,
+ h: "100%",
+ fill: { color: "18181B" },
+ });
+
+ // Branding
+ slide1.addText("DEV WEEKENDS", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 12,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ charSpacing: 4,
+ });
+
+ slide1.addText("EMPOWERING ENGINEERS SINCE 2020", {
+ x: 0.5,
+ y: 0.55,
+ fontSize: 8,
+ fontFace: "Arial",
+ color: "71717A",
+ charSpacing: 2,
+ });
+
+ // Main Title
+ slide1.addText("Your Presentation\nTitle Goes Here", {
+ x: 0.5,
+ y: 2.2,
+ w: 8,
+ fontSize: 48,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ lineSpacing: 54,
+ });
+
+ // Subtitle
+ slide1.addText("A brief description or subtitle for your presentation", {
+ x: 0.5,
+ y: 4.0,
+ fontSize: 16,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+
+ // Divider line
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0.5,
+ y: 4.5,
+ w: 2.5,
+ h: 0.03,
+ fill: { color: "18181B" },
+ });
+
+ // Presenter info
+ slide1.addText("Presenter Name", {
+ x: 0.5,
+ y: 4.8,
+ fontSize: 14,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ });
+
+ slide1.addText("Role / Position ⢠Date", {
+ x: 0.5,
+ y: 5.05,
+ fontSize: 11,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+
+ // Decorative element (corner box)
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 11.5,
+ y: 0.5,
+ w: 0.8,
+ h: 0.8,
+ line: { color: "18181B", width: 1.5 },
+ });
+
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 11.7,
+ y: 0.7,
+ w: 0.8,
+ h: 0.8,
+ fill: { color: "FEF08A", transparency: 40 },
+ });
+
+ // Bottom bar
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.35,
+ w: "100%",
+ h: 0.15,
+ fill: { color: "18181B" },
+ });
+
+ // Website
+ slide1.addText("devweekends.org", {
+ x: 11,
+ y: 5.1,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+
+ // Slide 2 - Content Template
+ const slide2 = pptx.addSlide();
+ slide2.background = { color: "FAFAFA" };
+
+ // Header bar
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: "100%",
+ h: 1.2,
+ fill: { color: "18181B" },
+ });
+
+ slide2.addText("DEV WEEKENDS", {
+ x: 0.5,
+ y: 0.25,
+ fontSize: 10,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ charSpacing: 3,
+ });
+
+ slide2.addText("Your Section Title Here", {
+ x: 0.5,
+ y: 0.6,
+ fontSize: 28,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ });
+
+ slide2.addText("01", {
+ x: 12,
+ y: 0.6,
+ fontSize: 16,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ });
+
+ // Key Points section
+ slide2.addText("KEY POINTS", {
+ x: 0.5,
+ y: 1.5,
+ fontSize: 10,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ charSpacing: 2,
+ });
+
+ const points = [
+ { title: "First Key Point", desc: "Description or additional context for this point goes here." },
+ { title: "Second Key Point", desc: "Description or additional context for this point goes here." },
+ { title: "Third Key Point", desc: "Description or additional context for this point goes here." },
+ { title: "Fourth Key Point", desc: "Description or additional context for this point goes here." },
+ ];
+
+ points.forEach((point, i) => {
+ const yPos = 1.9 + i * 0.8;
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0.5,
+ y: yPos,
+ w: 0.08,
+ h: 0.08,
+ fill: { color: "18181B" },
+ });
+ slide2.addText(point.title, {
+ x: 0.7,
+ y: yPos - 0.05,
+ fontSize: 14,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ });
+ slide2.addText(point.desc, {
+ x: 0.7,
+ y: yPos + 0.22,
+ fontSize: 11,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+ });
+
+ // Visual placeholder
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 6.5,
+ y: 1.5,
+ w: 5.5,
+ h: 3.5,
+ fill: { color: "F4F4F5" },
+ line: { color: "E4E4E7", width: 1 },
+ });
+
+ slide2.addText("Image / Chart / Diagram\nPlace your visual content here", {
+ x: 6.5,
+ y: 2.8,
+ w: 5.5,
+ fontSize: 14,
+ fontFace: "Arial",
+ color: "A1A1AA",
+ align: "center",
+ });
+
+ // Bottom bar
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.35,
+ w: "100%",
+ h: 0.15,
+ fill: { color: "18181B" },
+ });
+
+ slide2.addText("Ā© Dev Weekends 2025", {
+ x: 0.5,
+ y: 5.1,
+ fontSize: 9,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+
+ slide2.addText("devweekends.org", {
+ x: 11,
+ y: 5.1,
+ fontSize: 9,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+
+ return pptx.writeFile({ fileName: path.join(outputDir, "DW-Template-1-Intro.pptx") });
+}
+
+// ============================================
+// DEV WEEKENDS TEMPLATE 2: CONTENT SLIDE
+// ============================================
+function createDWTemplate2() {
+ const pptx = new pptxgen();
+ pptx.layout = "LAYOUT_16x9";
+ pptx.title = "Dev Weekends - Content Template";
+ pptx.author = "Dev Weekends";
+
+ // Slide 1 - Two Column Layout
+ const slide1 = pptx.addSlide();
+ slide1.background = { color: "FAFAFA" };
+
+ // Left accent bar
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.1,
+ h: "100%",
+ fill: { color: "18181B" },
+ });
+
+ // Branding
+ slide1.addText("DEV WEEKENDS", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 10,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ charSpacing: 3,
+ });
+
+ // Section title
+ slide1.addText("WHAT WE DO", {
+ x: 0.5,
+ y: 1.0,
+ fontSize: 9,
+ fontFace: "Arial",
+ bold: true,
+ color: "71717A",
+ charSpacing: 2,
+ });
+
+ slide1.addText("Transforming Beginners\nInto Industry-Ready Engineers", {
+ x: 0.5,
+ y: 1.3,
+ w: 5,
+ fontSize: 32,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ lineSpacing: 38,
+ });
+
+ // Description
+ slide1.addText(
+ "Our comprehensive mentorship programs combine live sessions, 1:1 guidance, and hands-on projects to accelerate your engineering career.",
+ {
+ x: 0.5,
+ y: 2.8,
+ w: 5,
+ fontSize: 13,
+ fontFace: "Arial",
+ color: "71717A",
+ lineSpacing: 20,
+ }
+ );
+
+ // Right column - Feature cards
+ const features = [
+ { num: "01", title: "Live Sessions", desc: "20+ interactive sessions with industry experts" },
+ { num: "02", title: "1:1 Mentorship", desc: "Personal mentor for your entire journey" },
+ { num: "03", title: "DSA Training", desc: "30+ intensive algorithm sessions" },
+ { num: "04", title: "Job Placement", desc: "92% success rate in placements" },
+ ];
+
+ features.forEach((f, i) => {
+ const col = i % 2;
+ const row = Math.floor(i / 2);
+ const xPos = 6.2 + col * 2.8;
+ const yPos = 0.8 + row * 2.2;
+
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: xPos,
+ y: yPos,
+ w: 2.5,
+ h: 1.8,
+ fill: { color: "F4F4F5" },
+ });
+
+ slide1.addText(f.num, {
+ x: xPos + 0.15,
+ y: yPos + 0.15,
+ fontSize: 9,
+ fontFace: "Arial",
+ bold: true,
+ color: "A1A1AA",
+ });
+
+ slide1.addText(f.title, {
+ x: xPos + 0.15,
+ y: yPos + 0.6,
+ fontSize: 14,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ });
+
+ slide1.addText(f.desc, {
+ x: xPos + 0.15,
+ y: yPos + 1.0,
+ w: 2.2,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "71717A",
+ lineSpacing: 14,
+ });
+ });
+
+ // Bottom bar
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.35,
+ w: "100%",
+ h: 0.15,
+ fill: { color: "18181B" },
+ });
+
+ // Slide 2 - Process/Timeline
+ const slide2 = pptx.addSlide();
+ slide2.background = { color: "FAFAFA" };
+
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.1,
+ h: "100%",
+ fill: { color: "18181B" },
+ });
+
+ slide2.addText("DEV WEEKENDS", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 10,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ charSpacing: 3,
+ });
+
+ slide2.addText("THE JOURNEY", {
+ x: 0.5,
+ y: 0.9,
+ fontSize: 9,
+ fontFace: "Arial",
+ bold: true,
+ color: "71717A",
+ charSpacing: 2,
+ });
+
+ slide2.addText("Your 4-Month Transformation", {
+ x: 0.5,
+ y: 1.2,
+ fontSize: 28,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ });
+
+ // Timeline
+ const months = [
+ { month: "Month 1-2", title: "Foundation", desc: "Programming fundamentals, web dev basics, DSA introduction" },
+ { month: "Month 3", title: "Advanced Skills", desc: "Complex algorithms, system design, real projects" },
+ { month: "Month 4", title: "Industry Ready", desc: "Mock interviews, portfolio, job applications" },
+ ];
+
+ // Timeline line
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0.5,
+ y: 2.45,
+ w: 11.5,
+ h: 0.02,
+ fill: { color: "E4E4E7" },
+ });
+
+ months.forEach((m, i) => {
+ const xPos = 0.5 + i * 4;
+
+ // Circle marker
+ slide2.addShape(pptx.shapes.OVAL, {
+ x: xPos,
+ y: 2.3,
+ w: 0.3,
+ h: 0.3,
+ fill: { color: "18181B" },
+ });
+
+ slide2.addText(m.month, {
+ x: xPos - 0.2,
+ y: 2.8,
+ fontSize: 10,
+ fontFace: "Arial",
+ bold: true,
+ color: "71717A",
+ });
+
+ slide2.addText(m.title, {
+ x: xPos - 0.2,
+ y: 3.1,
+ fontSize: 16,
+ fontFace: "Arial",
+ bold: true,
+ color: "18181B",
+ });
+
+ slide2.addText(m.desc, {
+ x: xPos - 0.2,
+ y: 3.5,
+ w: 3.5,
+ fontSize: 11,
+ fontFace: "Arial",
+ color: "71717A",
+ lineSpacing: 16,
+ });
+ });
+
+ // Bottom bar
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.35,
+ w: "100%",
+ h: 0.15,
+ fill: { color: "18181B" },
+ });
+
+ return pptx.writeFile({ fileName: path.join(outputDir, "DW-Template-2-Content.pptx") });
+}
+
+// ============================================
+// DEV WEEKENDS TEMPLATE 3: STATS/IMPACT
+// ============================================
+function createDWTemplate3() {
+ const pptx = new pptxgen();
+ pptx.layout = "LAYOUT_16x9";
+ pptx.title = "Dev Weekends - Stats Template";
+ pptx.author = "Dev Weekends";
+
+ // Slide 1 - Stats Dark Theme
+ const slide1 = pptx.addSlide();
+ slide1.background = { color: "18181B" };
+
+ // Yellow accent bar
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.1,
+ h: "100%",
+ fill: { color: "FEF08A" },
+ });
+
+ // Branding
+ slide1.addText("DEV WEEKENDS", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 12,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ charSpacing: 4,
+ });
+
+ slide1.addText("BY THE NUMBERS", {
+ x: 0.5,
+ y: 0.55,
+ fontSize: 8,
+ fontFace: "Arial",
+ color: "71717A",
+ charSpacing: 2,
+ });
+
+ // Section title
+ slide1.addText("OUR IMPACT", {
+ x: 0.5,
+ y: 1.1,
+ fontSize: 10,
+ fontFace: "Arial",
+ bold: true,
+ color: "FEF08A",
+ charSpacing: 3,
+ });
+
+ slide1.addText("Making a Difference", {
+ x: 0.5,
+ y: 1.4,
+ fontSize: 36,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ });
+
+ // Stats cards
+ const stats = [
+ { value: "30+", label: "Mentors", desc: "Industry professionals" },
+ { value: "300+", label: "Mentees", desc: "Engineers trained" },
+ { value: "92%", label: "Placement", desc: "Success rate" },
+ { value: "5+", label: "Years", desc: "Empowering engineers" },
+ ];
+
+ stats.forEach((s, i) => {
+ const xPos = 0.5 + i * 3;
+
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: xPos,
+ y: 2.2,
+ w: 2.7,
+ h: 2.0,
+ fill: { color: "27272A" },
+ });
+
+ slide1.addText(s.value, {
+ x: xPos + 0.2,
+ y: 2.4,
+ fontSize: 48,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ });
+
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: xPos + 0.2,
+ y: 3.2,
+ w: 0.6,
+ h: 0.03,
+ fill: { color: "FEF08A" },
+ });
+
+ slide1.addText(s.label, {
+ x: xPos + 0.2,
+ y: 3.4,
+ fontSize: 14,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ });
+
+ slide1.addText(s.desc, {
+ x: xPos + 0.2,
+ y: 3.7,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+ });
+
+ // Bottom text
+ slide1.addText("From complete beginners to industry-ready engineers", {
+ x: 0,
+ y: 4.6,
+ w: "100%",
+ fontSize: 14,
+ fontFace: "Arial",
+ color: "71717A",
+ align: "center",
+ });
+
+ // Decorative corner
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 11.5,
+ y: 0.3,
+ w: 0.6,
+ h: 0.6,
+ line: { color: "FEF08A", width: 1.5 },
+ });
+
+ // Yellow bottom bar
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.35,
+ w: "100%",
+ h: 0.15,
+ fill: { color: "FEF08A" },
+ });
+
+ slide1.addText("devweekends.org", {
+ x: 11,
+ y: 5.1,
+ fontSize: 9,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+
+ // Slide 2 - Testimonial/Quote
+ const slide2 = pptx.addSlide();
+ slide2.background = { color: "18181B" };
+
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.1,
+ h: "100%",
+ fill: { color: "FEF08A" },
+ });
+
+ slide2.addText("DEV WEEKENDS", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 10,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ charSpacing: 3,
+ });
+
+ slide2.addText("TESTIMONIAL", {
+ x: 0.5,
+ y: 1.0,
+ fontSize: 9,
+ fontFace: "Arial",
+ bold: true,
+ color: "FEF08A",
+ charSpacing: 2,
+ });
+
+ // Quote marks
+ slide2.addText('"', {
+ x: 0.3,
+ y: 1.2,
+ fontSize: 120,
+ fontFace: "Georgia",
+ color: "27272A",
+ });
+
+ // Quote text
+ slide2.addText(
+ "Dev Weekends was the turning point in my career. The mentorship, the community support, and the structured learning path helped me land my dream job.",
+ {
+ x: 1.5,
+ y: 2.0,
+ w: 9,
+ fontSize: 22,
+ fontFace: "Georgia",
+ italic: true,
+ color: "A3A3A3",
+ lineSpacing: 32,
+ }
+ );
+
+ // Author
+ slide2.addText("ā Mentee Name, Software Engineer @ Company", {
+ x: 1.5,
+ y: 4.0,
+ fontSize: 12,
+ fontFace: "Arial",
+ color: "71717A",
+ });
+
+ // Yellow bottom bar
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.35,
+ w: "100%",
+ h: 0.15,
+ fill: { color: "FEF08A" },
+ });
+
+ return pptx.writeFile({ fileName: path.join(outputDir, "DW-Template-3-Stats.pptx") });
+}
+
+// ============================================
+// MINDMASTER TEMPLATE 1: INTRO SLIDE
+// ============================================
+function createMMTemplate1() {
+ const pptx = new pptxgen();
+ pptx.layout = "LAYOUT_16x9";
+ pptx.title = "MindMaster - Intro Template";
+ pptx.author = "MindMaster - Dev Weekends";
+
+ // Slide 1 - Title
+ const slide1 = pptx.addSlide();
+ slide1.background = { color: "0A0A0A" };
+
+ // Gold accent bar
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.05,
+ h: "100%",
+ fill: { color: "D4A574" },
+ });
+
+ // Branding
+ slide1.addText("MINDMASTER", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "D4A574",
+ charSpacing: 6,
+ });
+
+ slide1.addText("A DEV WEEKENDS INITIATIVE", {
+ x: 0.5,
+ y: 0.55,
+ fontSize: 8,
+ fontFace: "Arial",
+ color: "525252",
+ charSpacing: 3,
+ });
+
+ // Decorative circles
+ slide1.addShape(pptx.shapes.OVAL, {
+ x: 10.5,
+ y: 0.5,
+ w: 1.5,
+ h: 1.5,
+ line: { color: "262626", width: 1 },
+ });
+
+ slide1.addShape(pptx.shapes.OVAL, {
+ x: 10.65,
+ y: 0.65,
+ w: 1.2,
+ h: 1.2,
+ line: { color: "262626", width: 1 },
+ });
+
+ slide1.addShape(pptx.shapes.OVAL, {
+ x: 10.8,
+ y: 0.8,
+ w: 0.9,
+ h: 0.9,
+ line: { color: "D4A574", width: 0.5, transparency: 60 },
+ });
+
+ // Tagline
+ slide1.addText("BEYOND CODE, THERE'S THE MIND", {
+ x: 0.5,
+ y: 1.8,
+ fontSize: 9,
+ fontFace: "Arial",
+ color: "525252",
+ charSpacing: 4,
+ });
+
+ // Main title
+ slide1.addText("Your Presentation\nTitle Here", {
+ x: 0.5,
+ y: 2.3,
+ w: 9,
+ fontSize: 48,
+ fontFace: "Georgia",
+ color: "FAFAFA",
+ lineSpacing: 58,
+ });
+
+ // Divider
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0.5,
+ y: 4.1,
+ w: 1,
+ h: 0.01,
+ fill: { color: "D4A574" },
+ });
+
+ // Subtitle
+ slide1.addText("A journey into psychology, purpose, and peak performance", {
+ x: 0.5,
+ y: 4.35,
+ fontSize: 14,
+ fontFace: "Georgia",
+ italic: true,
+ color: "737373",
+ });
+
+ // Presenter
+ slide1.addText("Presenter Name", {
+ x: 0.5,
+ y: 5.0,
+ fontSize: 12,
+ fontFace: "Arial",
+ color: "FAFAFA",
+ });
+
+ slide1.addText("Date", {
+ x: 0.5,
+ y: 5.25,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "525252",
+ });
+
+ // Bottom line
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.48,
+ w: "100%",
+ h: 0.01,
+ fill: { color: "262626" },
+ });
+
+ slide1.addText("mindmaster.devweekends.org", {
+ x: 10,
+ y: 5.2,
+ fontSize: 9,
+ fontFace: "Arial",
+ color: "525252",
+ });
+
+ // Slide 2 - Quote/Wisdom
+ const slide2 = pptx.addSlide();
+ slide2.background = { color: "0A0A0A" };
+
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.05,
+ h: "100%",
+ fill: { color: "D4A574" },
+ });
+
+ slide2.addText("MINDMASTER", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "D4A574",
+ charSpacing: 6,
+ });
+
+ // Category tag
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0.5,
+ y: 0.9,
+ w: 1.5,
+ h: 0.25,
+ fill: { color: "1A1A1A" },
+ });
+
+ slide2.addText("WISDOM", {
+ x: 0.55,
+ y: 0.93,
+ fontSize: 8,
+ fontFace: "Arial",
+ color: "D4A574",
+ charSpacing: 2,
+ });
+
+ // Large quote mark
+ slide2.addText('"', {
+ x: 0.2,
+ y: 1.2,
+ fontSize: 150,
+ fontFace: "Georgia",
+ color: "1A1A1A",
+ });
+
+ // Quote
+ slide2.addText(
+ "The mind is everything.\nWhat you think, you become.",
+ {
+ x: 1.5,
+ y: 2.2,
+ w: 9,
+ fontSize: 36,
+ fontFace: "Georgia",
+ italic: true,
+ color: "A3A3A3",
+ lineSpacing: 48,
+ }
+ );
+
+ // Author
+ slide2.addText("ā Buddha", {
+ x: 1.5,
+ y: 4.0,
+ fontSize: 14,
+ fontFace: "Arial",
+ color: "525252",
+ });
+
+ // Bottom line
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.48,
+ w: "100%",
+ h: 0.01,
+ fill: { color: "262626" },
+ });
+
+ return pptx.writeFile({ fileName: path.join(outputDir, "MindMaster-Template-1-Intro.pptx") });
+}
+
+// ============================================
+// MINDMASTER TEMPLATE 2: CONTENT
+// ============================================
+function createMMTemplate2() {
+ const pptx = new pptxgen();
+ pptx.layout = "LAYOUT_16x9";
+ pptx.title = "MindMaster - Content Template";
+ pptx.author = "MindMaster - Dev Weekends";
+
+ // Slide 1 - Three Pillars
+ const slide1 = pptx.addSlide();
+ slide1.background = { color: "0A0A0A" };
+
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.05,
+ h: "100%",
+ fill: { color: "D4A574" },
+ });
+
+ slide1.addText("MINDMASTER", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "D4A574",
+ charSpacing: 6,
+ });
+
+ slide1.addText("01", {
+ x: 11.8,
+ y: 0.3,
+ fontSize: 12,
+ fontFace: "Arial",
+ color: "525252",
+ });
+
+ // Title
+ slide1.addText("The Three Pillars of Growth", {
+ x: 0.5,
+ y: 1.0,
+ fontSize: 32,
+ fontFace: "Georgia",
+ color: "FAFAFA",
+ });
+
+ // Three columns
+ const pillars = [
+ {
+ num: "01",
+ title: "Psychology of Excellence",
+ desc: "Understanding how the mind works is the first step to mastering it. Cognitive biases, decision-making, and peak performance.",
+ },
+ {
+ num: "02",
+ title: "Time & Energy Mastery",
+ desc: "Time management is energy management. Learn frameworks from top performers to structure your days for maximum impact.",
+ },
+ {
+ num: "03",
+ title: "The Spiritual Dimension",
+ desc: "Purpose, meaning, and inner peace. Finding balance between ambition and contentment in your engineering journey.",
+ },
+ ];
+
+ pillars.forEach((p, i) => {
+ const xPos = 0.5 + i * 4;
+
+ slide1.addText(p.num, {
+ x: xPos,
+ y: 1.9,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "D4A574",
+ charSpacing: 2,
+ });
+
+ slide1.addText(p.title, {
+ x: xPos,
+ y: 2.3,
+ w: 3.5,
+ fontSize: 18,
+ fontFace: "Arial",
+ bold: true,
+ color: "FAFAFA",
+ });
+
+ slide1.addText(p.desc, {
+ x: xPos,
+ y: 2.9,
+ w: 3.5,
+ fontSize: 11,
+ fontFace: "Arial",
+ color: "737373",
+ lineSpacing: 18,
+ });
+ });
+
+ // Bottom decorative line
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0.5,
+ y: 4.5,
+ w: 0.5,
+ h: 0.01,
+ fill: { color: "D4A574" },
+ });
+
+ slide1.addText("KEY INSIGHT", {
+ x: 0.5,
+ y: 4.7,
+ fontSize: 8,
+ fontFace: "Arial",
+ color: "525252",
+ charSpacing: 2,
+ });
+
+ slide1.addText("True growth happens when you master both the technical and the mental.", {
+ x: 0.5,
+ y: 4.95,
+ fontSize: 13,
+ fontFace: "Georgia",
+ color: "A3A3A3",
+ });
+
+ // Bottom line
+ slide1.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.48,
+ w: "100%",
+ h: 0.01,
+ fill: { color: "262626" },
+ });
+
+ slide1.addText("Ā© MindMaster 2025", {
+ x: 0.5,
+ y: 5.2,
+ fontSize: 9,
+ fontFace: "Arial",
+ color: "525252",
+ });
+
+ slide1.addText("A Dev Weekends Initiative", {
+ x: 10.2,
+ y: 5.2,
+ fontSize: 9,
+ fontFace: "Arial",
+ color: "525252",
+ });
+
+ // Slide 2 - Book/Talk Recommendation
+ const slide2 = pptx.addSlide();
+ slide2.background = { color: "0A0A0A" };
+
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 0,
+ w: 0.05,
+ h: "100%",
+ fill: { color: "D4A574" },
+ });
+
+ slide2.addText("MINDMASTER", {
+ x: 0.5,
+ y: 0.3,
+ fontSize: 10,
+ fontFace: "Arial",
+ color: "D4A574",
+ charSpacing: 6,
+ });
+
+ // Category
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0.5,
+ y: 0.9,
+ w: 1.8,
+ h: 0.25,
+ fill: { color: "1A1A1A" },
+ });
+
+ slide2.addText("BOOK OF THE WEEK", {
+ x: 0.6,
+ y: 0.93,
+ fontSize: 8,
+ fontFace: "Arial",
+ color: "D4A574",
+ charSpacing: 2,
+ });
+
+ // Book visual placeholder
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0.5,
+ y: 1.5,
+ w: 2.5,
+ h: 3.5,
+ fill: { color: "1A1A1A" },
+ line: { color: "262626", width: 1 },
+ });
+
+ slide2.addText("Book\nCover", {
+ x: 0.5,
+ y: 2.8,
+ w: 2.5,
+ fontSize: 14,
+ fontFace: "Arial",
+ color: "525252",
+ align: "center",
+ });
+
+ // Book details
+ slide2.addText("Deep Work", {
+ x: 3.5,
+ y: 1.5,
+ fontSize: 28,
+ fontFace: "Georgia",
+ color: "FAFAFA",
+ });
+
+ slide2.addText("by Cal Newport", {
+ x: 3.5,
+ y: 2.0,
+ fontSize: 14,
+ fontFace: "Arial",
+ color: "737373",
+ });
+
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 3.5,
+ y: 2.4,
+ w: 0.8,
+ h: 0.01,
+ fill: { color: "D4A574" },
+ });
+
+ slide2.addText(
+ "Rules for Focused Success in a Distracted World. A guide to cultivating deep work habits in an age of constant distraction and shallow tasks.",
+ {
+ x: 3.5,
+ y: 2.7,
+ w: 7,
+ fontSize: 13,
+ fontFace: "Arial",
+ color: "A3A3A3",
+ lineSpacing: 22,
+ }
+ );
+
+ // Key takeaways
+ slide2.addText("KEY TAKEAWAYS", {
+ x: 3.5,
+ y: 3.8,
+ fontSize: 9,
+ fontFace: "Arial",
+ color: "D4A574",
+ charSpacing: 2,
+ });
+
+ const takeaways = [
+ "Embrace boredom - resist the urge to switch tasks",
+ "Schedule deep work blocks religiously",
+ "Quit social media (or drastically limit it)",
+ ];
+
+ takeaways.forEach((t, i) => {
+ slide2.addText("⢠" + t, {
+ x: 3.5,
+ y: 4.1 + i * 0.35,
+ fontSize: 11,
+ fontFace: "Arial",
+ color: "737373",
+ });
+ });
+
+ // Bottom line
+ slide2.addShape(pptx.shapes.RECTANGLE, {
+ x: 0,
+ y: 5.48,
+ w: "100%",
+ h: 0.01,
+ fill: { color: "262626" },
+ });
+
+ return pptx.writeFile({ fileName: path.join(outputDir, "MindMaster-Template-2-Content.pptx") });
+}
+
+// ============================================
+// RUN ALL GENERATORS
+// ============================================
+async function generateAll() {
+ console.log("š Generating PowerPoint templates...\n");
+
+ try {
+ await createDWTemplate1();
+ console.log("ā
Created: DW-Template-1-Intro.pptx");
+
+ await createDWTemplate2();
+ console.log("ā
Created: DW-Template-2-Content.pptx");
+
+ await createDWTemplate3();
+ console.log("ā
Created: DW-Template-3-Stats.pptx");
+
+ await createMMTemplate1();
+ console.log("ā
Created: MindMaster-Template-1-Intro.pptx");
+
+ await createMMTemplate2();
+ console.log("ā
Created: MindMaster-Template-2-Content.pptx");
+
+ console.log("\nš All PowerPoint templates generated successfully!");
+ console.log(`š Output directory: ${outputDir}`);
+ } catch (error) {
+ console.error("ā Error generating templates:", error);
+ }
+}
+
+generateAll();