AWS Costs and User Numbers: WattLog.pro After Seven Months

Since April I have paid AWS $168 to keep WattLog.pro running, a free app for indoor training. In that time 25 people signed up, and two of them recorded a ride in the app. It is indoor season and I expected more. For a few weeks now I have been doubting whether this project makes sense, so I counted everything that can be counted.

AWS Costs and User Numbers: WattLog.pro After Seven Months
2 of 25
people who signed up have recorded a ride in WattLog.pro. Five more imported their history from Strava or TCX files and stopped there. Eighteen have no rides at all.
25registered accounts since April (no guests, test or deleted accounts)
8of them opened the app in the last 7 days
$136.76AWS bill before tax since April, $168.22 with VAT
€0revenue: WattLog.pro is free and has no paid plans

Why I built it

I started to save money and out of curiosity. For many months I rode on Zwift and paid $20 a month for it. That virtual world was not for me. Sometimes I felt like I was in a game, sometimes there was simply too much going on. In the beginning I also lacked the fitness for their training plans and free rides. Then my HRM strap broke, and that was the first time I tried vibe coding.

I wanted to understand cycling training and my own limits step by step, and to grow as a developer along the way. I worked in IT as a QA for many years and had long dreamed of building something myself. The blog was meant to be a simple collection of answers to the questions I had when I started riding on the road: why a heart rate monitor, why a power meter, what zones are, why I felt so bad after a week of riding 50–60 km a day even though I loved that craze. I write the articles with the help of AI, then check and edit them myself.

WattLog.pro was also meant to be my escape from unemployment and a way to have something to do every day.

Who signs up

The first regular account appeared in July. In September 9 people signed up, in October 15.

0 2 4 6 8 week of 14 Sep 2026: 1 new accounts 1 14 Sep week of 21 Sep 2026: 6 new accounts 6 21 Sep week of 28 Sep 2026: 2 new accounts 2 28 Sep week of 5 Oct 2026: 5 new accounts 5 5 Oct week of 12 Oct 2026: 1 new accounts 1 12 Oct week of 19 Oct 2026: 3 new accounts 3 19 Oct week of 26 Oct 2026: 6 new accounts 6 26 Oct
New accounts registered in the week starting on the given day, from 14 September (24 accounts; the one account from July is outside the chart). No guests, internal or deleted accounts. Data from WattLog.pro.

I only know where a signup came from when the link carried a parameter. Fifteen accounts have none, eight came from the wattlog.pro website, two straight from articles. The blog has 370 articles in Polish (1,126 pages across all languages). Some people may have come from the blog through the home page, so I do not know how much the blog really brought in.

No link parameter No link parameter: 15 15 wattlog.pro website wattlog.pro website: 8 8 Blog articles Blog articles: 2 2
Source of the 25 registered accounts by link parameter. No parameter does not mean someone did not come from the blog.

What Google sees

Search Console shows what happens before anyone reaches the app. From 26 April to 29 October, WattLog.pro pages were shown in Google 43,232 times and got 548 clicks (CTR 1.27%). Traffic is growing: 9 clicks in June, 83 in July, 206 in October.

0 50 100 150 200 250 Apr: 2 clicks, 4 impressions 2 Apr 4 May: 3 clicks, 15 impressions 3 May 15 Jun: 9 clicks, 1104 impressions 9 Jun 1.1k Jul: 83 clicks, 7612 impressions 83 Jul 7.6k Aug: 122 clicks, 9274 impressions 122 Aug 9.3k Sep: 123 clicks, 9333 impressions 123 Sep 9.3k Oct: 206 clicks, 15890 impressions 206 Oct 15.9k impr.
Clicks from Google search per month, impressions below each month. April from 26.04, October up to 29.10. Data from Google Search Console.

The catch is that these readers hardly ever sign up. German pages got the most clicks, 226, and one account out of 25 chose German. Twelve accounts have no language set, so I do not draw strong conclusions from this. Polish pages got 122 clicks, English 95, Dutch 58.

