Conecta con clientes y oficios locales con Chamba Fácil

Publica tu perfil, sube tus fotos y aparece en el mapa “cerca de mí”.

mockup

¿Por qué elegir Chamba Fácil?

Conecta con más clientes locales y crece tu trabajo en minutos.

Lo que dicen nuestros usuarios

“Con Chamba Fácil me contactaron más clientes en una semana que en todo un mes.”
— Luis, Plomero
“Puse mi ubicación y fotos; mis clientas llegan solas.”
— Karina, Estilista
“Pago anual y aparezco en el mapa. Justo lo que necesitaba.”
— José, Electricista

Oficios por especialidad

Elige una categoría para ver profesionales disponibles.

Filtros

Últimos perfiles

Mapa de oficios cerca de ti

Plan simple y accesible

$150 MXN

Por año

  • ✅ Perfil en el mapa
  • ✅ Sube hasta 6 fotos
  • ✅ Contacto directo WhatsApp
  • ✅ Visibilidad ilimitada
Empezar ahora
// Sugerencias (autocompletar) - listas básicas (puedes ampliar) const ESTADOS = ["Aguascalientes","Baja California","Baja California Sur","Campeche","Chiapas","Chihuahua","Ciudad de México","Coahuila","Colima","Durango","Estado de México","Guanajuato","Guerrero","Hidalgo","Jalisco","Michoacán","Morelos","Nayarit","Nuevo León","Oaxaca","Puebla","Querétaro","Quintana Roo","San Luis Potosí","Sinaloa","Sonora","Tabasco","Tamaulipas","Tlaxcala","Veracruz","Yucatán","Zacatecas"]; const CIUDADES = ["Morelia","Uruapan","Guadalajara","Toluca","León","Querétaro","Puebla","Monterrey","Ciudad de México","Cancún","Acapulco","Mérida","Tijuana","Saltillo","Chihuahua","Durango","Mazatlán","Irapuato","Celaya"]; const OFICIOS = ["Albañil","Plomero","Electricista","Jardinero","Cerrajero","Carpintero","Pintor","Herrería","Tablaroca","Gelish","Peluquería","Mecánico automotriz","Fontanero","Soldador","CCTV","Impermeabilización","Drywall"]; function normStr(s){ return String(s||'').toLowerCase().normalize('NFD').replace(/[̀-\u036f]/g,'').replace(/ñ/g,'n').trim(); } function setupSuggest(inputId, boxId, source){ const input=document.getElementById(inputId); const box=document.getElementById(boxId); if(!input || !box) return; function hide(){ box.classList.add('hidden'); box.innerHTML=''; } function show(list){ if(!list || !list.length){ hide(); return; } box.innerHTML=list.map(v=>`
${v}
`).join(''); box.classList.remove('hidden'); } function render(){ const q=input.value||''; if(!q.trim()){ hide(); return; } const nq=normStr(q); const res=source.filter(s=>normStr(s).includes(nq)).slice(0,12); show(res); } input.addEventListener('input',render); input.addEventListener('focus',render); input.addEventListener('blur', ()=> setTimeout(hide,120)); box.addEventListener('click', e=> { const el = e.target.closest('.suggest-item'); if(!el) return; input.value = el.dataset.v; hide(); }); } try { setupSuggest('filter-estado','sug-estado',ESTADOS); setupSuggest('filter-ciudad','sug-ciudad',CIUDADES); setupSuggest('filter-oficio','sug-oficio',OFICIOS); } catch(e) { console.warn('autocomplete init error', e); } document.addEventListener('DOMContentLoaded', function(){ const btnSearch = document.getElementById('btn-search-oficios'); if (btnSearch) { btnSearch.addEventListener('click', function(e){ e.preventDefault(); applySearchFilters(); }); } ['filter-estado','filter-ciudad','filter-oficio'].forEach(id=>{ const el=document.getElementById(id); if(el) el.addEventListener('keydown', function(ev){ if(ev.key === 'Enter'){ ev.preventDefault(); applySearchFilters(); } }); }); });