265 lines
13 KiB
JavaScript
265 lines
13 KiB
JavaScript
// profile_data.js — SINGLE SOURCE OF TRUTH
|
||
// ============================================================================
|
||
// Every prompt, CV, cover letter and comment in this extension derives from
|
||
// this file. Nothing else may hardcode job titles, metrics, dates or contacts.
|
||
//
|
||
// Synced from: cvs/ATS-safe résumé template.pdf (master CV).
|
||
// If the master CV changes, change THIS file — then nothing else needs editing.
|
||
// A mirror copy lives at server/profile.json for the PHP backend.
|
||
// ============================================================================
|
||
|
||
const PROFILE_DATA = {
|
||
identity: {
|
||
fullName: 'Hamza Ayed',
|
||
primaryTitle: 'Senior Mobile Architect',
|
||
positioningLine: 'Ride-Hailing & Real-Time Systems · FinTech in Emerging Markets',
|
||
location: 'Amman, Jordan',
|
||
phone: '+962 798 583 052',
|
||
email: 'hamzaayedflutter@gmail.com',
|
||
linkedin: 'linkedin.com/in/hamza-ayed',
|
||
portfolio: 'intaleqapp.com/hamza.html',
|
||
productSite: 'tripz-egypt.com',
|
||
languages: 'Arabic (Native), English (Professional Working Proficiency)',
|
||
availability: 'Available immediately. Open to Remote, Hybrid and Relocation (GCC / MENA / Europe).'
|
||
},
|
||
|
||
// Titles the CV/headline generator is ALLOWED to use. Anything outside this
|
||
// list is a fabrication risk — see integrity rules in prompts.js.
|
||
allowedTitles: [
|
||
'Senior Mobile Architect',
|
||
'Senior Mobile Engineer',
|
||
'Lead Mobile Engineer',
|
||
'Senior Flutter Developer',
|
||
'Lead Flutter Engineer',
|
||
'Mobile Technical Lead',
|
||
'Founding Engineer (Mobile)',
|
||
'Senior Software Engineer (Mobile)'
|
||
],
|
||
|
||
// Titles that would overstate or misrepresent the record.
|
||
forbiddenTitles: [
|
||
'CTO',
|
||
'Solutions Architect',
|
||
'Senior AI Developer',
|
||
'Machine Learning Engineer',
|
||
'Data Scientist',
|
||
'DevOps Architect',
|
||
'Engineering Manager'
|
||
],
|
||
|
||
summary:
|
||
'Senior Mobile Architect and Founding Engineer with proven experience building and launching two ' +
|
||
'production-grade ride-hailing platforms (Tripz — Egypt, Intaleq — Syria) from zero to live operations. ' +
|
||
'Designed and delivered full mobility ecosystems including Rider, Driver, Admin and Customer Support ' +
|
||
'applications, along with backend APIs, security layers, DevOps pipelines and fintech integrations. ' +
|
||
'Specialized in real-time systems, self-hosted geo-services, high-latency optimization and ' +
|
||
'infrastructure cost reduction.',
|
||
|
||
targetRoles: [
|
||
'Senior / Lead Mobile Engineer',
|
||
'Mobile Architect',
|
||
'Founding Engineer (Mobility, Logistics, FinTech)'
|
||
],
|
||
|
||
// Headline metrics — these are the numbers that carry the CV.
|
||
headlineMetrics: [
|
||
{ value: '5,275', label: 'Riders acquired across 2 launches' },
|
||
{ value: '5,750+', label: 'Drivers onboarded' },
|
||
{ value: '~80%', label: 'Map infrastructure cost cut' },
|
||
{ value: '8 apps', label: 'Shipped across 2 platforms' }
|
||
],
|
||
|
||
achievementsAtAGlance: [
|
||
'Tripz (Egypt): Scaled platform to 2,464 riders and 4,318 drivers. Built and launched 4 distinct apps ' +
|
||
'plus full backend in under 4 months with near-zero map infrastructure cost.',
|
||
'Intaleq (Syria): Acquired 2,811 riders and 1,440 drivers in the first 2 months. Engineered a custom ' +
|
||
'operational payment layer to bypass API limitations in a highly constrained market.'
|
||
],
|
||
|
||
// Grouped exactly as the master CV groups them. The ATS keyword selector may
|
||
// only choose from these values.
|
||
skills: {
|
||
'Mobile & Architecture': [
|
||
'Flutter', 'Dart', 'GetX', 'Provider', 'Clean Architecture',
|
||
'Offline-First Design', 'REST APIs', 'State Management', 'Native Android (Java)',
|
||
'iOS / Android Release Management'
|
||
],
|
||
'Real-Time & Geo Systems': [
|
||
'WebSockets', 'Real-Time Dispatching', 'Live Tracking', 'Self-Hosted Maps',
|
||
'Map Tiles', 'Polylines', 'Routing Engines', 'Geospatial Queries',
|
||
'High-Latency Network Optimization'
|
||
],
|
||
'Backend & DevOps': [
|
||
'PHP', 'Laravel', 'MySQL', 'Docker', 'Linux', 'Nginx',
|
||
'CI/CD (Gitea)', 'Infrastructure Cost Optimization', 'Self-Hosted Infrastructure'
|
||
],
|
||
'Security & FinTech': [
|
||
'Payment Gateway Integration (7+ providers)', 'HMAC Security', 'RASP',
|
||
'Fake GPS Detection', 'Anti-Tampering', 'KYC Automation'
|
||
]
|
||
},
|
||
|
||
experience: [
|
||
{
|
||
company: 'Intaleq',
|
||
title: 'Senior Mobile Systems Architect',
|
||
location: 'MENA Region (Remote)',
|
||
start: 'Jan 2025',
|
||
end: 'Present',
|
||
// Tagged so the tailoring engine can pick the 3-4 most job-relevant
|
||
// bullets instead of always printing the same ones.
|
||
bullets: [
|
||
{ text: 'Launched a ride-hailing platform in a high-constraint market (Syria), reaching 2,811 riders and 1,440 drivers within the first two months.', tags: ['leadership', 'delivery', 'mobility', 'scale'] },
|
||
{ text: 'Designed and implemented Rider, Driver, Admin and Customer Support applications.', tags: ['mobile', 'flutter', 'architecture'] },
|
||
{ text: 'Built a custom payment helper application to integrate legacy, non-API local payment gateways, enabling reliable driver balance top-ups despite infrastructure limitations.', tags: ['fintech', 'payments', 'integration'] },
|
||
{ text: 'Leveraged fully self-hosted map tiles and routing engines to eliminate dependency on expensive third-party mapping APIs, keeping operational costs near zero.', tags: ['geo', 'cost', 'infrastructure'] },
|
||
{ text: 'Designed an offline-first caching mechanism ensuring data integrity and uninterrupted driver–rider interactions during unstable network conditions.', tags: ['mobile', 'offline', 'reliability'] },
|
||
{ text: 'Optimized deployment cycles by 40% through a secure, self-hosted CI/CD pipeline using Gitea, ensuring data sovereignty and rapid release efficiency.', tags: ['devops', 'cicd', 'security'] }
|
||
]
|
||
},
|
||
{
|
||
company: 'Tripz',
|
||
title: 'Founding Mobile Architect',
|
||
location: 'Cairo, Egypt (Remote)',
|
||
start: 'Jan 2024',
|
||
end: 'Dec 2024',
|
||
bullets: [
|
||
{ text: 'Built and launched a complete ride-hailing ecosystem (Rider, Driver, Admin, Customer Support apps plus backend API) in under four months, scaling to 2,464 riders and 4,318 drivers.', tags: ['delivery', 'leadership', 'mobility', 'scale', 'flutter'] },
|
||
{ text: 'Designed real-time dispatch and live tracking using WebSockets, optimized for high-latency MENA network environments.', tags: ['realtime', 'websockets', 'geo'] },
|
||
{ text: 'Reduced map infrastructure expenses by approximately 80% versus third-party API pricing by self-hosting map tiles, routing logic and polyline generation on dedicated servers.', tags: ['geo', 'cost', 'infrastructure'] },
|
||
{ text: 'Replaced traditional call-center hardware by engineering a secure, mobile-first Customer Support application, enabling support agents to operate entirely remotely.', tags: ['mobile', 'product', 'cost'] },
|
||
{ text: 'Automated driver onboarding through AI-powered KYC integration, reducing manual review time and minimizing fraudulent registrations.', tags: ['ai', 'automation', 'fintech', 'security'] },
|
||
{ text: 'Implemented API-level HMAC security, anti-tampering mechanisms and Fake GPS detection to protect geo-spatial and financial data.', tags: ['security', 'geo', 'fintech'] },
|
||
{ text: 'Collaborated closely with business stakeholders and operations teams to align product and architecture decisions with on-the-ground market realities.', tags: ['leadership', 'product', 'communication'] }
|
||
]
|
||
},
|
||
{
|
||
company: 'Global Tech Projects',
|
||
title: 'Lead Mobile Engineer (Flutter / Native)',
|
||
location: 'Freelance / Consultant',
|
||
start: 'Jan 2017',
|
||
end: 'Dec 2023',
|
||
bullets: [
|
||
{ text: 'Delivered 30+ production-grade mobile applications across e-commerce, delivery, healthcare and news sectors, acting as technical decision-maker for early-stage clients.', tags: ['delivery', 'leadership', 'mobile', 'scale'] },
|
||
{ text: 'Migrated legacy Android (Java) applications to Flutter, cutting maintenance complexity and delivery timelines by roughly 50%.', tags: ['flutter', 'migration', 'mobile'] },
|
||
{ text: 'Built custom Flutter plugins and tailored API layers to integrate with complex legacy backend systems.', tags: ['flutter', 'integration', 'architecture'] }
|
||
]
|
||
}
|
||
],
|
||
|
||
education: {
|
||
degree: 'BSc Mathematics',
|
||
institution: "Mu'tah University, Jordan",
|
||
note: 'Applied mathematical foundations to state-machine design and geo-spatial routing.'
|
||
},
|
||
|
||
certifications: [
|
||
'IBM Data Analyst Professional Certificate',
|
||
'Google Data Analytics Professional Certificate',
|
||
'IBM Data Analytics with Excel and R Specialization'
|
||
],
|
||
|
||
// ── Honest capability boundaries ──────────────────────────────────────────
|
||
// Used to stop the model inventing experience. Keep this brutally accurate:
|
||
// it is the difference between a CV that survives a technical screen and one
|
||
// that does not.
|
||
boundaries: {
|
||
strongIn: [
|
||
'Flutter / Dart mobile architecture at production scale',
|
||
'Real-time systems: WebSockets, dispatching, live tracking',
|
||
'Self-hosted geo infrastructure: tiles, routing, polylines',
|
||
'Payment gateway integration and constrained-market fintech workarounds',
|
||
'Mobile-layer security: HMAC, anti-tampering, Fake GPS detection',
|
||
'PHP / Laravel / MySQL backend supporting mobile products',
|
||
'Docker, Linux, Nginx, self-hosted CI/CD'
|
||
],
|
||
limitedIn: [
|
||
'AI is limited to INTEGRATING third-party vision/LLM APIs (KYC automation, Gemini API). ' +
|
||
'No model training, no MLOps, no deep learning research.',
|
||
'Cloud experience is self-hosted/VPS-centric — not deep AWS/GCP/Azure managed-service experience.',
|
||
'No Kubernetes in production.',
|
||
'No native Swift/SwiftUI or Kotlin-first development — Flutter is the primary mobile path.',
|
||
'No data engineering (Spark, Hadoop, Airflow, warehouses).'
|
||
],
|
||
neverClaim: [
|
||
'TensorFlow', 'PyTorch', 'Scikit-learn', 'Spark', 'Hadoop', 'Kubernetes',
|
||
'MLOps', 'model training', 'NLP research', 'Swift', 'SwiftUI', 'Kotlin Multiplatform',
|
||
'blockchain', 'Salesforce', 'SAP'
|
||
]
|
||
},
|
||
|
||
// Voice rules — applied to cover letters, LinkedIn comments and posts.
|
||
voice: {
|
||
tone: 'Operator-level, calm, direct, evidence-first. Writes like someone who has shipped, not someone selling.',
|
||
banned: [
|
||
'I am writing to apply', 'I leverage my expertise', 'passionate about',
|
||
'proven track record', 'dynamic environment', 'synergy', 'game-changer',
|
||
'disruptive', 'serving millions', 'in the digital age', 'Great post',
|
||
'Well said', 'Couldn\'t agree more', 'This resonates',
|
||
'في العصر الرقمي', 'مما لا شك فيه', 'ختاماً', 'يعد من أهم'
|
||
],
|
||
neverMention: [
|
||
'military history or background',
|
||
'sanctions or politically sensitive framing of the Syria market',
|
||
'exact client names under NDA'
|
||
]
|
||
}
|
||
};
|
||
|
||
// Renders the structured profile into the plain-text block that prompts consume.
|
||
function renderProfileText(p = PROFILE_DATA) {
|
||
const id = p.identity;
|
||
const lines = [];
|
||
|
||
lines.push(`${id.fullName.toUpperCase()} — ${id.primaryTitle}`);
|
||
lines.push(id.positioningLine);
|
||
lines.push('');
|
||
lines.push('SUMMARY:');
|
||
lines.push(p.summary);
|
||
lines.push('');
|
||
lines.push('TARGET ROLES: ' + p.targetRoles.join(' | '));
|
||
lines.push('');
|
||
lines.push('HEADLINE METRICS:');
|
||
p.headlineMetrics.forEach(m => lines.push(`- ${m.value} — ${m.label}`));
|
||
lines.push('');
|
||
lines.push('AT A GLANCE:');
|
||
p.achievementsAtAGlance.forEach(a => lines.push(`- ${a}`));
|
||
lines.push('');
|
||
lines.push('TECHNICAL SKILLS:');
|
||
Object.entries(p.skills).forEach(([group, items]) => {
|
||
lines.push(`- ${group}: ${items.join(', ')}`);
|
||
});
|
||
lines.push('');
|
||
lines.push('EXPERIENCE:');
|
||
p.experience.forEach(job => {
|
||
lines.push(`- ${job.title} — ${job.company} | ${job.start} – ${job.end} | ${job.location}`);
|
||
job.bullets.forEach(b => lines.push(` • ${b.text}`));
|
||
});
|
||
lines.push('');
|
||
lines.push('EDUCATION:');
|
||
lines.push(`- ${p.education.degree}, ${p.education.institution}. ${p.education.note}`);
|
||
p.certifications.forEach(c => lines.push(`- ${c}`));
|
||
lines.push('');
|
||
lines.push('CAPABILITY BOUNDARIES (do not overstate):');
|
||
lines.push(' STRONG IN:');
|
||
p.boundaries.strongIn.forEach(s => lines.push(` + ${s}`));
|
||
lines.push(' LIMITED / NOT EXPERIENCED IN:');
|
||
p.boundaries.limitedIn.forEach(s => lines.push(` - ${s}`));
|
||
lines.push(' NEVER CLAIM: ' + p.boundaries.neverClaim.join(', '));
|
||
lines.push('');
|
||
lines.push(`LANGUAGES: ${id.languages}`);
|
||
lines.push(`LOCATION: ${id.location} — ${id.availability}`);
|
||
lines.push(`CONTACT: ${id.email} | ${id.phone} | ${id.linkedin} | ${id.portfolio}`);
|
||
|
||
return lines.join('\n');
|
||
}
|
||
|
||
// Flat list of every legitimate skill token, for ATS keyword matching.
|
||
function allSkillTokens(p = PROFILE_DATA) {
|
||
return Object.values(p.skills).flat();
|
||
}
|
||
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
module.exports = { PROFILE_DATA, renderProfileText, allSkillTokens };
|
||
}
|