<div class="info">
<h3>📊 What's Included:</h3>
<ul>
<li><strong>25 Professional Slides</strong> covering all investor requirements</li>
<li><strong>Market Analysis:</strong> R18.5B opportunity, 6.8M youth target market</li>
<li><strong>Financial Projections:</strong> R900M funding ask, R2.1B Year 5 revenue</li>
<li><strong>Graduate Success Framework:</strong> Soft skills, mentorship, 85% placement</li>
<li><strong>Governance Structure:</strong> Multi-stakeholder board with industry/government</li>
<li><strong>Regulatory Compliance:</strong> Future SA and ICEESG alignment</li>
<li><strong>Competitive Analysis:</strong> Market positioning and advantages</li>
<li><strong>Implementation Roadmap:</strong> Clear milestones and timelines</li>
</ul>
</div>
<div class="logo-note">
<strong>📝 Note:</strong> After downloading, add your SHE Experience logo to the title slide and slide master in PowerPoint. The presentation uses pink/rose accent colors that will complement your branding.
</div>
<button id="generateBtn" onclick="generatePresentation()">
📥 Generate & Download PowerPoint
</button>
<div class="loading" id="loading">
Creating your presentation... This may take a moment.
</div>
</div>
<script>
async function generatePresentation() {
const btn = document.getElementById('generateBtn');
const loading = document.getElementById('loading');
btn.disabled = true;
loading.style.display = 'block';
try {
let pres = new PptxGenJS();
// Set presentation properties
pres.author = 'SIIG Holdings - FutureReadySA';
pres.company = 'SIIG Holdings';
pres.subject = 'FutureReadySA Investor Pitch Deck';
pres.title = 'FutureReadySA Investment Proposal';
// Define color scheme (SHE Experience pink/rose tones)
const colors = {
primary: 'E56399',
secondary: '2C3E50',
accent: 'D54D7C',
light: 'F8F9FA',
dark: '1A1A1A'
};
// Slide 1: Title Slide
let slide1 = pres.addSlide();
slide1.background = { color: colors.primary };
slide1.addText('FutureReadySA', {
x: 0.5, y: 1.5, w: 9, h: 1,
fontSize: 54, bold: true, color: 'FFFFFF', align: 'center'
});
slide1.addText('Building South Africa\'s Future Workforce', {
x: 0.5, y: 2.7, w: 9, h: 0.6,
fontSize: 28, color: 'FFFFFF', align: 'center'
});
slide1.addText('R900M Investment Opportunity', {
x: 0.5, y: 3.5, w: 9, h: 0.5,
fontSize: 22, color: 'FFFFFF', align: 'center'
});
slide1.addText('Powered by SIIG Holdings', {
x: 0.5, y: 4.2, w: 9, h: 0.4,
fontSize: 18, color: 'FFFFFF', align: 'center', italic: true
});
slide1.addText('[Add SHE Experience Logo Here]', {
x: 4, y: 5, w: 2, h: 0.4,
fontSize: 14, color: 'FFFFFF', align: 'center', italic: true
});
// Slide 2: The Crisis - Market Opportunity
let slide2 = pres.addSlide();
slide2.addText('The Unemployment Crisis: A R18.5B Market Opportunity', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide2.addText([
{ text: '• 6.8 million youth (18-35) unemployed or underemployed\n', options: { fontSize: 18, bullet: true } },
{ text: '• R45.2B total addressable market\n', options: { fontSize: 18, bullet: true } },
{ text: '• R18.5B serviceable addressable market\n', options: { fontSize: 18, bullet: true } },
{ text: '• 59.7% youth unemployment rate\n', options: { fontSize: 18, bullet: true } },
{ text: '• 2.3M jobs requiring future skills unfilled\n', options: { fontSize: 18, bullet: true } },
{ text: '• Government committed R8.4B annually to youth programs', options: { fontSize: 18, bullet: true } }
], {
x: 0.8, y: 1.5, w: 8.5, h: 4,
color: colors.dark
});
// Slide 3: Our Solution
let slide3 = pres.addSlide();
slide3.addText('Our Solution: The Complete Ecosystem Approach', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide3.addText([
{ text: '• End-to-end platform: Training → Placement → Career Development\n', options: { fontSize: 16 } },
{ text: '• QCTO-accredited programs in AI, Data Science, Cybersecurity, AgriTech\n', options: { fontSize: 16 } },
{ text: '• AI-powered job matching with 80%+ placement success\n', options: { fontSize: 16 } },
{ text: '• Comprehensive soft skills and mentorship programs\n', options: { fontSize: 16 } },
{ text: '• Township industry creation (cybersecurity firms, contact centers)\n', options: { fontSize: 16 } },
{ text: '• Digital platform connecting all stakeholders', options: { fontSize: 16 } }
], {
x: 0.8, y: 1.5, w: 8.5, h: 4,
color: colors.dark
});
// Slide 4: Graduate Success Framework
let slide4 = pres.addSlide();
slide4.addText('The Human Element: Graduate Success Framework', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 28, bold: true, color: colors.secondary
});
slide4.addText('Pre-Training Phase', {
x: 0.5, y: 1.3, w: 4, h: 0.4,
fontSize: 18, bold: true, color: colors.primary
});
slide4.addText('• Career assessments\n• Financial literacy\n• Mentor assignment', {
x: 0.5, y: 1.8, w: 4, h: 1.2,
fontSize: 14, color: colors.dark
});
slide4.addText('Training Phase', {
x: 5.5, y: 1.3, w: 4, h: 0.4,
fontSize: 18, bold: true, color: colors.primary
});
slide4.addText('• Technical skills\n• Soft skills (communication, leadership)\n• Workplace readiness', {
x: 5.5, y: 1.8, w: 4, h: 1.2,
fontSize: 14, color: colors.dark
});
slide4.addText('Post-Placement Support', {
x: 0.5, y: 3.3, w: 9, h: 0.4,
fontSize: 18, bold: true, color: colors.primary
});
slide4.addText('• 24-month career coaching\n• Alumni networks\n• Entrepreneurship support\n• 85% placement rate within 6 months', {
x: 0.5, y: 3.8, w: 9, h: 1.5,
fontSize: 14, color: colors.dark
});
// Slide 5: Measurable Impact
let slide5 = pres.addSlide();
slide5.addText('Measurable Impact: KPIs That Matter', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
const kpis = [
['Metric', 'Target'],
['Employment Rate', '85% within 6 months'],
['Employer Satisfaction', '95%'],
['Salary Increase', '40% within 24 months'],
['Career Progression', '60% promotion within 36 months'],
['Program Completion', '90% retention rate'],
['Long-term Success', '75% employed after 3 years']
];
slide5.addTable(kpis, {
x: 1, y: 1.5, w: 8, h: 3.5,
fontSize: 16,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
// Slide 6: Financial Projections
let slide6 = pres.addSlide();
slide6.addText('Financial Model: Path to R2.1B Revenue', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
const financials = [
['Year', 'Revenue', 'Registrations'],
['Year 1', 'R180M', '50,000'],
['Year 2', 'R497M', '200,000'],
['Year 3', 'R1.08B', '500,000'],
['Year 5', 'R2.1B', '2,000,000']
];
slide6.addTable(financials, {
x: 2, y: 1.5, w: 6, h: 2.5,
fontSize: 18,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark,
bold: true
});
slide6.addText('• Self-sustainability by Month 30\n• 18-22% IRR over 7 years\n• 4.2x revenue multiple by Year 5', {
x: 1.5, y: 4.3, w: 7, h: 1,
fontSize: 16, color: colors.dark
});
// Slide 7: Revenue Streams
let slide7 = pres.addSlide();
slide7.addText('Revenue Streams: Diversified Model', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
const revenue = [
['Revenue Stream', 'Year 5 Annual'],
['SETA-Funded Training', 'R900M'],
['Corporate Placement Fees', 'R180M'],
['Platform Subscriptions', 'R50M'],
['Industry Spin-offs', 'R420M'],
['Government Contracts', 'R150M'],
['Sponsorships', 'R30M'],
['TOTAL', 'R1.73B']
];
slide7.addTable(revenue, {
x: 1.5, y: 1.5, w: 7, h: 3.5,
fontSize: 16,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
// Slide 8: Governance Structure
let slide8 = pres.addSlide();
slide8.addText('Governance & Ownership: Built for Accountability', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 28, bold: true, color: colors.secondary
});
slide8.addText('Ownership Structure', {
x: 0.5, y: 1.3, w: 4.5, h: 0.4,
fontSize: 18, bold: true, color: colors.primary
});
slide8.addText('• SIIG Holdings: 51%\n• Strategic Partners: 25%\n• Employee Ownership: 15%\n• Community Trust: 9%', {
x: 0.5, y: 1.8, w: 4.5, h: 1.5,
fontSize: 14, color: colors.dark
});
slide8.addText('Board Composition (9 Members)', {
x: 5.5, y: 1.3, w: 4, h: 0.4,
fontSize: 18, bold: true, color: colors.primary
});
slide8.addText('• 3 Executive Directors\n• 2 Industry Representatives\n• 1 Government Representative\n• 1 Community Representative\n• 2 Specialist Directors', {
x: 5.5, y: 1.8, w: 4, h: 1.8,
fontSize: 14, color: colors.dark
});
// Slide 9: Regulatory Compliance
let slide9 = pres.addSlide();
slide9.addText('Regulatory Compliance: Ahead of the Curve', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide9.addText([
{ text: '• Skills Development Act full compliance\n', options: { fontSize: 16 } },
{ text: '• QCTO accreditation for quality assurance\n', options: { fontSize: 16 } },
{ text: '• POPIA compliance for data protection\n', options: { fontSize: 16 } },
{ text: '• Future SA legislative framework proactive alignment\n', options: { fontSize: 16 } },
{ text: '• ICEESG objectives integration:\n', options: { fontSize: 16, bold: true } },
{ text: ' - Integration, Coordination, Efficiency\n', options: { fontSize: 14, italic: true } },
{ text: ' - Effectiveness, Sustainability, Governance\n', options: { fontSize: 14, italic: true } },
{ text: '• Legal monitoring committee tracking regulations', options: { fontSize: 16 } }
], {
x: 0.8, y: 1.5, w: 8.5, h: 4,
color: colors.dark
});
// Slide 10: Leadership Team
let slide10 = pres.addSlide();
slide10.addText('Leadership Team: Experience That Delivers', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
const team = [
['Name', 'Role', 'Experience'],
['Sipho Mabuya', 'GCEO', '15+ years business dev'],
['Thabiso Meso', 'CTO', '12+ years technology'],
['Phoebe Nimmerhoudt', 'COO', '10+ years operations'],
['Advocate Lesego Oganne', 'CLO', 'Legal & international'],
['Nozuko Hlefane', 'Head of Coaching', 'Mentorship leadership'],
['Lindiwe Mataboge', 'Head AgriSETA', 'Township economy']
];
slide10.addTable(team, {
x: 0.8, y: 1.5, w: 8.5, h: 3.5,
fontSize: 14,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
// Slide 11: Funding Requirements
let slide11 = pres.addSlide();
slide11.addText('Funding Requirements: R900M Over 36 Months', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 28, bold: true, color: colors.secondary
});
const funding = [
['Tranche', 'Amount', 'Timeline', 'Purpose'],
['Tranche 1', 'R300M', 'Months 1-12', 'Platform dev, initial programs'],
['Tranche 2', 'R350M', 'Months 13-24', 'National expansion, tech scale'],
['Tranche 3', 'R250M', 'Months 25-36', 'International prep, spin-offs']
];
slide11.addTable(funding, {
x: 0.8, y: 1.5, w: 8.5, h: 2,
fontSize: 14,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
slide11.addText('Tranches tied to performance milestones\nQuarterly board reporting and governance oversight', {
x: 1, y: 4, w: 8, h: 1,
fontSize: 16, color: colors.dark, italic: true, align: 'center'
});
// Slide 12: Funding Mix
let slide12 = pres.addSlide();
slide12.addText('Funding Mix: Blended Capital Approach', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
const fundingMix = [
['Investor Type', 'Percentage', 'Amount'],
['Development Finance (IDC, DBSA, NEF)', '40%', 'R360M'],
['Corporate Partners (CSI/ESG)', '35%', 'R315M'],
['Government Co-investment', '15%', 'R135M'],
['Impact Investors', '10%', 'R90M']
];
slide12.addTable(fundingMix, {
x: 1, y: 1.5, w: 8, h: 2.5,
fontSize: 16,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
slide12.addText('Diversified cap table with no single investor exceeding 20%', {
x: 1, y: 4.3, w: 8, h: 0.5,
fontSize: 14, color: colors.dark, italic: true, align: 'center'
});
// Slide 13: Competitive Positioning
let slide13 = pres.addSlide();
slide13.addText('Competitive Positioning: Why We Win', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide13.addText([
{ text: '✓ Only comprehensive township economy integration platform\n', options: { fontSize: 16, bold: true } },
{ text: '✓ Government endorsement providing market access\n', options: { fontSize: 16, bold: true } },
{ text: '✓ R50M+ technology moat difficult to replicate\n', options: { fontSize: 16, bold: true } },
{ text: '✓ Soft skills focus differentiating from technical-only providers\n', options: { fontSize: 16, bold: true } },
{ text: '✓ Multi-sector approach vs. narrow focus competitors\n', options: { fontSize: 16, bold: true } },
{ text: '✓ First-mover advantage in township industry creation', options: { fontSize: 16, bold: true } }
], {
x: 0.8, y: 1.5, w: 8.5, h: 4,
color: colors.primary
});
// Slide 14: Implementation Roadmap
let slide14 = pres.addSlide();
slide14.addText('Implementation Roadmap: Clear Milestones', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide14.addText('Phase 1: Foundation (Months 1-12)', {
x: 0.5, y: 1.3, w: 9, h: 0.4,
fontSize: 16, bold: true, color: colors.primary
});
slide14.addText('Governance, platform enhancement, 10 corporate partnerships, 50K graduates', {
x: 0.5, y: 1.7, w: 9, h: 0.5,
fontSize: 14, color: colors.dark
});
slide14.addText('Phase 2: Scale (Months 13-36)', {
x: 0.5, y: 2.5, w: 9, h: 0.4,
fontSize: 16, bold: true, color: colors.primary
});
slide14.addText('National rollout, SETA integration, government partnerships, 500K graduates', {
x: 0.5, y: 2.9, w: 9, h: 0.5,
fontSize: 14, color: colors.dark
});
slide14.addText('Phase 3: Optimize (Months 37-60)', {
x: 0.5, y: 3.7, w: 9, h: 0.4,
fontSize: 16, bold: true, color: colors.primary
});
slide14.addText('International launch, industry spin-offs operational, 2M graduates', {
x: 0.5, y: 4.1, w: 9, h: 0.5,
fontSize: 14, color: colors.dark
});
// Slide 15: Social Impact
let slide15 = pres.addSlide();
slide15.addText('Social Impact: Beyond Financial Returns', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
const impact = [
['Impact Metric', 'Target by Year 5'],
['Youth Trained & Employed', '400,000'],
['Economic Activity Generated', 'R2.1B annually'],
['Township Jobs Created', '25,000 annually'],
['Household Income Improvement', '85% increase'],
['Food Security Reach', '50,000 residents'],
['Female Empowerment Focus', 'SHE Experience partnership']
];
slide15.addTable(impact, {
x: 1, y: 1.5, w: 8, h: 3.5,
fontSize: 14,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
// Slide 16: Strategic Partnerships
let slide16 = pres.addSlide();
slide16.addText('Strategic Partnerships & Market Access', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide16.addText('Government\n• Mogale City LED endorsement\n• Township Economy Development Act alignment\n\nSETAs\n• AgriSETA, Services SETA, Manufacturing SETA\n\nCorporates\n• 10 major corporations (banking, mining, tech)\n\nCivil Society\n• 15+ NGO partnerships', {
x: 0.8, y: 1.5, w: 8.5, h: 4,
fontSize: 16, color: colors.dark
});
// Slide 17: Technology Platform
let slide17 = pres.addSlide();
slide17.addText('Technology Advantage: AI-Powered Matching', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide17.addText([
{ text: '• Custom LMS platform with KPI Technologies\n', options: { fontSize: 16 } },
{ text: '• AI-powered skills-to-jobs matching (80%+ accuracy)\n', options: { fontSize: 16 } },
{ text: '• Real-time employer dashboard and tracking\n', options: { fontSize: 16 } },
{ text: '• Mobile-first design (85% market reach)\n', options: { fontSize: 16 } },
{ text: '• Blockchain-verified certifications\n', options: { fontSize: 16 } },
{ text: '• Scalable to 10M users\n', options: { fontSize: 16 } },
{ text: '• R150M technology investment creates competitive moat', options: { fontSize: 16, bold: true } }
], {
x: 0.8, y: 1.5, w: 8.5, h: 4,
color: colors.dark
});
// Slide 18: Market Segmentation
let slide18 = pres.addSlide();
slide18.addText('Target Market Segmentation', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
const markets = [
['Market Segment', 'Size', 'Value Proposition'],
['Youth (18-35)', '6.8M', 'Free training + job placement'],
['Corporates & SOEs', '850 large', 'Ready workforce + ESG impact'],
['Government Entities', '686 municipalities', 'Policy alignment + capacity']
];
slide18.addTable(markets, {
x: 0.8, y: 1.5, w: 8.5, h: 2,
fontSize: 14,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
slide18.addText('Total Addressable Market: R45.2B\nServiceable Addressable Market: R18.5B', {
x: 1, y: 4, w: 8, h: 0.8,
fontSize: 18, color: colors.primary, bold: true, align: 'center'
});
// Slide 19: Risk Mitigation
let slide19 = pres.addSlide();
slide19.addText('Risk Factors & Mitigation Strategies', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
const risks = [
['Risk', 'Mitigation Strategy'],
['Regulatory changes', 'Proactive compliance, legal monitoring'],
['Economic downturn', 'Diversified revenue, government focus'],
['Technology scaling', 'Proven architecture, phased investment'],
['Competition entry', 'First-mover advantages, partnerships'],
['Revenue shortfalls', 'Conservative projections, break-even analysis']
];
slide19.addTable(risks, {
x: 1, y: 1.5, w: 8, h: 3,
fontSize: 14,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
// Slide 20: Why Invest Now
let slide20 = pres.addSlide();
slide20.addText('Why Invest Now: Timing Is Critical', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide20.addText([
{ text: '⏰ Youth unemployment crisis worsening (59.7%)\n', options: { fontSize: 18, bold: true } },
{ text: '📋 Government policy window open with Township Economy Act\n', options: { fontSize: 18, bold: true } },
{ text: '💼 Corporate ESG investment growing 12% annually\n', options: { fontSize: 18, bold: true } },
{ text: '🏆 First-mover advantage in township industry creation\n', options: { fontSize: 18, bold: true } },
{ text: '💻 Technology moat takes 18-24 months to replicate\n', options: { fontSize: 18, bold: true } },
{ text: '✅ Pilot success proven - execution risk minimized', options: { fontSize: 18, bold: true } }
], {
x: 0.8, y: 1.5, w: 8.5, h: 4,
color: colors.primary
});
// Slide 21: Investment Highlights
let slide21 = pres.addSlide();
slide21.addText('Investment Highlights: Why FutureReadySA', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 32, bold: true, color: colors.secondary
});
slide21.addShape(pres.ShapeType.rect, {
x: 0.5, y: 1.5, w: 4, h: 1.2,
fill: { color: colors.primary }
});
slide21.addText('Massive Market\n6.8M youth\nR18.5B addressable', {
x: 0.5, y: 1.6, w: 4, h: 1,
fontSize: 16, bold: true, color: 'FFFFFF', align: 'center', valign: 'middle'
});
slide21.addShape(pres.ShapeType.rect, {
x: 5, y: 1.5, w: 4.5, h: 1.2,
fill: { color: colors.primary }
});
slide21.addText('Unique Solution\nTownship ecosystem\nGovernment endorsed', {
x: 5, y: 1.6, w: 4.5, h: 1,
fontSize: 16, bold: true, color: 'FFFFFF', align: 'center', valign: 'middle'
});
slide21.addShape(pres.ShapeType.rect, {
x: 0.5, y: 3, w: 4, h: 1.2,
fill: { color: colors.accent }
});
slide21.addText('Attractive Returns\n18-22% IRR\n4.2x revenue multiple', {
x: 0.5, y: 3.1, w: 4, h: 1,
fontSize: 16, bold: true, color: 'FFFFFF', align: 'center', valign: 'middle'
});
slide21.addShape(pres.ShapeType.rect, {
x: 5, y: 3, w: 4.5, h: 1.2,
fill: { color: colors.accent }
});
slide21.addText('Transformational Impact\n400K lives transformed\nR2.1B economic activity', {
x: 5, y: 3.1, w: 4.5, h: 1,
fontSize: 16, bold: true, color: 'FFFFFF', align: 'center', valign: 'middle'
});
// Slide 22: Call to Action
let slide22 = pres.addSlide();
slide22.background = { color: colors.primary };
slide22.addText('Partner With Us', {
x: 0.5, y: 1.5, w: 9, h: 1,
fontSize: 48, bold: true, color: 'FFFFFF', align: 'center'
});
slide22.addText('Investment committee presentations available\nDue diligence timeline: 45-60 days\nInitial tranche closes Q2 2025', {
x: 0.5, y: 2.8, w: 9, h: 1.2,
fontSize: 20, color: 'FFFFFF', align: 'center'
});
slide22.addText('Contact:\nSipho Mabuya\nsipho@siigholdings.co.za\nwww.futurereadysa.co.za', {
x: 0.5, y: 4.3, w: 9, h: 1,
fontSize: 18, color: 'FFFFFF', align: 'center', bold: true
});
// Slide 23: Appendix - Financial Detail
let slide23 = pres.addSlide();
slide23.addText('APPENDIX: Financial Model Detail', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 28, bold: true, color: colors.secondary
});
const financialDetail = [
['', 'Year 1', 'Year 2', 'Year 3', 'Year 5'],
['Revenue', 'R180M', 'R497M', 'R1.08B', 'R2.1B'],
['Costs', 'R171M', 'R437M', 'R972M', 'R1.79B'],
['Margin', '5%', '12%', '10%', '15%'],
['Profit', 'R9M', 'R60M', 'R108M', 'R315M']
];
slide23.addTable(financialDetail, {
x: 1, y: 1.5, w: 8, h: 2.5,
fontSize: 14,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
slide23.addText('Conservative projections with 15% contingency buffer\nFull financial model available for due diligence', {
x: 1, y: 4.3, w: 8, h: 0.6,
fontSize: 14, color: colors.dark, italic: true, align: 'center'
});
// Slide 24: Appendix - Competitive Analysis
let slide24 = pres.addSlide();
slide24.addText('APPENDIX: Competitive Analysis', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 28, bold: true, color: colors.secondary
});
const competitors = [
['Competitor', 'Strength', 'Our Advantage'],
['WeThinkCode', 'Coding focus', 'Broader skills + township integration'],
['UCT Online', 'Brand recognition', 'Job placement + affordability'],
['Microsoft Programs', 'Global platform', 'Local context + comprehensive support'],
['Universities', 'Credibility', 'Faster path + practical skills'],
['SETA Providers', 'Government funding', 'Integrated platform + better outcomes']
];
slide24.addTable(competitors, {
x: 0.5, y: 1.5, w: 9, h: 3,
fontSize: 12,
border: { pt: 1, color: colors.secondary },
fill: { color: colors.light },
color: colors.dark
});
// Slide 25: Appendix - Three Pillars Detail
let slide25 = pres.addSlide();
slide25.addText('APPENDIX: Three Pillars Deep Dive', {
x: 0.5, y: 0.5, w: 9, h: 0.6,
fontSize: 28, bold: true, color: colors.secondary
});
slide25.addText('Pillar 1: Skills Development', {
x: 0.5, y: 1.3, w: 9, h: 0.4,
fontSize: 16, bold: true, color: colors.primary
});
slide25.addText('• Accredited training via SETA partnerships\n• Soft skills: communication, leadership, problem-solving\n• Industry-relevant curriculum co-developed with corporates', {
x: 0.5, y: 1.7, w: 9, h: 0.9,
fontSize: 12, color: colors.dark
});
slide25.addText('Pillar 2: Employment Pathways', {
x: 0.5, y: 2.8, w: 9, h: 0.4,
fontSize: 16, bold: true, color: colors.primary
});
slide25.addText('• Corporate partnerships for direct hiring\n• Government sector placement programs\n• Entrepreneurship support for business creation', {
x: 0.5, y: 3.2, w: 9, h: 0.9,
fontSize: 12, color: colors.dark
});
slide25.addText('Pillar 3: Township Economy', {
x: 0.5, y: 4.3, w: 9, h: 0.4,
fontSize: 16, bold: true, color: colors.primary
});
slide25.addText('• Local industry creation (cybersecurity firms, contact centers)\n• Mogale City farms integration feeding townships\n• Community wealth building and economic empowerment', {
x: 0.5, y: 4.7, w: 9, h: 0.9,
fontSize: 12, color: colors.dark
});
// Save presentation
pres.writeFile({ fileName: 'FutureReadySA_Investor_Presentation.pptx' });
loading.style.display = 'none';
btn.disabled = false;
btn.textContent = '✅ Download Complete! Click to Generate Again';
} catch (error) {
console.error('Error generating presentation:', error);
alert('Error generating presentation. Please try again.');
loading.style.display = 'none';
btn.disabled = false;
}
}
</script>
FutureReadySA Investor Presentation
Comprehensive PowerPoint Pitch Deck Generator