German pages German pages: 226 226 Polish pages Polish pages: 122 122 English pages English pages: 95 95 Dutch pages Dutch pages: 58 58 Home page and tools Home page and tools: 50 50
Clicks from Google from 26.04 to 29.10 by page language, from the list of the 1,000 most clicked URLs. Data from Google Search Console.

Articles about gear and maintenance got the most: 144 of the 501 clicks on the blog, for example on carbon assembly paste or on the best time to buy a bike. Texts for power meter owners do better. The best of them, on installing and charging Favero Assioma pedals and the German text on left/right balance, have a CTR of 3 to 8% and positions between 5 and 8. Their versions in other languages do worse. One of the two accounts that came from the blog came from an article about power meter pedals and is one of the largest in the database.

Most clicked URLsClicksImpressionsCTRPosition
Home page232439.47%5.5
NL: checklist, road bike and being overweight196273.03%7.9
PL: installing Favero Assioma pedals164663.43%5.9
DE: left/right balance in power measurement162067.77%6.4
DE: carbon assembly paste1315840.82%8.5

Google hides rare queries: of the 1,000 queries in the export only 6 have clicks, so I do not know what exactly people were searching for. Nobody searches for the name: “wattlog” showed up in results 4 times in half a year. I also do not know how many clicks end in an account, because apart from Search Console I have no analytics at all.

What happens after signing up

Eighteen of the 25 accounts have not a single ride, neither recorded nor imported. Thirteen of them were created more than a week ago, so I cannot explain it by saying they have not had time yet.

Signed up Signed up: 25 25 Came back after 1+ day Came back after 1+ day: 18 18 Active in the last 7 days Active in the last 7 days: 8 8 Have any ride Have any ride: 7 7 Imported history Imported history: 5 5 Recorded a ride in the app Recorded a ride in the app: 2 2
25 registered accounts. The counters are independent, not consecutive steps: “active in the last 7 days” and “have any ride” are different groups. “Came back” only means someone opened the app at least a day after signing up. Data from WattLog.pro, as of 31.10.2026.

Seven accounts have any ride at all. Five people uploaded their history from Strava or TCX files, 591 rides in total, and none of them recorded a new ride afterwards. The other two recorded four rides in the app between them. Apart from me and my test accounts, almost nobody rides in the app.

What it costs to run an app on AWS

From April to October AWS cost $168.22: $136.76 for services and $31.46 Polish VAT. I have no credits or discounts. I pay out of my own pocket, and the project earns nothing.

$0 $10 $20 $30 $40 EC2 server disk, IP, S3, DNS t3 CPU credits VAT Apr: EC2 server $2.99 Apr: disk, IP, S3, DNS $2.25 Apr: VAT $1.21 $6 Apr May: EC2 server $11.06 May: disk, IP, S3, DNS $6.93 May: t3 CPU credits $4.66 May: VAT $5.21 $28 May Jun: EC2 server $9.32 Jun: disk, IP, S3, DNS $7.09 Jun: t3 CPU credits $12.77 Jun: VAT $6.71 $36 Jun Jul: EC2 server $7.93 Jul: disk, IP, S3, DNS $7.36 Jul: t3 CPU credits $9.30 Jul: VAT $5.66 $30 Jul Aug: EC2 server $7.20 Aug: disk, IP, S3, DNS $7.27 Aug: VAT $3.33 $18 Aug Sep: EC2 server $10.71 Sep: disk, IP, S3, DNS $7.73 Sep: VAT $4.24 $23 Sep Oct: EC2 server $10.76 Oct: disk, IP, S3, DNS $11.43 Oct: VAT $5.10 $27 Oct CPU credit surcharges
Monthly AWS cost by component (cost without discounts, VAT at the top of each bar). Data from AWS Cost Explorer.

June was the most expensive month, $36 with VAT. In May, June and July I paid for CPU credits on the t3 instance, $26.73 in total, almost a fifth of the bill. In August I turned them off to cut the cost, and the bill with VAT dropped to $18. The downside: once the credits run out, the CPU slows down to its baseline, so the server may have less headroom while someone is riding.

