Auto-deploy: 2026-08-05 17:26:03

This commit is contained in:
Hamza-Ayed
2026-08-05 17:26:03 +03:00
parent 772d843817
commit 7fc37228cc
3 changed files with 115 additions and 41 deletions
+54 -19
View File
@@ -71,15 +71,21 @@ const PROFILE_DATA = {
// counts trail: a few thousand riders is a small number to anyone who knows
// this market, so it belongs in context (see achievementsAtAGlance) rather
// than as the first claim on the page.
// Each entry is a complete clause, not a label glued to a number. The earlier
// "<value> <label>" form produced ungrammatical fragments ("8 apps Built and
// launched across…") that read as broken to a human and parse poorly.
// `lead` is the scannable metric; `rest` completes the sentence.
//
// "across 2 platforms" (inherited from the master CV) is deliberately spelled
// out: models and recruiters both read it as "iOS and Android app stores"
// rather than "the Tripz and Intaleq platforms".
headlineMetrics: [
// "across 2 platforms" (inherited from the master CV) is ambiguous: models
// and recruiters both read it as "iOS and Android app stores" rather than
// "the Tripz and Intaleq platforms". Naming the two platforms removes a
// claim that was never made.
{ value: '8 apps', label: 'Built and launched across 2 ride-hailing platforms (Tripz, Intaleq)' },
{ value: '<4 months', label: 'Zero to live operations (Tripz, full ecosystem)' },
{ value: '$10K+/mo', label: 'Map infrastructure cost eliminated (~80% reduction)' },
{ value: '5,750+', label: 'Drivers onboarded across 2 markets' }
{ lead: '8 applications', rest: 'engineered and launched across 2 ride-hailing platforms (Tripz, Intaleq)' },
{ lead: 'Under 4 months', rest: 'from zero to live operations for the full Tripz ecosystem' },
// NOT "eliminated ... (~80% reduction)": a cost cannot be both removed
// entirely and reduced by a percentage. The spend was cut, not zeroed.
{ lead: '~80% lower', rest: 'third-party mapping API spend — over $10,000/month — via self-hosted infrastructure' },
{ lead: '5,750+ drivers', rest: 'onboarded across 2 markets' }
],
achievementsAtAGlance: [
@@ -95,16 +101,20 @@ const PROFILE_DATA = {
'Mobile & Architecture': [
'Flutter', 'Dart', 'GetX', 'Provider', 'Clean Architecture',
'Offline-First Design', 'REST APIs', 'State Management', 'Native Android (Java)',
'iOS / Android Release Management'
'iOS / Android Release Management', 'Firebase Cloud Messaging (FCM)',
'Push Notifications', 'Background Location Tracking'
],
// Named tools, not capability phrases. An ATS matches "GraphHopper", not
// "Routing Engines" — the generic wording was costing keyword matches on
// every geo-heavy posting.
'Real-Time & Geo Systems': [
'WebSockets', 'Real-Time Dispatching', 'Live Tracking', 'Self-Hosted Maps',
'Map Tiles', 'Polylines', 'Routing Engines', 'Geospatial Queries',
'High-Latency Network Optimization'
'WebSockets', 'Real-Time Dispatching', 'Live Tracking', 'GraphHopper',
'PostGIS', 'Martin (vector tile server)', 'OpenStreetMap (OSM)', 'MapLibre GL',
'Self-Hosted Map Tiles', 'Geospatial Queries', 'High-Latency Network Optimization'
],
'Backend & DevOps': [
'PHP', 'Laravel', 'MySQL', 'Docker', 'Linux', 'Nginx',
'CI/CD (Gitea)', 'Infrastructure Cost Optimization', 'Self-Hosted Infrastructure'
'PHP', 'Laravel', 'PostgreSQL', 'MySQL', 'Redis', 'Docker', 'Linux', 'Nginx',
'Git', 'CI/CD (Gitea)', 'Infrastructure Cost Optimization', 'Self-Hosted Infrastructure'
],
'Security & FinTech': [
'Payment Gateway Integration (7+ providers)', 'HMAC Security', 'RASP',
@@ -112,6 +122,24 @@ const PROFILE_DATA = {
]
},
// ── OPEN SLOT: engineering scale metrics ─────────────────────────────────
// Every number on this CV is commercial (riders, drivers, cost). None is an
// engineering number, which is the weakest point remaining in a profile that
// sells real-time systems expertise. Driver count does not demonstrate
// concurrency; concurrent connections do.
//
// Measure these on Intaleq, then paste ONE as a bullet on the Tripz or
// Intaleq role. Never estimate — an invented figure is the single easiest
// thing to get caught on in a systems interview:
// • peak concurrent WebSocket connections
// • location updates ingested per second (peak)
// • trips dispatched per day (peak)
// • p95 dispatch latency, driver ping to rider screen
//
// Template, once measured:
// 'Sustained N concurrent WebSocket connections and M location updates per
// second at peak, holding p95 dispatch latency under X ms on mobile
// networks averaging Y ms RTT.'
experience: [
{
company: 'Intaleq',
@@ -122,7 +150,7 @@ const PROFILE_DATA = {
// 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: 'Solely architected and 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', 'ownership', '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'] },
@@ -145,9 +173,12 @@ const PROFILE_DATA = {
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: 'Eliminated over $10,000/month in third-party mapping API spend (~80% reduction) by self-hosting map tiles, routing logic and polyline generation on dedicated servers.', tags: ['geo', 'cost', 'infrastructure'] },
// Solo delivery stated outright. Reviewers read the absence of team
// detail as a gap in leadership; naming it as sole ownership turns the
// same fact into the stronger signal it actually is.
{ text: 'Solely architected, 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', 'ownership', 'mobility', 'scale', 'flutter'] },
{ text: 'Designed the real-time dispatch and live tracking architecture on WebSockets with Redis-backed state, sustaining continuous driver location streams over high-latency MENA mobile networks.', tags: ['realtime', 'websockets', 'geo', 'architecture', 'scale'] },
{ text: 'Cut third-party mapping API spend by approximately 80% — over $10,000/month — 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'] },
@@ -224,6 +255,10 @@ const PROFILE_DATA = {
'Docker, Linux, Nginx, self-hosted CI/CD'
],
limitedIn: [
'NO formal people management: no direct reports, no hiring, no performance reviews. ' +
'Both platforms were architected and built SOLO. Leadership here is technical — ' +
'architecture ownership, end-to-end delivery, stakeholder alignment — never headcount. ' +
'Do not frame this profile for Engineering Manager roles.',
'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.',
@@ -270,7 +305,7 @@ function renderProfileText(p = PROFILE_DATA) {
lines.push('TARGET ROLES: ' + p.targetRoles.join(' | '));
lines.push('');
lines.push('HEADLINE METRICS:');
p.headlineMetrics.forEach(m => lines.push(`- ${m.value} — ${m.label}`));
p.headlineMetrics.forEach(m => lines.push(`- ${m.lead} ${m.rest}`));
lines.push('');
lines.push('AT A GLANCE:');
p.achievementsAtAGlance.forEach(a => lines.push(`- ${a}`));
+28 -2
View File
@@ -210,6 +210,14 @@ companies, enterprises, banks, agencies and government. This controls whether my
CV presents a past role as "Founding Mobile Architect" or "Lead Mobile Engineer" —
identical work, framed for the reader.
PEOPLE-MANAGEMENT RULE: both platforms were built solo. NEVER write "led a team",
"managed engineers", "mentored juniors", "grew the team" or any headcount claim —
there were no direct reports. Express leadership as sole ownership instead:
"solely architected", "owned end-to-end", "sole technical decision-maker",
"aligned architecture with business stakeholders". If the posting is an
Engineering Manager role requiring people management, say so in
"ats_keywords_missing" rather than manufacturing the experience.
CONSISTENCY RULE: when "is_founding_or_startup_role" is false, the words
"Founding" and "Founder" must NOT appear anywhere in "headline" or "summary"
either. Describe the same 0-to-1 ownership as "built and launched from zero" or
@@ -306,10 +314,28 @@ PROMPT;
// the title are identical either way.
$isFoundingContext = $integrityClean && !empty($ai['is_founding_or_startup_role']);
// "Core Focus" carries the job's exact wording and earns its place at the
// top. Repeating those same terms verbatim in the group lines below does
// NOT help ATS scoring — parsers score the document, and within-section
// repetition adds nothing — while it visibly reads as padding. So the group
// lines render as the remaining inventory, with the promoted terms removed.
$coreTokens = array_filter(array_map(
fn($s) => strtolower(trim($s)),
explode(',', $coreSkills)
));
$skillsBlock = '';
foreach ($profile['skills'] as $group => $items) {
$remaining = array_values(array_filter(
$items,
fn($item) => !in_array(strtolower(trim($item)), $coreTokens, true)
));
// A group emptied entirely by the promotion is already fully represented
// in Core Focus; printing an empty heading would just look broken.
if (empty($remaining)) continue;
$skillsBlock .= '<p class="skill-line"><span class="label">' . e($group) . ':</span> '
. e(implode(', ', $items)) . '</p>';
. e(implode(', ', $remaining)) . '</p>';
}
// Index the AI's per-role selections so we can fall back role-by-role.
@@ -366,7 +392,7 @@ PROMPT;
// bullets they cost four lines to say what one line says.
$metricParts = [];
foreach ($profile['headlineMetrics'] as $m) {
$metricParts[] = '<strong>' . e($m['value']) . '</strong> ' . e($m['label']);
$metricParts[] = '<strong>' . e($m['lead']) . '</strong> ' . e($m['rest']);
}
$achievements = '<p class="metrics">' . implode(' &nbsp;·&nbsp; ', $metricParts) . '</p>';
+33 -20
View File
File diff suppressed because one or more lines are too long