Inspiration
Handling document workflows often comes with unnecessary friction: navigating complex web dashboards, manually downloading attachments, uploading them to signature services, and checking repeatedly to see if files have been signed.
I wanted to bring the entire lifecycle of document processing and signing directly into the developer's native habitat: the command line. The goal was to build a zero-friction CLI tool where a single natural language command from any directory could understand local context, trigger PDF transformations, dispatch legally binding eSign envelopes, and monitor completion automatically.
What it does
fellowagent is an autonomous, terminal-native CLI agent written in Go.
Directory Awareness: Instantly scans your current working directory and provides the agent with context of local files.
Natural Language Document Processing: Translates plain English/Spanish requests into automated actions like converting PDFs to images via Foxit PDF Services.
Direct eSign Integration: Bundles local files into a Foxit eSign envelope, sets up parties and permissions, and sends documents for legal signature with one command.
Asynchronous Watcher Mode: Bridges human latency by checking completed envelopes in the background, downloading the finalized
.zipbundles to your local folder, and notifying you when signatures land.Dual Execution Modes: Can run as an interactive REPL conversational agent or as a headless background monitor (
fellowagent --watch).
How we built it
Language & Architecture: Built natively in Go as a standalone binary for performance, simple distribution, and zero runtime dependencies.
Agent Core: Powered by
sashabaranov/go-openaihooked into Groq's high-speed inference running open models (qwen/qwen3.8-27b) with JSON Schema-based function calling.Foxit Direct Integration: A custom
foxitutilspackage communicating directly with Foxit REST APIs (PDF Services for conversions and Foxit eSign API for envelope lifecycle management).Concurrency & Contexts: Goroutines and cancellable contexts handle asynchronous status polling and background folder downloads without blocking the interactive CLI.
Challenges we ran into
Closing the Asynchronous Handoff: Machines operate in milliseconds, but humans take hours or days to sign documents. Designing the handoff boundary required moving beyond a one-off CLI call to build an interactive, cancellable watcher that queries envelope statuses and saves executed contracts.
API Separation: Managing two different authentication schemes and operational models—multipart form data uploads and polling for PDF Services versus base64 payloads and status web queries for eSign.
Pragmatic Architecture Pivots: Initially exploring MCP wrappers revealed runtime dependency hurdles for a single-binary goal. We chose to implement a pure, high-performance REST client in Go to preserve zero setup friction for the user.
Accomplishments that we're proud of
Building a single, clean Go binary that takes a prompt and handles everything from local file detection to remote cryptographic e-signing.
Designing the Watcher Mode, which seamlessly bridges terminal speed with human signature turnaround time.
Achieving instant startup and interaction speeds using fast LLM inference paired with native Go concurrency.
What we learned
How to design LLM function-calling workflows that translate ambiguous user prompts into strict API parameters.
Deep technical insights into Foxit's PDF Services and eSign APIs, particularly envelope structures, party sequencing, and asynchronous document status checks.
The importance of staying true to the user experience: sometimes bypassing heavy middleware in favor of clean, direct HTTP implementations yields a better CLI experience.
What's next for fellowagent: Terminal-Native PDF & eSign AI CLI
While still in its early alpha stage, this MVP embodies our vision for zero-friction productivity: bringing enterprise document workflows directly to students, developers, and professionals who live in the terminal. The project is fully open-source. Next steps include expanding support to the complete Foxit PDF Services catalog, introducing an ephemeral local web view for interactive signature-field coordinate placement (bridging the visual gap where CLIs fall short), and welcoming fellow builders to collaborate and refine the tool together.
Built With
- ai-agent
- api
- cli
- foxit
- go

Log in or sign up for Devpost to join the conversation.