October billUSD
EC2 server (t3.small, switched off at night 23:00–06:00)10.76
Public IPv4 address3.67
S3: route map tiles (one file for the whole planet, about 138 GB)3.40
Server disk (EBS)2.40
Route 53 (DNS zones)1.05
Secrets Manager0.79
Other (Cost Explorer, CloudFront)0.11
Total before tax22.19
VAT 23%5.10

I pay $3.40 a month for a map of the whole world while I ride in Europe. Tiles for Europe alone would be about 48 GB instead of 138 GB and save about $2 a month. I have not done it yet. I also have not bought a reserved instance, because I do not know whether the project will last a year.

Costs outside AWS

ItemAmount
Claude Code, Pro plan$20 a month
Apple Developer Program (iOS app)$99 a year
Domain wattlog.pro, 15.04.2026–14.04.2027PLN 23.37 incl. VAT (about €5)
Google Pixel 8a, to test on a real Android phonePLN 1,699 (about €395)
Zwift Click V2, to support this controller€13.75 incl. shipping
Favero Assioma PRO MX-1 pedals and the Upgrade Kit to MX-2, my first power meter everPLN 3,748 (1,949 + 1,799; about €870)

It was supposed to be cheaper than Zwift at $20. Today the subscription, the Apple account and AWS add up to about $50 a month before tax. I bought the hardware once, for about PLN 5,500 (around €1,280), and more than two thirds of that is the pedals. I bought those mostly for myself, for training, and they double as test hardware.

I did not count my time. There were weeks when I sat at the computer for 3–4 hours a day, less since August, so it comes to something like a half-time job. On top of that, separate hours of testing with the trainer and other devices.

What went wrong

  1. I built mostly for myself: ERG mode, a Bluetooth bridge, power meter support and Zwift Click. I am almost the only one who uses them.
  2. I never asked the people with no rides what stopped them.
  3. I wrote a lot of content without measuring whether it works: 548 clicks on 1,126 pages in half a year, an average of 0.49 clicks per page.
  4. I saved money on the server before I took care of the first steps in the app. Funnily enough, the plan below still includes cutting costs by $3.

Does it make sense

I do not know. The app works, it is just that almost nobody rides in it. 591 imported rides is more than I expected, but after importing nobody came back to ride.

Sometimes I wonder whether building an app with AI makes sense at all when it ends with me paying for my own project. I would like more people to come, and I am a little afraid of it: whether I can handle it technically and whether anyone will trust me enough to buy me a coffee. What I fear most is breaking someone's workout with a code change.

What makes me happy

Most of all, my own progress. After one training cycle planned and tracked in WattLog.pro my FTP went up from 178 to 193 W and my weight went down from 96 to 93 kg. Part of that rise is a different power meter between the tests, so a real gain of 4–6% is more likely than 8.4%. I wrote about it in the post on the 3+1 plan. The sample is one person, me, but it worked for me. The second moment like that was the analysis of my ride up St. Anne's Mountain. It showed me that the data I collect can be turned into conclusions. That ride led to posts about the Power Guide and about a second attempt on the same climb, and those led to new features and a post on smart fueling.

Competition

Zwift and Rouvy have a whole world and real routes, RideCave has a great interface. WattLog.pro is a dot moving along an elevation profile, plus a Strava integration. That dot is what I was looking for when I ran away from Zwift. I do not know how many cyclists want the same. I only know that I did.

When I will stop

My budget for the server and the subscription is $20–30 a month, and today I spend about $50, so I am already over it. Above my budget I would like the community to help. My energy runs out when I look at other people's projects: their features, their interfaces and their user numbers. Then I close the console, go for my own workout and sometimes think that no more people will come.

A maintenance mode, where the server runs and I add nothing, would be a relief. I just do not know whether it is realistic: libraries keep changing, and the Apple Developer account has to be paid every year.

What I am doing next

Three questions for you

If you ride indoors, or you once signed up for WattLog.pro, answer any of these, even in one sentence:

  1. Which training app do you use, and what tires you out about it or what is missing?
  2. If you signed up for WattLog.pro and did nothing with it: what stopped you?
  3. What would a calm app without a game or a virtual world need to have for you to try it?

You can reply through the contact form. I will read every answer.

Data and method

← All blog posts