Race Report - DirtyLand 2026
join us at Pas Normal Studios on 22nd Oct, 7pm to hear from the racers, race organiser, and catch a screening of the aftermovie!
The Crew has just returned from Dirtyland 2026 (@dirty.lands) in South Tangerang, just outside Jakarta. Alex (@hungrialex) and Colinn (@colinnshae) completed the 70km non-competitive ride, while Diyo (@diyotama), Neel (@neeleen), Rafe (@zhenyu_rafe), Peter (@tamangpost) and Rehan (@freetill9) tackled the 125km race. We also linked up with Fariz, BJ, and Edwin in Jakarta.
Long story short, both distances will test your fitness, mental resilience, and equipment to the limit. Don’t be fooled by the distance and elevation numbers, expect a long but rewarding day in the saddle with great vibes throughout.
Race Guide
Route:
Difficulty level: Intermediate (70km), Hard (125km).
Category: 3-4 (rough ground, loose surfaces, mud)
Elevation: +600m (70km), +1500m (125km)
Both distances make for a very challenging ride. The route has everything in the gravel playbook: rough/broken roads, hardpack dirt, rocky trails, soft clay, and some singletrack sections. Hills are short, steep, and often loose on the ascent and descent.
Anyway, you know you are in for a ride when the race organisers include mud sticks (bamboo chopsticks) in your race kit. We each spent a fair bit of time scraping mud and clay off our tyres and drivetrains. Consider mud clearance when choosing your tyre setup, especially if your bike has mudguard mounts like my Trek Checkpoint. The rocky roads are very similar to Serangoon River trail, Jln Bahtera, and T15.
These are not at all recreational trails, though. The entire route is used extensively by locals to get around. Expect to be sharing the route with motorbikes and small lorries. However this means you will never be far from help or a warung (food shop)!
The route also passes directly through small villages and hamlets. It’s important to be friendly and respectful when you pass through. Leave no trace, but if you need help, ask for it! Many villagers were really supportive (“semangat” = jiayou!). Look forward to lots of high-fives from kids along the route.
Competitors:
Dirtyland is still very much a local race. Expect an even split of Indonesian hitters and recreational riders. There were only a handful of international participants (Singapore, Malaysia, Thailand were well-represented). That said, vibes are fantastic and the spirit of gravel is very much alive.
The 2026 edition of Dirtyland had 6 women riders in the 125km competitive category compared to 100 men.
Race organisation:
I would say the race is well organised. The organising team was communicative via Whatsapp and their Instagram stories, particularly in the one to two weeks preceding the race. Expect to receive the official GPX at most 24 hours before flag-off, as the condition and access to the roads is constantly evolving.
The race village was well laid out in a recreational area, with local food and coffee available for purchase. Booths provided free refreshments after the race.
There was a shakedown ride held the morning before the race, led by a local gravel group Gravel Hura Hura. It was a fun route! While not very representative of the difficulty of the real route, it is worth attending.
The merch was also good quality, with nice designs and good prices.
Photography was provided by freelance photographers, who you must link up with individually to obtain your photos. Most charge Rp 150,000 for multiple shots.
Logistics:
Easy. There are multiple full-service flights daily (Garuda, Singapore Airlines) between Singapore Changi and Soekarno-Hatta in Jakarta, where you can bring your bike for no additional cost. Scoot also has good flight times. I would avoid the Indonesian budget carriers (Citilink, TransNusa, etc.) for the safety of your bike.
Note that regular Grab cars are unlikely to be able to fit a bicycle box. Use Grab Plus, Silver Bird, or a premium car with an airport transfer service.
The WGC group stayed at the Mercure BSD City (not Tangerang CBD) along with other groups of riders. The hotel is 30-40 mins by car from the airport, and the same distance to more central areas in Jakarta. Bicycles are not allowed in the rooms, but the hotel staff graciously allowed us to leave our (clean) bicycles in an unused function room.
The hotel is located walking distance from a large mall (AEON BSD) with plenty of good restaurants and a large supermarket. There are also a number of good bicycle shops a short taxi ride away, which offer bicycle packing services for your return trip. It is a 15-20 minute ride to the race village.
Note for the digital nomad aspirant: Mercure has somewhat spotty Wifi.The lobby does have a comfortable working area with power sockets but it gets quite noisy.
If the race is on Sunday, expect to attend the shakedown ride and race briefing on Saturday morning and afternoon respectively. Thus, the latest you should arrive in Jakarta is Friday night, and the earliest you can depart is Sunday late afternoon.
Gear:
Wide tyres all the way. Better to avoid punctures and save your body, even if it means clogging with mud in 1-2 sections. Average race speed is 20km/h so forego the aero for comfort.
Also, bring good lights. The first hour of the race including a very rough gravel section is before dawn.
Race reflections:
Neel
Gear: Trek Checkpoint / Sram Apex AXS 40t, 11-44
Tyres: Pirelli Cinturato M (front) and H (rear), 50mm. Running 21-22 psi with Vittoria sealant.
Nutrition: 7 gels, 2L of water in hydration bag, 2L of drink mix in bidons
Ride time: 6hrs 38min (125km)
Comments on setup: The big tyres came in clutch everywhere except the two clay sections where I had to spend some time clearing out my tyres. Would have loved a taller climbing gear for the punchy ascents.
This is my second gravel race after Whitestone in April 2026 but despite the much more challenging terrain, I think the race went much better. My setup was dialed in with wide tyres and a shallow-drop bar. Thanks to Ascent Bikes for lending me the Big Chungus wheelset for this race, they were phenomenal and just the right tool for the job. I also executed my fueling strategy well, not needing to stop for additional liquids or food, and I had no gut issues during the race. My pacing strategy was simply to ride at my limit, I was in constant danger of cramping up but managed to stay just below the line. I would take every climb slowly, going straight into my slowest gear most of the time, and then try to move quickly through rocky sections.
I really appreciate the Indonesian racers for bringing such a great vibe to the race. Everyone was so cheerful and excited to be out on the trails, even as we got stuck in the clay. I loved the forested sections of the route, with (relatively) fresh air. Another highlight for me was riding past trucks of kids on their way to a wedding celebration. They gave us great support! I heard from other riders that the wedding emcee was even calling out to riders to join in for a meal.
I think completing this race rewards physical conditioning and confident handling more than cardio endurance. Core and upper body endurance will really help you endure the many rough stretches.
Colinn
Gear: Specialized Crux 5 / Sram Rival 40t, 10-46
Tyres: Tufo Thundero 45mm. Running 23 psi front and 25 psi rear
Nutrition: 6x 40g carb gels, 2x 750ml 60g carb mix
Ride time: 5hrs 51min (70km)
Officially a finisher. Officially a bike princess. Let me explain.
I showed up to my first ever gravel race not knowing how to pack a bike box. Genuinely didn't know where to begin, so I paid someone to do it for me and wore the "bike princess" title with pride from mile zero. While everyone else was elbow-deep in their bikes, I was just... watching.
Supervising, really. Very important work.
70km, four of them on foot, and the race did not go easy on me. Cramped up hard around the 40km mark, and at one point seriously considered paying a local villager for a ride back to the hotel and calling it a DNF. Fell six times along the way (yes, six), and the best one of the bunch ended with a full leg massage from an incredibly kind local villager who saw me go down and just started massaging my leg right there. Best fall of my life. 10/10, would fall again.
And then I finished. First gravel race, done. The kind of proud that sits in your chest for days.
Recovery mode activated immediately after: feeding mosquitos in the hotel lobby and wandering the mall with absolutely no plan.
10/10 would do it again. See you at the next one
Rafe
Gear: Enve Mog
Tyres: Specialized Pathfinder/Tracer in 50mm.
Ride time: 6hrs 23min (125km)
A race of more wins than losses.
The race started in the dark at 5am, something I've never experienced. Hectic and 110% focus on space management during the neutral zone up to the first gravel sector.
The rest of the course can be summarised as countless punchy short climbs & descents marred with fist-sized rocks 65% of the way and 15% super sticky clay. The balance 25% were village alleys and roads with incessant potholes and concrete bumps.
My fuel had been ample but I was faced with a bike comp that wouldn't load the GPX and mechanical issues affecting the drivetrain. The clay was also a new experience for me as I never expected to be so clogged with it. Every rotation led to wheel jam.
Amidst the challenges, my biggest takeaway was the kindest hospitality shown by my fellow racers - Danang and Agus who at different points were my nav enablers, took pictures for me and bought me drinks.
For context on how much was on the line for them, Danang finished P11 and Agus P28! I could have been wallowing about losing P10 before meeting them after getting lost, but I will not forget their kindness and selflessness because without them, I wouldn't have finished.
I finished 27th out of 100ish male racers. No crashes. Just so much to be grateful for. The spirit of gravel continues to thrive on having fun together!
Alex
Gear: Cinelli Zydeco / Sram Apex AXS 42t, 11-42, Hope RX4+ brakes
Tyres: Panaracer Gravelking SK 700x43, running roughly 40 PSI (eyeballed it) with RideNow Sealant
Nutrition: 9x 22g carb gel from Decathlon, 1x date bar, 2x cramp fix, 2x 750ML bidon
Ride time: 5hrs 42 min (70km)
Comments on set up: While the 43mm tyres were nice to have, I would say to be mindful of your bike’s tyre clearance. My bike is rated for 40mm, and the combination of the wider tyres and mud ended up rubbing quite a bit of paint off my fork, even exposing some of the carbon underneath. I would recommend leaving at least an additional 2mm of clearance for mud, especially for events with similar conditions. The 4 piston brakes were really helpful especially on the rocky descents which can get really sketchy, the brakes gave ample modulation which really helps with control. I would also recommend bringing some CrampFix if it is your first race as a precaution.
Other crew members’ setups:
Rehan: Specialized Crux 4 DSW running Shimano GRX and Panaracer Gravelking X1 45mm/35mm with butyl tubes at 60 psi.
Peter: Canyon Grizl running Sram Apex AXS (42t, rear derailleur with Gabaruk mod - 10-48 cassette) and Continental Terra Hardpack in 50 mm
Diyotama: Ridley ASTR running Whaleroad groupset (46t, 14 speed!! 10-46 cassette) and Maxxis Rambler in 50mm
