Angelos Kyriacou

Angelos Kyriacou

Service Desk Team Leader at Lasercharge
Nicosia, Cyprus
Cross-country (XCO) mountain bike racer

I run a service desk by day and race cross-country mountain bikes on the roughest ground this island has. Both jobs are the same job: find the real problem, fix it properly, keep going.

nationals 2026
2nd
build-week training
13 h
karoo extensions
3
technicians led
9–15

now

Updated .

work

Lasercharge LTD — Nicosia, since Jan 2020. Team leader since 2025.

I run the first-line queue for enterprise clients in banking, pharmaceuticals, financial services and market research, and plan the daily work for a team of 9–15 field and desk technicians. I also run the spare-parts warehouse and procurement, handle HP warranty claims, and administer the clients' Microsoft 365 tenants, WatchGuard firewalls and Panda endpoint protection. When a fault is genuinely hard, it escalates to me.

Before Lasercharge, and alongside it until 2025: sixteen years at E.X. Podilates, the family bicycle import and repair business — the workshop bench first, then imports, distribution, international trade expos, and the Dolibarr ERP the whole operation ran on.

The full version is here — experience, tools, certifications.

racing

I race cross-country mountain bike for Cyprus — XCO, XCC and XCE.

2026 results

I train on the island's roughest ground, off data rather than feel, around thirteen hours a week in a build block. Running fills the other half of the year, kept easy on purpose apart from one target race each winter.

Training hours per week, 2026 366 hours from 5 January to 11 October: 9.2 a week on average, 12.6 through the March to July build. Moving time from my Strava.
  • ride
  • run
  • other: gym, hikes, rowing
Training hours per week, 2026 Stacked weekly bars of riding, running and other training from 5 January to 11 October 2026. About 7 hours a week in January and February, mostly 10 to 16 hours from March to early July, a 23.6 hour week in late June, then 1 to 9 hours a week from the national championships in mid-July. 0 5 10 15 20 25 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Week of 5 Jan: 7.8 h (ride 5.6, run 0.8, other 1.4) Week of 12 Jan: 8 h (ride 5.2, run 2.4, other 0.5) Week of 19 Jan: 6.2 h (ride 6.2, run 0, other 0) Week of 26 Jan: 7.5 h (ride 6.6, run 0.9, other 0) Week of 2 Feb: 9 h (ride 7.8, run 0.9, other 0.2) Week of 9 Feb: 8.4 h (ride 7.3, run 1.1, other 0) Week of 16 Feb: 8 h (ride 6.9, run 1, other 0.1) Week of 23 Feb: 4.2 h (ride 3.4, run 0.8, other 0) Week of 2 Mar: 11.5 h (ride 10.2, run 0, other 1.3) Week of 9 Mar: 11.6 h (ride 9.7, run 0, other 1.9) Week of 16 Mar: 10.4 h (ride 4.2, run 2.9, other 3.3) Week of 23 Mar: 13.2 h (ride 10.6, run 0, other 2.6) Week of 30 Mar: 13.8 h (ride 10.7, run 1, other 2.1) Week of 6 Apr: 12.8 h (ride 9.2, run 1.1, other 2.5) Week of 13 Apr: 15.9 h (ride 13.4, run 1.2, other 1.2) Week of 20 Apr: 9 h (ride 5.9, run 1.2, other 1.9) Week of 27 Apr: 8.4 h (ride 6, run 1.1, other 1.4) Week of 4 May: 12 h (ride 9.7, run 1, other 1.3) Week of 11 May: 13.1 h (ride 10.9, run 1, other 1.2) Week of 18 May: 10.3 h (ride 8.7, run 1, other 0.7) Week of 25 May: 13.7 h (ride 12.4, run 1.3, other 0) Week of 1 Jun: 15 h (ride 12.3, run 1, other 1.7) Week of 8 Jun: 10.6 h (ride 10.6, run 0, other 0) Week of 15 Jun: 12.9 h (ride 9.2, run 0, other 3.7) Week of 22 Jun: 23.6 h (ride 12.8, run 1.1, other 9.8) Week of 29 Jun: 8.7 h (ride 7.5, run 1.3, other 0) Week of 6 Jul: 13.1 h (ride 11.3, run 0.9, other 0.8) Week of 13 Jul: 7.8 h (ride 7.8, run 0, other 0) Week of 20 Jul: 2.9 h (ride 2.2, run 0.7, other 0) Week of 27 Jul: 2 h (ride 1.6, run 0, other 0.4) Week of 3 Aug: 6 h (ride 1.1, run 2.8, other 2.1) Week of 10 Aug: 3.7 h (ride 0.8, run 1, other 1.9) Week of 17 Aug: 8.7 h (ride 6.2, run 0.6, other 1.9) Week of 24 Aug: 7.3 h (ride 6.2, run 1.1, other 0) Week of 31 Aug: 5.9 h (ride 3.9, run 1, other 1) Week of 7 Sep: 7 h (ride 5, run 1.2, other 0.8) Week of 14 Sep: 1 h (ride 0, run 1, other 0) Week of 21 Sep: 5.2 h (ride 4.2, run 1, other 0) Week of 28 Sep: 6.1 h (ride 4, run 2, other 0) Week of 5 Oct: 4.2 h (ride 3.7, run 0, other 0.5) nationals
Show the numbers
week ofriderunothertotal h
5 Jan5.60.81.47.8
12 Jan5.22.40.58
19 Jan6.2006.2
26 Jan6.60.907.5
2 Feb7.80.90.29
9 Feb7.31.108.4
16 Feb6.910.18
23 Feb3.40.804.2
2 Mar10.201.311.5
9 Mar9.701.911.6
16 Mar4.22.93.310.4
23 Mar10.602.613.2
30 Mar10.712.113.8
6 Apr9.21.12.512.8
13 Apr13.41.21.215.9
20 Apr5.91.21.99
27 Apr61.11.48.4
4 May9.711.312
11 May10.911.213.1
18 May8.710.710.3
25 May12.41.3013.7
1 Jun12.311.715
8 Jun10.60010.6
15 Jun9.203.712.9
22 Jun12.81.19.823.6
29 Jun7.51.308.7
6 Jul11.30.90.813.1
13 Jul7.8007.8
20 Jul2.20.702.9
27 Jul1.600.42
3 Aug1.12.82.16
10 Aug0.811.93.7
17 Aug6.20.61.98.7
24 Aug6.21.107.3
31 Aug3.9115.9
7 Sep51.20.87
14 Sep0101
21 Sep4.2105.2
28 Sep4206.1
5 Oct3.700.54.2

2027 races

Updated . 2027 dates are provisional, from the Cyprus Cycling Federation's draft calendar.

code

I train off data, so I build the data fields I couldn't buy: extensions for the Hammerhead Karoo bike computer, written in Kotlin on Hammerhead's karoo-ext SDK. Free and open source.

Older: my macOS dotfiles, a site for Kalograia — the village my family is from, on the wrong side of the line since 1974 — and the operating systems coursework I still keep around. More on all of them here.