Inspiration Researching websites, preparing spreadsheets, and writing reports can turn one assignment into hours of repetitive work. I built OfficeFlow: The Unpaid Interns to give those tasks to a team of digital assistants. What it does OfficeFlow browses websites, creates spreadsheets with formulas, and writes reports through Chrome and LibreOffice. Its behaviour includes varied typing speeds, reading pauses, scrolling, and corrected typing errors. How I built it I used Python, LangGraph, Pydantic, SQLite, and asyncio. Browser and Office agents transfer responsibility according to expertise. A code-based Authority Manager lets one agent control the desktop at a time, while a Verifier checks the saved results. The current demo uses reproducible code policies with zero model calls. Challenges and lessons The biggest challenges were coordinating one desktop, avoiding duplicate edits, and balancing natural behaviour with accurate output. I learned that reliable automation needs checkpoints and verification, while human-like behaviour requires context beyond random delays. Results and next steps The demo completed 22 verified actions, five handoffs, and 7/7 activity checks. The Python runner averaged 3.1% CPU and peaked at 136 MiB RAM. Timing comparisons use one person’s calibration recording, so broader human similarity remains unproven. Next, I plan to support more workflows and evaluate independent sessions from multiple people.

Built With

  • asyncio
  • chrome
  • desktop-automation
  • langgraph
  • libreoffice
  • macos
  • multi-agent-systems
  • pydantic
  • python
  • sqlite
Share this project:

Updates

Submission history