Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
Loss | 0–1 | Apr 2010 | ITF Ain Sukhna, Egypt | 10,000 | Clay | Audrey Bergot | Anna Brazhnikova Marta Sirotkina | 3–6, 3–6 |
Win | 1–1 | Dec 2010 | ITF Ain Sukhna, Egypt | 10,000 | Clay | Sofiya Kovalets | Galina Fokina Marina Melnikova | 6–1, 6–2 |
Win | 2–1 | Oct 2011 | ITF Palembang, Indonesia | 25,000 | Hard | Tamaryn Hendler | Ayu Fani Damayanti Jessy Rompies | 6–4, 6–2 |
Win | 3–1 | Oct 2011 | ITF Bayamón, Puerto Rico | 25,000 | Hard | Ajla Tomljanović | Victoria Duval Allie Kiick | 6–3, 6–1 |
Win | 4–1 | Mar 2012 | ITF Wellington, New Zealand | 25,000 | Hard | Anna Fitzpatrick | Han Sung-hee Yurina Koshino | 6–3, 6–4 |
Loss | 4–2 | Sep 2012 | ITF Port Pirie, Australia | 25,000 | Hard | Stephanie Bengson | Sacha Jones Sally Peers | 4–6, 2–6 |
Win | 5–2 | Oct 2012 | Lagos Open, Nigeria | 25,000 | Hard | Conny Perrin | Nina Bratchikova Margarita Lazareva | 6–1, 6–1 |
Win | 6–2 | Oct 2012 | Lagos Open, Nigeria | 25,000 | Hard | Conny Perrin | Lu Jiajing Lu Jiaxiang | 6–2, 3–6, [10–7] |
Win | 7–2 | Nov 2012 | ITF Asunción, Paraguay | 25,000 | Clay | María Fernanda Álvarez Terán | Anamika Bhargava Sylvia Krywacz | 4–6, 6–3, [10–5] |
Win | 8–2 | May 2013 | Soweto Open, South Africa | 50,000 | Hard | Magda Linette | Samantha Murray Jade Windley | 6–1, 6–3 |
Loss | 8–3 | Jul 2013 | Lexington Challenger, U.S. | 50,000 | Hard | Julia Glushko | Nicha Lertpitaksinchai Peangtarn Plipuech | 6–7(5), 3–6 |
Loss | 8–4 | Aug 2013 | ITF Landisville, U.S. | 25,000 | Hard | Emily Webley-Smith | Monique Adamczak Olivia Rogowska | 2–6, 3–6 |
Loss | 8–5 | Oct 2013 | Lagos Open, Nigeria | 25,000 | Hard | Conny Perrin | Fatma Al-Nabhani Gioia Barbieri | 6–1, 4–6, [8–10] |
Win | 9–5 | Apr 2014 | ITF Jackson, United States | 25,000 | Clay | Maša Zec Peškirič | Erika Sema Yurika Sema | 6–7(5), 6–3, [10–5] |
Win | 10–5 | Apr 2014 | ITF Dakar, Senegal | 15,000 | Hard | Emily Webley-Smith | Conny Perrin Ekaterina Yashina | 6–4, 7–5 |
Win | 11–5 | May 2014 | ITF Sun City, South Africa | 10,000 | Hard | Michelle Sammons | Ilze Hattingh Madrie Le Roux | 7–5, 6–3 |
Win | 12–5 | Jun 2014 | ITF Sun City, South Africa | 10,000 | Hard | Michelle Sammons | Ilze Hattingh Madrie Le Roux | 6–3, 6–3 |
Win | 13–5 | Aug 2014 | ITF Braunschweig, Germany | 15,000 | Clay | Conny Perrin | Polina Leykina Isabella Shinikova | 6–3, 6–0 |
Win | 14–5 | Jan 2015 | ITF Antalya, Turkey | 10,000 | Clay | Melis Sezer | Ekaterine Gorgodze Sofia Kvatsabaia | 6–4, 4–6, [10–4] |
Loss | 14–6 | Mar 2015 | ITF Port El Kantaoui, Tunisia | 10,000 | Hard | Jessica Ho | Cristina Sánchez Quintanar Clara Tanielian | 5–7, 7–6(9), [3–10] |
Loss | 14–7 | Mar 2015 | ITF Port El Kantaoui, Tunisia | 10,000 | Hard | Magali Kempen | Myrtille Georges Isabella Shinikova | 6–1, 4–6, [2–10] |
Loss | 14–8 | Mar 2015 | ITF Bangkok, Thailand | 15,000 | Hard | Emily Webley-Smith | Jang Su-jeong Vojislava Lukić | 4–6, 4–6 |
Loss | 14–9 | Jun 2015 | ITF Ystad, Sweden | 25,000 | Clay | Conny Perrin | Xenia Knoll Cornelia Lister | 5–7, 6–7(5) |
Loss | 14–10 | Jun 2015 | ITF Baton Rouge, U.S. | 25,000 | Hard | Storm Sanders | Samantha Crawford Emily Harman | 6–7(4), 1–6 |
Win | 15–10 | Apr 2016 | ITF León, Mexico | 10,000 | Hard | Renata Zarazúa | Sabastiani León Nazari Urbina | 6–0, 6–2 |
Win | 16–10 | Apr 2016 | ITF Heraklion, Greece | 10,000 | Hard | Freya Christie | Valeria Savinykh Alyona Sotnikova | 6–4, 6–0 |
Loss | 16–11 | Jul 2016 | Gold River Challenger, U.S. | 50,000 | Hard | Jamie Loeb | Ashley Weinhold Caitlin Whoriskey | 4–6, 4–6 |
Win | 17–11 | Aug 2016 | ITF Fort Worth, U.S. | 25,000 | Hard | Hsu Chieh-yu | Jacqueline Cako Danielle Lao | 6–0, 6–4 |
Loss | 17–12 | Oct 2016 | Henderson Open, U.S. | 50,000 | Hard | Jamie Loeb | Michaëlla Krajicek Maria Sanchez | 5–7, 1–6 |
Win | 18–12 | Nov 2016 | ITF Stellenbosch, South Africa | 10,000 | Hard | Kaitlyn Christian | Valeria Bhunu Linnea Malmqvist | 6–0, 7–6(3) |
Win | 19–12 | Jan 2017 | ITF Wesley Chapel, U.S. | 25,000 | Clay | Renata Zarazúa | Elizabeth Halbauer Sofia Kenin | 6–2, 7–6(5) |
Loss | 19–13 | Jul 2017 | Stockton Challenger, U.S. | 60,000 | Hard | Tammi Patterson | Usue Maitane Arconada Sofia Kenin | 6–4, 1–6, [5–10] |
Win | 20–13 | Nov 2017 | ITF Stellenbosch, South Africa | 15,000 | Hard | Mana Ayukawa | Alicia Barnett Nina Stadler | 6–2, 6–2 |
Win | 21–13 | Dec 2017 | ITF Stellenbosch, South Africa | 15,000 | Hard | Mana Ayukawa | Petra Januskova Madeleine Kobelt | 7–6(3), 6–3 |
Loss | 21–14 | Apr 2018 | ITF Jackson, United States | 25,000 | Clay | Gaia Sanesi | Sanaz Marand Whitney Osuigwe | 1–6, 3–6 |
Win | 22–14 | Apr 2018 | Wiesbaden Open, Germany | 25,000 | Clay | Hélène Scholsen | Cornelia Lister Sabrina Santamaria | 6–3, 2–6, [10–8] |
Win | 23–14 | May 2018 | ITF Rome, Italy | 25,000 | Clay | Conny Perrin | Chen Pei-hsuan Wu Fang-hsien | 6–7(0), 6–1, [10–7] |
Loss | 23–15 | Jun 2018 | Bredeney Ladies Open, Germany | 25,000 | Clay | Diāna Marcinkeviča | Katharina Gerlach Julia Wachaczyk | 4–6, 6–2, [6–10] |
Win | 24–15 | May 2019 | ITF Changwon, South Korea | 25,000 | Hard | Hsu Chieh-yu | Lee Ya-hsuan Choi Ji-hee | 6–3, 6–4 |
Win | 25–15 | May 2019 | ITF Goyang, South Korea | 25,000 | Hard | Hsu Chieh-yu | Lee So-ra Kim Na-ri | 6–1, 6–3 |
Win | 26–15 | Jul 2019 | ITF Evansville, U.S. | 25,000 | Hard | Hsu Chieh-yu | Pamela Montez Haruna Arakawa | 6–2, 6–0 |
Win | 27–15 | Sep 2019 | ITF Sajur, Israel | 15,000 | Hard | Alicia Barnett | Amandine Cazeaux Noelly Longi Nsimba | 6–4, 6–4 |
Win | 28–15 | Sep 2019 | ITF Johannesburg, South Africa | 15,000 | Hard | Caroline Romeo | Adesuwa Osabuohien Tamara Itzhaki | 6–1, 6–3 |
Win | 29–15 | Oct 2019 | ITF Pretoria, South Africa | 15,000 | Hard | Caroline Romeo | Merel Hoedt Zeel Desai | w/o |