Faits :
A.
X._ était titulaire de la raison individuelle "Garage U._", à... (GE). L'entreprise avait pour but l'exploitation d'un garage avec atelier de réparations ainsi que le commerce de tous véhicules automobiles; elle a été radiée du registre du commerce le 15 septembre 2015 après avoir cessé ses activités.
Sur la base d'un contrat de travail du 6 juin 2011, modifié par avenant du 14 février 2012, Z._ a travaillé au service de X._ en tant que mécanicien en automobiles du 6 juin 2011 au 31 mars 2014, pour un salaire horaire brut de 30 fr. Le temps de travail convenu était de 3 heures par jour jusqu'à fin février 2012, puis de 50% à compter du 1 er mars 2012.
L'employeur versait à l'employé son salaire au comptant, sans lui réclamer de quittance.
B.
Le 5 mars 2015, Z._ a saisi le Tribunal des prud'hommes du canton de Genève d'une demande tendant au paiement par X._ des sommes brutes de 15'588 fr. et 67'548 fr. à titre de salaire, sous déduction des sommes effectivement perçues, de 55'207 fr.50 à titre de rémunération d'heures supplémentaires et de 6'293 fr.70 à titre d'indemnité pour les vacances non prises. L'employé alléguait que l'employeur ne lui avait jamais versé l'intégralité du salaire, se bornant à lui donner de temps en temps quelques centaines de francs. Il prétendait également que, du 6 juin 2011 au 31 janvier 2012, il avait effectué en moyenne une heure supplémentaire par jour et, du 1 er février 2012 au 31 mars 2014, entre trois et quatre heures supplémentaires par jour, de sorte que 1'688,7 heures supplémentaires au total devaient lui être payées. Il expliquait enfin qu'il n'avait pas été autorisé à prendre de vacances, alors qu'il avait droit à 56 jours à ce titre.
X._ a conclu au rejet de la demande. Il alléguait notamment qu'il n'avait jamais demandé à l'employé d'effectuer des heures supplémentaires, mais qu'il mettait à sa disposition son matériel et son garage pour que ce dernier exécute des travaux sur des voitures pour son propre compte et pour ses propres clients. L'employeur a déposé une demande reconventionnelle, tendant à la condamnation de Z._ à lui verser 63'549 fr.40 (recte: 33'549 fr.40) à titre de frais non remboursés et 30'000 fr. à titre de dommages-intérêts; il a produit diverses factures, libellées notamment au nom du garage U._, qui faisaient état de commandes de matériel, ainsi que divers documents, non contresignés par l'employé, qui mentionnaient les sommes qu'il prétendait avoir prêtées à ce dernier.
Par jugement du 28 avril 2016, le Tribunal des prud'hommes a débouté Z._ des fins de sa demande. Il a considéré que l'employeur avait établi par indices, en particulier par témoins, le versement de l'intégralité du salaire, de sorte que l'employé n'était titulaire d'aucune créance à ce titre. Il n'en allait pas différemment de l'indemnité réclamée à titre d'heures supplémentaires, l'employé n'ayant pas prouvé en avoir effectuées. S'agissant du droit aux vacances, il portait sur 56,4 jours pour toute la durée des rapports de travail, dont il fallait retrancher les 57 jours pris par l'employé, ce qui ne laissait subsister aucun solde à indemniser. Le tribunal a également rejeté les conclusions reconventionnelles de l'employeur.
Statuant le 21 avril 2017 sur appel de Z._, la Chambre des prud'hommes de la Cour de justice du canton de Genève a annulé partiellement le jugement de première instance, puis a condamné X._ à verser à Z._ les sommes brutes de 15'256 fr.05 plus intérêts à 5% dès le 15 août 2013 et de 3'833 fr.70 plus intérêts à 5% dès le 1 er avril 2014. D'une part, elle a constaté que l'employé avait touché l'intégralité de son salaire en 2011 et 2012; en revanche, l'employeur n'avait pas apporté la preuve du paiement du salaire relatif à l'année 2013 et aux mois de janvier à mars 2014; déduction faite de la somme que l'employé reconnaissait avoir reçue (10'000 fr.) et de celle que l'employeur avait versée à l'office des poursuites pour le compte de l'employé (13'383 fr.95), il subsistait un montant de 15'256 fr.05, avant les déductions sociales et légales usuelles. D'autre part, la cour cantonale a retenu que l'employé avait droit à 56 jours de vacances, dont à déduire ceux qu'il avait pris (soit 22 jours), de sorte qu'un solde de 34 jours de vacances - représentant un montant de 3'833 fr.70 - devait être indemnisé. La Cour de justice a débouté l'employé pour le surplus, notamment s'agissant des heures supplémentaires à la rémunération desquelles il prétendait.
C.
X._ interjette un recours en matière civile. Il demande au Tribunal fédéral de rejeter intégralement la demande en paiement de Z._ et de condamner ce dernier aux frais judiciaires des deux instances cantonales.
L'intimé, dont le mandataire n'est pas un avocat (cf. <ref-law>), a fait savoir qu'il n'entendait pas déposer de réponse, tout en concluant au rejet du recours.
Pour sa part, la cour cantonale se réfère à son arrêt.

Considérant en droit :
1.
L'arrêt attaqué est une décision finale (<ref-law>) rendue en matière civile (<ref-law>) par le tribunal supérieur institué comme autorité cantonale de dernière instance, lequel a statué sur recours (<ref-law>). La cause atteint la valeur litigieuse minimale de 15'000 fr., ouvrant le recours en matière civile dans les affaires relevant du droit du travail (<ref-law>). Le recours est exercé par la partie qui a succombé dans ses conclusions libératoires et qui a donc qualité pour recourir (<ref-law>); il a été déposé en temps utile (<ref-law>) et dans la forme (<ref-law>) prévue par la loi. Le recours en matière civile est en principe recevable, sous réserve de l'examen des griefs particuliers.
2.
Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'<ref-law> (<ref-law>). "Manifestement inexactes" signifie ici "arbitraires" (<ref-ruling> consid. 2 p. 117; <ref-ruling> consid. 1.5). Encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (<ref-law>).
La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'<ref-law> (<ref-ruling> consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18 et les références). Le Tribunal fédéral se montre réservé en matière de constatations de fait et d'appréciation des preuves, vu le large pouvoir qu'il reconnaît en ce domaine aux autorités cantonales. Il n'intervient, du chef de l'art. 9 Cst., que si le juge du fait n'a manifestement pas compris le sens et la portée d'un moyen de preuve, a omis sans raisons objectives de tenir compte des preuves pertinentes ou a effectué, sur la base des éléments recueillis, des déductions insoutenables (<ref-ruling> consid. 2.3 p. 265; <ref-ruling> consid. 4.2; <ref-ruling> consid. 4.2; <ref-ruling> consid. 4.3; <ref-ruling> consid. 1.4.3; <ref-ruling> consid. 2.1).
Si elle souhaite obtenir un complètement de l'état de fait, la partie recourante doit démontrer, par des renvois précis aux pièces du dossier, qu'elle a présenté aux autorités précédentes, en conformité avec les règles de la procédure, les faits juridiquement pertinents à cet égard et les moyens de preuve adéquats (<ref-ruling> consid. 2 p. 90); si ces exigences ne sont pas respectées, les faits invoqués sont réputés nouveaux (<ref-law>) et, partant, irrecevables (cf. <ref-ruling> consid. 1.3.1 p. 18; arrêts 4A_593/2015 du 13 décembre 2016 consid. 2.2; 5A_436/2011 du 12 avril 2012 consid. 3.2; 5A_338/2010 du 4 octobre 2010 consid. 3, in SJ 2011 I p. 185).
3.
Le recours s'articule autour de trois thématiques, qui seront successivement abordées en tant que nécessaire, à savoir le salaire encore dû, l'indemnité pour les vacances non prises et, à titre subsidiaire, les frais de justice que l'autorité cantonale a mis à la charge du recourant.
3.1.
3.1.1. S'agissant du salaire dont il a été reconnu débiteur, le recourant reproche à la cour cantonale d'avoir apprécié de manière arbitraire les preuves à sa disposition. Ainsi, elle aurait dû attribuer davantage d'importance au fait que l'employé avait varié dans ses déclarations, ce dernier ayant reconnu tout d'abord avoir reçu 100 fr. à 200 fr. de temps en temps, puis 100 fr. à 200 fr. par semaine, puis encore 1'500 fr. à 2'000 fr. par année, pour concéder finalement avoir obtenu 10'000 fr. au total, somme à porter en déduction du salaire encore dû. De l'avis du recourant, de telles variations justifiaient de retenir que l'employé a bel et bien reçu l'intégralité de son salaire.
La cour cantonale distingue deux périodes. Pour 2011 et 2012, elle constate que l'employé a touché la totalité de son salaire. En revanche, les circonstances se présentent différemment pour 2013 et la période de janvier à mars 2014: l'employeur n'a en effet pas établi que les certificats de salaire 2013 et 2014 ont été remis à l'employé. De plus, à partir de 2013, l'employé s'est plaint à ses amis et/ou connaissances de ne pas être intégralement payé. A fin 2013/début 2014, il a été accompagné par le témoin A._ à des entretiens avec l'employeur, destinés à évoquer les difficultés qu'il rencontrait à se faire payer. Dans ces conditions, l'employeur n'a apporté ni la preuve directe, ni la preuve indirecte du paiement du salaire relatif à cette seconde période. Selon l'autorité précédente, il faut toutefois tenir compte du montant de 10'000 fr. que l'employé reconnaît avoir reçu, ainsi que de la somme de 13'383 fr.95 que l'employeur a versée à l'office des poursuites pour le compte de l'employé, dès lors que ce montant aurait dû être déduit du salaire de l'employé en raison des saisies dont il faisait l'objet. La cour cantonale retient finalement que l'employeur est redevable d'un montant brut de 15'256 fr.05 à titre de salaire (38'640 fr. [31'080 fr. pour 2013 et 7'560 fr. pour 2014], sous déduction de 23'383 fr.95 [10'000 fr. + 13'383 fr.95]).
Contrairement à ce que le recourant affirme, l'autorité précédente n'a pas passé sous silence les contradictions qui émaillent les propos de l'employé, puisqu'il ressort de l'arrêt attaqué que, dans sa demande du 5 mars 2015, l'intimé avait allégué que l'employeur se bornait à lui donner de temps en temps quelques centaines de francs et que, lors de l'audience du 1 er avril 2016, il a déclaré évaluer la somme reçue à titre de salaire à 10'000 fr. au total. Il apparaît ainsi clairement que l'employé n'a pas fait preuve d'une parfaite cohérence dans ses déclarations. Cela étant, le fait que l'intimé donne quittance à l'employeur d'une partie de sa créance de salaire, même si ceci semble avoir été quelque peu laborieux, n'est pas de nature à démontrer qu'il en a reçu le solde. L'employeur n'invoque d'ailleurs aucun arbitraire à l'encontre de la constatation de l'arrêt attaqué portant sur l'absence de remise à l'employé des certificats de salaire 2013 et 2014.
Quant aux autres éléments évoqués par la cour cantonale pour asseoir sa conviction, ils échappent à tout grief d'arbitraire. Certes, le recourant n'est pas de cet avis. Selon lui, les déclarations de A._ auraient dû être écartées, car le témoin est un ami et l'associé de l'intimé. Ces liens supposés ne figurent toutefois pas dans les constatations de l'arrêt cantonal et ne sont pas invoqués par le recourant de manière suffisamment précise et référencée, de sorte qu'il n'est pas nécessaire de se pencher davantage sur l'impact éventuel de cet élément, irrecevable. L'employeur cite également d'autres témoins, lesquels n'auraient pas entendu l'employé se plaindre de salaires demeurés impayés, sans indiquer d'où il tire ses affirmations. Plus largement, le recourant invoque toute une série de faits qui auraient dû, d'après lui, amener la cour cantonale à une conclusion diamétralement opposée à celle à laquelle elle est parvenue, mais qui ne ressortent pas de l'arrêt entrepris. Il en va ainsi notamment de l'assertion selon laquelle l'employé aurait commis des cambriolages durant les rapports de travail, qui ne trouve d'assise nulle part dans l'arrêt attaqué. Ces éléments sont dès lors également irrecevables (cf. consid. 2 supra). Lorsqu'il avance que l'employé n'aurait jamais accepté d'augmenter son temps de travail s'il n'avait pas été payé, l'employeur ne parvient pas davantage à ses fins, d'autant qu'au moment où le changement de taux d'activité est intervenu, soit en 2012, il recevait bien le salaire dû selon les constatations de la cour cantonale.
Les griefs tirés d'une prétendue appréciation arbitraire des preuves doivent dès lors être écartés, dans la mesure où ils sont recevables.
3.1.2. Le recourant fait également valoir une violation de son droit à la preuve. Il se fonde sur les pièces nouvelles que l'intimé entendait produire en appel et que la cour cantonale a déclarées irrecevables au regard de l'<ref-law> parce que l'employé aurait dû les produire en première instance. Selon l'employeur, la déchéance de ce droit pouvait certes être opposée à l'appelant, mais pas à lui-même, dès lors qu'il avait découvert ces pièces en appel et qu'il les avait dûment invoquées.
Il n'apparaît pas que la cour cantonale ait fait une mauvaise application de l'<ref-law>. Elle n'a tout simplement pas examiné dans son arrêt dans quelle mesure le recourant pouvait se prévaloir des nouvelles pièces en question, alors même que celui-ci avait déclaré, dans sa réponse au mémoire d'appel, faire sien le dépôt desdits documents et les invoquer à l'appui de ses propres allégués. Cela étant, cette omission demeure sans conséquence, puisque les pièces en cause n'étaient pas de nature à modifier le résultat des moyens de preuve déjà administrés (cf. <ref-ruling> consid. 6.3.1 p. 299; <ref-ruling> consid. 4.3.2 p. 376). En effet, les juges cantonaux ont retenu que l'employé avait touché le salaire dû en 2011 et 2012. On ne voit dès lors guère ce que l'employeur pouvait déduire d'autre ou de plus des pièces n os 4 à 6 produites en appel, celles-ci consistant dans les feuilles de salaire de l'employé de décembre 2011, janvier et février 2012 (complètement d'office sur la base du dossier; <ref-law>). Quant à la pièce n° 2, laquelle consiste en un procès-verbal d'une audience de mesures protectrices de l'union conjugale à laquelle l'employé et son épouse comparaissaient et qui est daté du 3 décembre 2013, il en ressort que l'employé a déclaré que l'employeur lui devait un arriéré de salaire d'à peu près 30'000 fr.; l'intimé n'a pas indiqué qu'il avait reçu l'intégralité de son salaire, de sorte que la pièce précitée n'était pas de nature à démontrer cette allégation du recourant. La cour cantonale est parvenue à la conclusion que l'employeur devait à l'employé un montant inférieur à titre de salaire pour 2013, puisqu'elle a déduit du montant de 31'080 fr. les sommes qui avaient déjà été versées à l'intéressé (10'000 fr.) ainsi qu'à l'office des poursuites (13'383 fr.95). L'employeur ne peut dès lors pas tirer avantage des déclarations que l'employé a faites dans la procédure qui l'opposait à son épouse. Certes, son argument repose sur l'écart entre les différents montants articulés par l'employé. Le recourant rappelle encore, à ce propos, que les conclusions de la demande en paiement se montaient à 144'637 fr.20 et qu'à l'audience tenue devant le Tribunal des prud'hommes, l'employé avait déclaré être titulaire d'une créance de 80'000 fr. envers son employeur. Ces incohérences ôteraient toute crédibilité à ses affirmations. Nul besoin toutefois de se référer à la pièce n° 2 précitée pour se distancer des sommes articulées par l'employé. Les juges genevois ne se sont en effet pas laissé guider par l'importance des sommes réclamées et la discrépance évoquée par le recourant ne leur a certainement pas échappé, puisqu'ils ont finalement condamné l'employeur à verser à l'employé une somme de 15'256 fr.05 à titre de salaire, ce qui est fort éloigné du montant réclamé dans la demande.
Partant, ce grief du recourant doit également être rejeté.
3.2. En ce qui concerne l'indemnité pour les vacances non prises, le recourant se plaint d'appréciation arbitraire des preuves.
La cour cantonale a retenu que le droit aux vacances de l'employé totalisait 56 jours pour toute la période du 6 juin 2011 au 31 mars 2014, ce que l'employeur ne remettait pas en cause. Il fallait en déduire les vacances prises par l'employé durant la fermeture annuelle du garage, du 24 décembre au 2 janvier, ce qui correspondait à 6 jours de vacances en 2011 et 11 jours en 2012 et 2013. Par ailleurs, il résultait du témoignage B._ que l'employé avait bénéficié de 5 jours de vacances durant l'été 2013.
Le recourant prétend que c'est de manière arbitraire que la cour cantonale a omis de tenir compte de la fermeture du garage durant trois semaines l'été, ce qui représentait 15 jours tant en 2012 qu'en 2013 (et non seulement 5 jours durant cette dernière année). L'employé lui-même aurait confirmé cet état de fait lors de son audition du 1 er février 2016 devant le Tribunal de prud'hommes.
A ce propos, la cour cantonale a constaté qu'il n'était pas contesté en appel que l'employeur ne fermait pas le garage lorsqu'il prenait ses vacances d'été. Il s'agit d'un fait procédural qui lie le Tribunal fédéral. C'est cette contestation qu'il appartenait au recourant de démontrer, s'il entendait se plaindre d'arbitraire, ce qu'il ne fait pas. La cour de céans ne saurait se plonger dans la lecture de toutes les écritures que le recourant a déposées en dernière instance cantonale pour déterminer s'il a effectivement contesté que le garage n'était pas fermé durant les vacances d'été. Faute de remplir les conditions posées par l'<ref-law>, le grief se révèle irrecevable.
Si son argumentation devait être écartée, le recourant fait encore valoir que la cour cantonale aurait dû prendre en compte le fait que l'employé se rendait au garage, durant les semaines en question, exclusivement pour la réparation de véhicules liée à sa propre activité professionnelle indépendante. Ce grief ne remplit pas davantage les exigences de l'<ref-law>, de sorte qu'il ne sera pas tenu compte non plus du fait invoqué.
Dans une argumentation encore plus subsidiaire, le recourant prétend que l'employé ne serait intervenu au garage qu'à deux ou trois reprises durant les semaines en question, pour une durée maximale de trente minutes et en veut pour preuve les déclarations de l'employé lui-même, telles qu'elles ressortent du procès-verbal d'audience du 1 er février 2016 du Tribunal des prud'hommes. Il est vrai que l'employé avait alors affirmé que le cousin de l'employeur, à savoir B._, avait dû l'appeler deux ou trois fois, pendant les trois semaines où l'employeur était absent en été, pour des urgences sur des véhicules amenés par le TCS ou des clients pressés et avoir évalué le temps nécessaire pour effectuer ces urgences à une demi-heure. L'employé a toutefois précisé dans son appel que ses déclarations concernaient des interventions au garage B._, et non pas au garage de l'employeur. La cour cantonale ne saurait dès lors être tombée dans l'arbitraire en ne tenant pas compte de cet élément.
En dernier lieu, le recourant reproche à la cour cantonale de ne pas avoir imputé, sur le droit aux vacances, le séjour de cinq jours de l'employé en Macédoine en mars 2013; l'intimé n'aurait jamais prouvé le décès de son père, pour lequel il avait déclaré s'absenter. Selon l'arrêt attaqué, le motif de cette absence est établi et l'employeur échoue à démontrer un quelconque arbitraire de la part de l'autorité précédente sur ce point.
Les griefs du recourant doivent dès lors être écartés, dans la mesure où ils sont recevables.
3.3. Pour le cas où ses conclusions libératoires ne seraient pas admises par la cour de céans, le recourant fait valoir que les juges précédents n'auraient pas dû mettre de frais de procédure à sa charge; il se plaint d'une mauvaise application de l'art. 106 al. 2 et de l'<ref-law> en lien avec les art. 69 et 71 du règlement genevois fixant le tarif des frais en matière civile du 22 décembre 2010 (RTFMC; RS/GE E 1 05 10). D'après lui, il fallait se référer au montant que l'intimé a obtenu en appel - une somme inférieure à 20'000 fr. - et non aux montants articulés dans la demande - atteignant plus de 130'000 fr. -, dont l'employé devait assumer seul la responsabilité; l'employeur en conclut qu'il n'avait à supporter aucune part des frais judiciaires.
La cour cantonale a arrêté les frais de la première instance à 1'446 fr., puis les a répartis à concurrence de 1'229 fr. à la charge de l'employé et 217 fr. à la charge de l'employeur. Elle s'est fondée sur le fait que l'employé et appelant, qui réclamait 144'637 fr.20 sous déduction de 10'000 fr., obtenait en définitive 19'089 fr.75. En ce qui concerne les frais judiciaires d'appel, fixés à 1'500 fr., l'autorité précédente les a mis à la charge de l'employé à hauteur de 1'275 fr. et à la charge de l'employeur à hauteur de 225 fr.
Aux termes de l'art. 114 let. c CPC - applicable aussi bien à la procédure cantonale de première instance qu'à la procédure d'appel ou de recours (cf. DENIS TAPPY, in Code de procédure civile commenté, 2011, n° 10 ad <ref-law>) -, il n'est pas perçu de frais judiciaires dans la procédure au fond pour les litiges portant sur un contrat de travail, lorsque la valeur litigieuse n'excède pas 30'000 fr. Le droit cantonal peut prévoir une dispense de frais plus large (<ref-law>). Tel est le cas dans le canton de Genève. En effet, l'art. 19 al. 3 let. c de la loi genevoise d'application du code civil suisse et d'autres lois fédérales en matière civile du 11 octobre 2012 (LaCC; RS/GE E 1 05) - précisé par les art. 69 et 71 RTFMC - prévoit que l'émolument de décision est fixé en règle générale entre 200 fr. et 10'000 fr. dans les causes soumises à la juridiction des prud'hommes lorsque la valeur litigieuse excède 75'000 fr. devant le Tribunal des prud'hommes et 50'000 fr. devant la Chambre des prud'hommes de la Cour de justice. La valeur litigieuse se calcule selon les <ref-law>; elle est donc déterminée par les conclusions (<ref-law>).
En l'espèce, c'est à juste titre que la cour cantonale a perçu des frais, tant pour la procédure de première instance que pour la procédure d'appel, et les a répartis entre les parties. En effet, les conclusions en paiement de la demande - plus de 130'000 fr. - représentent un montant largement supérieur aux plafonds prévalant en droit genevois pour la gratuité de la procédure, lesquels sont plus élevés qu'en droit fédéral. L'argument du recourant, selon lequel il faudrait se référer, pour calculer la valeur déterminante, au montant obtenu en justice et non aux conclusions, ne trouve aucun fondement dans la loi. Il ne saurait dès lors être accueilli.
4.
Sur le vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
Son auteur, qui succombe, prendra à sa charge les frais judiciaires (<ref-law>). Il n'aura pas à verser de dépens à l'intimé, qui s'est borné à conclure au rejet du recours et qui n'est de toute manière pas représenté par un avocat autorisé (art. 40 al. 1 et art. 68 al. 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 600 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties et à la Chambre des prud'hommes de la Cour de justice du canton de Genève.
Lausanne, le 21 février 2018
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann