Trustworthy Time Tracking for Remote Work: Introducing an Open-Source Solution

Search for a command to run...

No comments yet. Be the first to comment.
If you are a homelab owner with a remote cluster of servers running on Proxmox VE, you might have already used the Software-Defined Networking (SDN) capabilities of Proxmox VE. Isolating workloads is

I've recently completed a thorough testing of Langfuse (v3.95.2 OSS), and I wanted to share my observations on its capabilities and overall suitability for AI model observability. My overall impression is that Langfuse is a robust and beneficial tool...

It was a tough spot. One of our valued clients, who I've worked with for a while, recently had a major headache: a key virtual machine (VM) on their office server lost important data. Everything was gone – all the VM configuration files and critical ...

The AI world is buzzing about Deepseek, a powerful language model making waves for its performance and open availability. It's generating a lot of hype right now because it offers a compelling alternative to closed-source models, allowing developers ...

Since Ubuntu 16.04, unattended upgrades have been a standard feature. I think, at first glance, the idea of automatic security updates sounds fantastic. It's like having a little helper constantly patching those pesky vulnerabilities while you sleep ...

Since the COVID-19 pandemic, more and more people are working remotely. It has become a popular choice for organizations and individuals. But there's one big problem: trust. Companies can't always be sure if their remote employees are working or just slacking off. To solve this, many use time tracker software. However, the problem is that employees don't trust these tools. They worry about their privacy and how their data is being used. That's why I came up with an idea for a project: creating an open-source time tracker.
As a freelancer who works remotely, I faced the same trust issues. Existing time trackers just didn't cut it. They were closed-source and made me worried about how my data was being handled. Most of them ran silently in the background, taking screenshots and tracking my keystrokes. This raised privacy concerns and made me even more skeptical. It was clear that we needed a more transparent approach to time tracking.
That's where my project "Scout" comes in. I developed an open-source time tracker using Appwrite Cloud for Appwrite Cloud and Hashnode Hackathon, that fosters transparency and trust. By making it open-source, both companies and employees can have a say in how it's built and ensure that it's trustworthy. With open-source software, anyone can look at the code to make sure there are no hidden features compromising privacy or misusing data.
Scout is a desktop application that currently supports the GNU/Linux operating system. To access Scout, users can easily authenticate using their phone number, and the process is quick and hassle-free.
With Scout, users can send or receive contracts. A contract represents the details of a specific job or position, whether it's a project in freelancing or a corporate job role. Before starting work on a contract, the receiver must accept it. If the receiver is not interested in working on the project, they can simply decline the contract.
Likewise, the sender of the contract has the ability to either end or hold the contract if needed.
When it comes to tracking work hours, employees can clock in to start recording their time using the tracker feature. To ensure that the client is actively working on the project, the tracker will randomly capture screenshots. Once the employee has finished working, they can clock out. They can have multiple such work sessions, and all the records of these sessions are securely saved in the Appwrite cloud database. Both the contract employer and the employee can see the work diary of the contract. The work diary contains the list of the work sessions and the screenshots captured. The screenshots taken during work sessions are stored in the Appwrite cloud storage for easy access and reference.
Flutter
flutter_bloc
get_it
Appwrite Cloud
Authentication
Database
Storage
Scout uses Flutter for the frontend and Appwrite Cloud for the backend. It utilizes Appwrite's phone authentication for secure login and its database and storage features to store user data and screenshots
Appwrite's amazing support for Flutter through the package made it an excellent choice for Scout.
During the development of this app, I encountered a few challenges. The primary hurdle was the lack of an existing package in Flutter that could capture desktop screenshots in Linux. To overcome this, I had to develop my own plugin. You can find a blog post detailing the process and development of the plugin.
Plugin: ScreenshotX
Blog: Interacting with System Services using DBus Dart
I spent a significant portion of my time and effort in building this plugin. As a result, the remaining time for project completion was limited, and I started to worry about meeting the deadline.
However, this is where Appwrite proved invaluable. With its comprehensive backend features, I was able to leverage its capabilities and complete the project on time, despite the limited timeframe.
https://github.com/aadarshadhakalg/scout