All Blog Posts

Geofence Time Tracking: Building Modern Timesheet Apps

We're big users of the Harvest app. Which let's us manage our time by automatically starting/stopping timers when we arrive/leave the office. But from so many of us using the app, we unsurprisingly found a few ways it could be improved... With new and improved settings, the app uses geofencing to customise notifications and let people outside of CUBE use the app. Here's how we built the Sundown app for Harvest.

3 SIDED CUBE
4 Min Read

What is the Harvest time tracking app?

Harvest is an app 3 SIDED CUBE use on a daily basis.

Where’s my time going?

How much will projects cost?

What’re my team’s schedules looking like over the next few weeks?

Just a few of the questions that Harvest provides the answer to.

From time tracking to scheduling, organising your team, invoicing and even budgeting. The app is fundamental to our process and the way we manage our projects and our teams.

And it works great…

BUT, almost every morning and every time I get back from lunch I am greeted with this…

A useful app feature, unfortunately...

At least in my experience, attempting to use the “Remove 1:34 of Idle Time” often results in a “Sorry your timer was stopped elsewhere” error or results in all of my timer being removed.

To solve this problem?

I decided to build a small app that would enable and disable my harvest timers based on my proximity to the office. When I arrive at the office I wanted to be reminded to start my timers for the day and when I leave I just want the timer stopped automatically.

HarvestKit SDK (Software Development Kit).

Two years ago I began work on an SDK called HarvestKit that enables easy access to the Harvest Time Tracking API.

The project has sat dormant for quite some time although it was listed by Harvest as the only Swift SDK to integrate with their service at the time of its release.

What is the Sundown for Harvest app?

An iOS mobile app that uses geofencing to work out when you arrive and leave the office.

What is geofencing?

Geofencing uses network-based location identifiers (GPS/Wi-Fi/Cellular Data) to serve ads, alerts, notifications and other prompts to users who enter or exit a virtual perimeter, or ‘fence’…

This can be as simple as a circle drawn 100 feet around a location on Google Maps, as specified using APIs when developing a mobile app. Sarah White, CIO.

This ‘fence’ radius is created around a specific location, which can range from an entire country to a single building. And used for some really interesting things from local Snapchat filters to monitoring devices entering/exiting areas with high-level security.

So The Sundown app… uses Geofencing to monitor devices in our office and send notifications to these devices as they enter/exit the outlining ‘fence’.

What does the app do?

Arriving At The Office…

Sundown will give you ten minutes to get your coat off, make a coffee and sit down at your desk before politely prompting you via a notification to start a timer. Which you can do directly from the notification with the press of a button, so you don’t need to worry about choosing a project or task.

Leaving The Office…

At the end of the day you don’t need to worry about stopping your timer before you leave. Throw on your coat and walk straight out of the door. Once sundown detects that you have left the office it will stop your timers automatically and let you know.

The new settings screen…

Lets you decide if you want the app to take care of arrival and/or exit notifications and also allows you to change the location of the office so that people outside of CUBE can use the app.

The future of our Sundown app for Harvest?

Currently, this app is just for personal and internal use but it’s very close to being in a position where I could take it on as a full-time mobile app development project and submit it to the App Store.

If I get some time in the future I may consider doing exactly that.

Is the Sundown for Harvest app something you would use? Tweet us and let me know!

Published on 9 March 2018, last updated on 15 March 2023