Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour M25 Brazzaville San Marino Challenger Como Challenger U.S. Open - New York Seville Challenger Lisbon Challenger Brest Challenger M25 Santa Margherita di Pula M25 Santa Margherita di Pula Ismaning Challenger Bergamo Challenger Moselle Open - Metz Sofia Open - Sofia Naples Challenger Canberra Challenger Australian Open - Melbourne Noumea Challenger Glasgow Challenger Manama Challenger Quimper Challenger Kigali 1 Challenger Kigali 2 Challenger Girona Challenger Szekesfehervar Challenger Zadar Challenger BMW Open - Munich Split Challenger Rome Challenger Vicenza Challenger Grand Prix Hassan II - Marrakech Zagreb Challenger Sarasota Challenger Savannah Challenger Tampere Challenger French Open - Paris Tunis Challenger Porto Alegre Challenger Lyon Challenger Blois Challenger Internazionali BNL d'Italia - Rome Brasov Challenger U.S. Open - New York Perugia Challenger Wimbledon - London EFG Swiss Open - Gstaad Luedenscheid Challenger Bonn Challenger Cordenons Challenger Verona Challenger Rennes Challenger Seville Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Villena Challenger Brest Challenger Roanne Challenger Brazzaville Challenger Kigali 1 Challenger Sibiu Challenger M15 Antalya M15 Porec Prague Challenger Open Occitanie - Montpellier M25 Brazzaville Canberra Challenger Australian Open - Melbourne Kigali 2 Challenger M15 Dubrovnik Naples Challenger M25 Santa Margherita di Pula Grand Prix Hassan II - Marrakech Manacor Challenger Wimbledon - London Bordeaux Challenger Skopje Challenger U.S. Open - New York Perugia Challenger EFG Swiss Open - Gstaad Zug Challenger Mouilleron-Le-Captif Challenger Roanne Challenger European Open - Brussels Olbia Challenger Croatia F7 France F17 Serbia F13 Turkey F3 France F3 Croatia F2 France F4 France F5 France F6 Turkey F14 France F7 Turkey F15 France F8 Bosnia & Herzegovina F1 France F10 France F11 Egypt F15 France F12 Serbia F7 Belgium F9 Croatia F8 Croatia F9 Bosnia & Herzegovina F3 Serbia F13 France F17 Serbia F14 France F18 France F19 Croatia F10 France F20 Croatia F11 France F1 France F2 France F3 Turkey F1 Turkey F2 Turkey F3 France F4 Egypt F9 Egypt F10 Egypt F11 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bulgaria F2 Bulgaria F3 Bulgaria F4 Bulgaria F6 Serbia F7 Austria F6 Austria F7 Switzerland F3 Austria F8 France F17 France F18 Portugal F7 Serbia F14 France F21 France F22 Czech Republic F4 France F24 Greece F10 Kuwait F1 Kuwait F2 Kuwait F3 Turkey F44 Turkey F45 Turkey F46 Egypt F1 France F1 Egypt F2 France F2 Egypt F3 Turkey F7 Tunisia F10 Egypt F12 Egypt F13 France F8 Turkey F16 France F9 Turkey F17 Italy F8 Bosnia & Herzegovina F1 Italy F9 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Serbia F3 Serbia F4 Serbia F6 Serbia F7 Serbia F8 Serbia F9 Serbia F10 Croatia F14 Croatia F15 Croatia F16 Greece F7 Greece F8 Greece F9 Tunisia F32 Tunisia F33 Turkey F2 Turkey F8 Turkey F10 Turkey F11 Turkey F3 Turkey F14 Turkey F15 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Macedonia F1 France F13 France F15 Serbia F1 Serbia F2 Serbia F4 Serbia F5 Serbia F6 France F21 Croatia F9 Nigeria F5 Croatia F10 Nigeria F6 Croatia F11 Bosnia & Herzegovina F4 Croatia F17 Turkey F47 Dominican Republic F3 Tunisia F2 (Hammamet) Switzerland F2 (Bellevue) Tunisia F6 (Hammamet) Turkey F9 (Antalya) USA F11 (Calabasas) Turkey F11 (Antalya) USA F12 (Memphis) USA F13 (Little Rock) Tunisia F14 (Hammamet) Tunisia F15 (Hammamet) USA F14 (Orange Park) USA F15 (Vero Beach) Nigeria F2 (Abuja) Turkey F18 (Antalya) Nigeria F3 (Abuja) Czech Republic F1 (Prague) Bosnia & Herzegovina F2 (Brcko) Bosnia & Herzegovina F3 (Kiseljak) Georgia F1 (Telavi) Georgia F2 (Telavi) Georgia F3 (Telavi) Turkey F7 Egypt F14 France F13 Serbia F1 (Novi Sad) Serbia F2 (Novi Sad) Serbia F3 (Subotica) Egypt F16 Turkey F36 (Antalya) Turkey F37 (Antalya) Turkey F38 (Antalya) Turkey F39 (Antalya) Qatar F4 (Doha) Qatar F5 (Doha) Qatar F6 (Doha) Turkey F15 (Antalya) Turkey F16 (Antalya) Bosnia & Herzegovina F1 (Doboj) Bosnia & Herzegovina F2 (Brcko) Bosnia & Herzegovina F3 (Kiseljak) Germany F4 (Kaltenkirchen) Austria F2 (Kramsach) Austria F3 (Wels) Italy F20 (Pontedera) Austria F5 (Vogau) Italy F32 (Santa Margherita Di Pula) Italy F33 (Santa Margherita Di Pula) Italy F34 (Santa Margherita Di Pula) Turkey F36 (Antalya) Turkey F39 (Antalya) Turkey F40 (Antalya) M15 Antalya M15 Murcia M15 Opatija M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Prijedor M25 Doboj Turkey F10 (Antalya) M25 Kiseljak M15 Porec M15 Belgrade M25+H Kassel M15 Piombino M25 Jablonec nad Nisou M15 Zlatibor M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25+H Lagos M25+H Lagos M25 Monastir M15 Monastir M15 Monastir M25+H Ajaccio M25 Nonthaburi M25 Nonthaburi M15 Monastir M25 Trento M15 Monastir M15 Porec M15 Heraklion M15 Antalya M15 Antalya M15 Monastir M15 Monastir M15 Antalya M15 Antalya M25 Denia M15 Prijedor M25 Santo Domingo M25 Santo Domingo M25 Bourg-en-Bresse M25+H Ajaccio M25 Uriage M25 Muttenz M25 Caslano M25 Sierre M25 Toulouse M25 Sarreguemines M25 Monastir M25 Monastir M25 Antalya M25 Antalya M25 Antalya M25 Gandia M25 Denia M25 Antalya M15 Monastir M25 Valldoreix M15 Antalya M25 Santa Margherita Di Pula Czech Republic F5 M25 Antalya M15 Bol M15 Heraklion M25 Santa Margherita di Pula M25 Antalya M15 Antalya Fano Challenger Mersin Challenger Le Gosier Challenger M25 Zlatibor Zadar Challenger Helsinki Challenger Barletta Challenger Biella Challenger Bangkok Challenger Aix En Provence Challenger Toyota Challenger Bucharest Challenger Sarajevo Challenger Sarajevo Challenger Le Gosier Challenger Banja Luka Challenger Cherbourg Challenger Sarajevo Challenger Bordeaux Challenger Banja Luka Challenger Meknes Challenger Kenitra Challenger Quimper Challenger Mouilleron-Le-Captif Challenger Quimper Challenger Le Gosier Challenger Mestre Challenger Blois Challenger Milan Challenger Padova Challenger Tampere Challenger Portoroz Challenger Alphen Challenger Banja Luka Challenger Sibiu Challenger Rome Challenger Rennes Challenger Brest Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Bucaramanga Challenger Santo Domingo Challenger Cherbourg Challenger Quimper Challenger Savannah Challenger Tallahassee Challenger Aix En Provence Challenger Bordeaux Challenger Furth Challenger Lyon Challenger Blois Challenger Cortina Challenger Manerbio Challenger Istanbul Challenger Izmir Challenger Mouilleron-Le-Captif Challenger Ortisei Challenger Brescia Challenger Rennes Challenger Quimper Challenger Lyon Challenger Blois Challenger Marburg Challenger Bastad Challenger Tampere Challenger Santo Domingo Challenger Suzhou Challenger Shenzhen Challenger Indian Wells Challenger Kobe Challenger Rennes Challenger Quimper Challenger Cherbourg Challenger Le Gosier Challenger Nanchang Challenger Anning Challenger Aix En Provence Challenger Bordeaux Challenger Almaty Challenger Bastad Challenger Florence Challenger Barcelona Challenger Brest Challenger Mouilleron-Le-Captif Challenger Playford Challenger Rennes Challenger Quimper Challenger Marbella Challenger Sophia Antipolis Challenger Bordeaux Challenger Parma Challenger Helsinki Challenger Pune Challenger Ann Arbor Challenger Bergamo Challenger Forli Challenger Milan Challenger Perugia Challenger Iasi Challenger Trieste Challenger Cordenons Challenger Meerbusch Challenger Verona Challenger Banja Luka Challenger Cassis Challenger Rennes Challenger Ambato Challenger Sibiu Challenger Losinj Challenger Bergamo Challenger Roanne Challenger Ortisei Challenger Antalya 3 Challenger Maia 1 Challenger Forli 1 Challenger Forli 2 Challenger Forli 3 Challenger Gran Canaria Challenger Roseto Degli Abruzzi 1 Challenger Zadar Challenger Mexico City Challenger Sanremo Challenger San Luis Potosi Challenger Split Challenger Aguascalientes Challenger Morelos Challenger Aix En Provence Challenger Mauthausen Challenger Bordeaux Challenger Tunis Challenger Vicenza Challenger Forli 6 Challenger Prostejov Challenger Perugia Challenger Troyes Challenger St. Petersburg 1 Challenger Trieste Challenger San Benedetto Challenger Zadar Challenger Split 1 Challenger Banja Luka Challenger Como Challenger Sibiu Challenger Orleans Challenger Alicante Challenger Ortisei Challenger Roanne Challenger Maia Challenger Quimper Challenger Pau Challenger Antalya Challenger Lugano Challenger St. Brieuc Challenger Zadar Challenger Lille Challenger Sarasota Challenger Tallahassee Challenger Rome Challenger Savannah Challenger Split Challenger Prague 2 Challenger Turin Challenger Skopje Challenger Vicenza Challenger Perugia Challenger Lyon Challenger Blois Challenger Troyes Challenger Salzburg Challenger Pau Challenger Banja Luka Challenger Manama Challenger Prague 3 Challenger Antalya 4 Challenger Braga Challenger Cherbourg Challenger Lille Challenger San Marino Challenger Barletta Challenger Zagreb Challenger Murcia Challenger Blois Challenger Troyes Challenger Iasi Challenger San Marino Challenger Shanghai Challenger Cherbourg Challenger St. Brieuc Challenger Lyon Challenger Quimper Challenger Lille Challenger Brazzaville Challenger Madrid Challenger Aix En Provence Challenger Mauthausen Challenger Zagreb Challenger Lyon Challenger Royan Challenger Troyes Challenger Braunschweig Challenger Iasi Challenger San Marino Challenger Grodzisk Mazowiecki Challenger Sofia 1 Challenger Istanbul Challenger Orleans Challenger Valencia Challenger Brest Challenger Ismaning Challenger Vilnus Challenger Brest Challenger Pau Challenger Open 13 - Marseille Credit Agricole Suisse Open - Gstaad Valencia Open - Valencia Ecuador Open - Quito SkiStar Swedish Open - Bastad Open Sud de France - Montpellier SkiStar Swedish Open - Bastad Moselle Open - Metz Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Open Parc - Lyon SkiStar Swedish Open - Bastad German Tennis Championships - Hamburg Roseto Degli Abruzzi 2 Challenger Ningboo Challenger Plava Laguna Croatia Open - Umag Belgrade 2 - Belgrade Qatar ExxonMobil Open - Doha Open Parc - Lyon Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Open Sud de France - Montpellier Open 13 Provence - Marseille Maspalomas Challenger Open 13 Provence - Marseille Modena Challenger St. Tropez Challenger Tallahassee Challenger Open Sud de France - Montpellier Maia Challenger BNP Paribas Open - Indian Wells Miami Open - Miami French Open - Paris French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group I, 1R, BIH-GER 0-4 Davis Cup, Group I, 1R, ECU-BIH 3-2 French Open (juniors) Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, BIH-MEX 3-1 All Lower level tournaments Davis Cup, Group I, PO, BUL-BIH 1-3 Karlsruhe Challenger Verona Challenger