Inspiration

The challenge asked us to build an agent that performs routine office work for at least 15 minutes while producing observable process and activity telemetry. We wanted to test whether a coherent workflow of researching websites, writing a report, and revising it could be automated visibly and measured honestly.

What it does

PersonaOS runs a browser and document workflow on a Windows VM. It visits approved mock websites, scrolls with varied pauses, and attempts a link interaction. It then opens Apache OpenOffice Writer, types a weekly progress report, changes its status from “pending” to “reviewed”, saves an .odt file, and verifies the saved text. A full session repeats meaningful tasks toward a 960-second target. The system records actions, timing, results, and available CPU/RAM samples for evaluation.

How we built it

We divided the project into a browser worker, an office worker, a shared behaviour engine, telemetry, and a session controller. Python coordinates the workflow. PyAutoGUI and Windows input controls drive visible desktop actions; the behaviour engine varies pauses and types character by character. The controller gives both workers the same behaviour engine, handles failures and cancellation, and collects their artifacts. A separate verifier checks the finished session folder.

Challenges we ran into

The VM had OpenOffice Writer instead of Microsoft Word, so we adapted the office workflow to save and verify .odt files. The VM also has no public internet, requiring offline dependency installation and organiser-provided mock sites. GUI focus, Save As dialogs, certificate errors, and access to Sysmon evidence all needed explicit checks rather than assumptions.

Accomplishments that we're proud of

We built an integrated workflow with smoke and full-session modes, a visible document revision, non-overwriting saves, structured telemetry, and automated artifact checks. Failures remain visible in the results: the browser does not bypass certificate warnings, and the system does not alter Windows logs or disguise its process ancestry.

What we learned

Reliable desktop automation needs more than a sequence of clicks. Window ownership, focus, saved-file verification, cancellation, and reproducible evidence matter just as much as completing the task. We also learned to distinguish what our application logs from what independent tools such as Sysmon and Process Explorer actually observe.

What's next for PersonaOS

We want to make browser navigation more reliable when websites change, support more document editors and formats, and compare recorded sessions with human-operated baselines. We also want to use the process and timing evidence to identify where the agent’s behaviour still differs from real office work.

Built With

  • apacheopenoffice
  • chrome
  • github
  • microsoft-edge
  • process-explorer
  • process-monitor
  • proxmox
  • psutil
  • pyautogui
  • pygetwindow
  • pytest
  • python
  • sysmon
  • windows
Share this project:

Updates

Submission history