Auto-deploy: 2026-08-06 00:07:54

This commit is contained in:
Hamza-Ayed
2026-08-06 00:07:54 +03:00
parent 1fe694a23b
commit 71359deb75
3 changed files with 50 additions and 15 deletions
+26 -3
View File
@@ -970,7 +970,7 @@
} }
async function scanJobList() { async function scanJobList() {
const listItems = document.querySelectorAll('.jobs-search-results__list-item, .job-card-container'); const listItems = document.querySelectorAll('.jobs-search-results__list-item, .job-card-container, [componentkey^="job-card-component-ref"], [data-job-id]');
if (!listItems.length) { if (!listItems.length) {
alert('No job items found on this page. Scroll down to load them.'); alert('No job items found on this page. Scroll down to load them.');
return; return;
@@ -978,13 +978,36 @@
const jobsToScan = []; const jobsToScan = [];
listItems.forEach((item, index) => { listItems.forEach((item, index) => {
let title = '';
let company = '';
const titleEl = item.querySelector('.job-card-list__title, .artdeco-entity-lockup__title'); const titleEl = item.querySelector('.job-card-list__title, .artdeco-entity-lockup__title');
const companyEl = item.querySelector('.job-card-container__primary-description, .artdeco-entity-lockup__subtitle'); const companyEl = item.querySelector('.job-card-container__primary-description, .artdeco-entity-lockup__subtitle');
if (titleEl && companyEl) { if (titleEl && companyEl) {
title = titleEl.textContent;
company = companyEl.textContent;
} else {
// Fallback for obfuscated classes: use innerText
const textContent = item.innerText || '';
const lines = textContent.split('\n')
.map(t => t.trim())
.filter(t => t.length > 0 && !t.includes('promoted jobs are ranked') && !t.includes('Actively reviewing'));
let startIndex = 0;
if (lines[0] === 'Promoted') startIndex = 1;
if (lines.length >= startIndex + 2) {
title = lines[startIndex].replace(/\(Verified job\)/i, '').trim();
company = lines[startIndex + 1];
}
}
if (title && company) {
jobsToScan.push({ jobsToScan.push({
index: index, index: index,
title: titleEl.textContent.trim().replace(/\n/g, ''), title: title.replace(/\n/g, ''),
company: companyEl.textContent.trim().replace(/\n/g, ''), company: company.replace(/\n/g, ''),
element: item element: item
}); });
} }
+10 -6
View File
@@ -34,13 +34,14 @@ const PROFILE_DATA = {
'Lead Flutter Engineer', 'Lead Flutter Engineer',
'Mobile Technical Lead', 'Mobile Technical Lead',
'Founding Engineer (Mobile)', 'Founding Engineer (Mobile)',
'Senior Software Engineer (Mobile)' 'Senior Software Engineer (Mobile)',
'Senior Backend Engineer',
'Senior Full Stack Engineer'
], ],
// Titles that would overstate or misrepresent the record. // Titles that would overstate or misrepresent the record.
forbiddenTitles: [ forbiddenTitles: [
'CTO', 'CTO',
'Solutions Architect',
'Senior AI Developer', 'Senior AI Developer',
'Machine Learning Engineer', 'Machine Learning Engineer',
'Data Scientist', 'Data Scientist',
@@ -53,17 +54,19 @@ const PROFILE_DATA = {
// contradicts the standard (non-startup) title framing when this text is used // contradicts the standard (non-startup) title framing when this text is used
// as the fallback summary. // as the fallback summary.
summary: summary:
'Senior Mobile Architect who built and launched two production-grade ride-hailing platforms ' + 'Senior Mobile Architect & Full Stack Engineer who built and launched two production-grade ride-hailing platforms ' +
'(Tripz — Egypt, Intaleq — Syria) from zero to live operations. ' + '(Tripz — Egypt, Intaleq — Syria) from zero to live operations. ' +
'Designed and delivered full mobility ecosystems including Rider, Driver, Admin and Customer Support ' + '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. ' + 'applications, along with scalable backend APIs, security layers, DevOps pipelines and fintech integrations. ' +
'Specialized in real-time systems, self-hosted geo-services, high-latency optimization and ' + 'Specialized in real-time systems, self-hosted geo-services, high-latency optimization and ' +
'infrastructure cost reduction.', 'infrastructure cost reduction.',
targetRoles: [ targetRoles: [
'Senior / Lead Mobile Engineer', 'Senior / Lead Mobile Engineer',
'Mobile Architect', 'Mobile Architect',
'Founding Engineer (Mobility, Logistics, FinTech)' 'Founding Engineer (Mobility, Logistics, FinTech)',
'Senior Backend Engineer',
'Full Stack Engineer'
], ],
// Headline metrics — ordered by how well they survive a sceptical reader. // Headline metrics — ordered by how well they survive a sceptical reader.
@@ -116,7 +119,8 @@ const PROFILE_DATA = {
'Self-Hosted Map Tiles', 'Geospatial Queries', 'High-Latency Network Optimization' 'Self-Hosted Map Tiles', 'Geospatial Queries', 'High-Latency Network Optimization'
], ],
'Backend & DevOps': [ 'Backend & DevOps': [
'PHP', 'Laravel', 'PostgreSQL', 'MySQL', 'Redis', 'Docker', 'Linux', 'Nginx', 'PHP', 'Laravel', 'Node.js', 'NestJS', 'Python', 'Django', 'Flask',
'PostgreSQL', 'MySQL', 'Redis', 'Docker', 'Linux', 'Nginx',
'Git', 'CI/CD (Gitea)', 'Infrastructure Cost Optimization', 'Self-Hosted Infrastructure' 'Git', 'CI/CD (Gitea)', 'Infrastructure Cost Optimization', 'Self-Hosted Infrastructure'
], ],
'Security & FinTech': [ 'Security & FinTech': [
+14 -6
View File
File diff suppressed because one or more lines are too long