# Adding a timer to Beeminder's web interface

**URL:** https://forum.beeminder.com/t/adding-a-timer-to-beeminders-web-interface/10480
**Category:** Tech
**Created:** [August 4, 2022, 8:37pm UTC](https://forum.beeminder.com/t/adding-a-timer-to-beeminders-web-interface/10480 "2022-08-04T20:37:25Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![alltom](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/alltom/32/4379_2.png) [@alltom](https://forum.beeminder.com/u/alltom)
#### Post date: [August 4, 2022, 8:37pm UTC](https://forum.beeminder.com/t/adding-a-timer-to-beeminders-web-interface/10480/1 "2022-08-04T20:37:25Z")

</div>

I usually use the timer built into the iOS app, but at work I really wanted something on my desktop. So I wrote a line of JavaScript I can paste into the developer tools console to make any goal page’s input box auto-increment:

```auto
timer = setInterval(() => { const input = document.querySelector('input.mathyval'); if (!input.value) { startTime = new Date(); } input.value = ((new Date() - startTime) / 60000).toFixed(2); }, 1000);

```

It resets whenever I clear the box, which happens when I click “Add Progress” or manually delete its contents:

![76fbadf1-6925-4f23-b037-5ce5cd92f30a](https://us1.discourse-cdn.com/flex019/uploads/beeminder/original/2X/8/8b01163ab14a8e7763653775226d7aedcfdae972.gif)

---

<div class="post-metadata">

### Author: ![narthur](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/narthur/32/5113_2.png) [@narthur](https://forum.beeminder.com/u/narthur)
#### Post date: [August 4, 2022, 10:17pm UTC](https://forum.beeminder.com/t/adding-a-timer-to-beeminders-web-interface/10480/2 "2022-08-04T22:17:31Z")

</div>

This is super clever! I wonder if it could be turned into a bookmarklet?

---

<div class="post-metadata">

### Author: ![rperce](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/rperce/32/4197_2.png) [@rperce](https://forum.beeminder.com/u/rperce)
#### Post date: [August 5, 2022, 1:00am UTC](https://forum.beeminder.com/t/adding-a-timer-to-beeminders-web-interface/10480/3 "2022-08-05T01:00:04Z")

</div>

Yup! Any blob of JS that you can paste in the console also can be wrapped in `javascript:(()=>{ ... })()`, in general. Along with a little minification—not sure if necessary, but some browsers used to get grumpy about spaces iirc?

```auto
javascript:(()=>{setInterval(()=>{i=document.querySelector('input.mathyval');if(!i.value){s=Date.now()}i.value=((Date.now()-s)/60000).toFixed(2)},1000)})()

```
