While the Labor as Code™ (LaC) framework provides unparalleled transparency, automation, and collaboration, its reliance on GitOps principles, repositories, and Markdown-based content creation can pose challenges for non-technical staff, such as:
-
Unfamiliarity with Git and Repositories:
- Non-technical staff may not have experience with tools like GitHub, GitLab, or BitBucket.
-
Markdown and Frontmatter Complexity:
- Using structured formats like Markdown with frontmatter for content might feel technical or unintuitive.
-
Navigation and Workflow Complexity:
- Navigating repositories, issues, and pull requests can feel overwhelming compared to traditional tools like CRMs or project management platforms.
The key to overcoming these challenges lies in treating the GitOps-based infrastructure as the backend foundation and building user-friendly Web UIs and applications on top of it. These overlays provide intuitive interfaces for non-technical users while retaining the flexibility, scalability, and automation benefits of LaC.
In this model, GitOps tools like repositories, Markdown content, and GitHub Projects are treated as backend infrastructure for managing business lifecycles. The infrastructure acts as:
- A Single Source of Truth: Ensuring that all content, tasks, and processes are version-controlled and auditable.
- Scalable and Flexible Foundation: Supporting both technical and non-technical workflows.
- Integration Hub: Seamlessly connecting with other tools and APIs for automation.
By decoupling the infrastructure from the user interface, organizations can focus on maintaining the benefits of GitOps while addressing usability concerns.
To make LaC accessible for non-technical staff, user-friendly overlays can be layered on top of the GitOps infrastructure. These overlays include:
- What They Do:
- Abstract the complexity of repositories, Markdown, and Git workflows.
- Provide intuitive interfaces for creating, editing, and managing content and tasks.
- Examples:
- Netlify CMS: A headless CMS that uses Git as the backend but provides a user-friendly UI for content creation.
- Prose.io: A simple Markdown editor integrated with GitHub.
- Custom-built dashboards tailored to specific business lifecycles.
- What They Do:
- Offer Kanban boards or task lists that sync directly with GitHub Issues or Projects.
- Examples:
- ZenHub: A project management tool that overlays GitHub Projects.
- Linear: Syncs with GitHub to offer a polished task management experience.
- What They Do:
- Allow users to edit Markdown content in a "What You See Is What You Get" (WYSIWYG) interface, hiding the complexity of Markdown syntax.
- Examples:
- StackEdit: A Markdown editor with WYSIWYG features.
- Custom in-house editors.
- What They Do:
- Automate common Git workflows like pull requests, commits, and merges.
- Examples:
- GitHub Actions: Automates repetitive tasks like generating reports, notifying stakeholders, or merging updates.
- CI/CD Integrations: Handle updates and deployments without manual Git commands.
- Ease of Use:
- Users interact with familiar UI elements like forms, dashboards, and drag-and-drop interfaces.
- Seamless Integration:
- Changes made through the UI automatically sync with the GitOps backend, ensuring consistency.
- Maintains Flexibility:
- The underlying infrastructure remains adaptable to changes in business processes.
- Preserves Transparency and Auditability:
- All actions in the UI are recorded in the repository, ensuring full traceability.
- Scales Across Teams:
- Different overlays can be tailored for marketing, sales, support, and other teams while sharing the same backend.
- Leads and tasks are stored as Markdown files with frontmatter in a GitHub repository.
- GitHub Issues are used to track tasks and progress.
- A Web UI allows sales reps to:
- Enter new leads through forms.
- Drag and drop tasks across pipeline stages (e.g., Lead → Proposal → Closing).
- View reports and metrics in real-time dashboards.
- GitHub Actions notify sales reps about follow-ups or deal deadlines.
- CI/CD workflows generate weekly sales performance reports.
While using GitOps infrastructure (repositories, Markdown, GitHub Issues) for managing business lifecycles provides transparency, automation, and flexibility, it does introduce challenges when it comes to analytics and querying, including:
-
Decentralized Content:
- Business data is spread across Markdown files, Issues, and repository metadata, making aggregation complex.
-
Unstructured Formats:
- While Markdown and frontmatter provide some structure, they are not inherently designed for relational querying.
-
Performance and Scale:
- Analyzing large datasets across multiple repositories requires manual extraction or custom scripts, which can be inefficient.
-
Cross-Repository Reporting:
- Combining data from multiple repositories for unified analysis can be cumbersome.
surveilr solves these challenges by ingesting diverse content sources (e.g., Markdown files, GitHub Issues, metadata) into a uniform SQL schema, enabling powerful querying and analytics capabilities. By integrating with GitOps infrastructure, surveilr acts as a bridge between unstructured Git content and structured data systems.
-
Ingestion:
surveilrpulls data from:- Markdown files with frontmatter.
- GitHub Issues, Projects, and Discussions.
- Repository metadata (e.g., commit history, tags).
- These sources are standardized into a SQL database schema.
-
SQL Schema for Business Lifecycles:
- Data is stored in a structured format, with tables for:
- Tasks: Representing Issues, pull requests, and to-dos.
- Content: Markdown files with parsed frontmatter.
- Metadata: Commit history, authorship, and timestamps.
- Data is stored in a structured format, with tables for:
-
Querying and Analytics:
- Teams can write SQL queries to:
- Generate pipeline metrics (e.g., deal conversion rates, customer health scores).
- Track activity timelines and trends.
- Build cross-repository reports on project or lifecycle progress.
- Teams can write SQL queries to:
-
Automation:
- GitHub Actions or other CI/CD tools can trigger
surveilrprocesses to:- Regularly update the SQL database with the latest Git content.
- Automatically generate dashboards or export data to BI tools.
- GitHub Actions or other CI/CD tools can trigger
- Use Git repositories for LaC infrastructure.
- Store lifecycle data (e.g., leads, customer success metrics) in Markdown files with frontmatter.
- Configure
surveilrto sync data from:- Markdown files in
sales-pipeline/andcustomer-success/repositories. - GitHub Issues labeled as "Feedback" or "Tasks."
- Repository metadata for tracking contributor activity.
- Markdown files in
- (TODO: update this to match RSSD structures)
surveilringests the data intouniform_resourcetable rows like:sales_pipeline ├── id ├── name ├── stage ├── value ├── owner ├── last_updated issues ├── id ├── title ├── status ├── repository ├── labels ├── created_at ├── updated_at
- Run SQL queries to:
- Identify deals stuck in the pipeline.
- Aggregate customer health scores across repositories.
- Measure team performance by tracking task completion rates.
- Use GitHub Actions to:
- Trigger
surveilringestion after every commit or Issue update. - Generate SQL reports automatically and store them in a
reports/repository. - Send notifications or summaries to Slack, email, or dashboards.
- Trigger
- Simplified Access:
- SQL databases provide a familiar querying format for analysts.
- Dashboards built on top of the SQL schema eliminate the need to navigate Git repositories.
- Unified Data Layer:
- Data from multiple repositories and formats is centralized in one place for analysis.
- Maintain Flexibility:
- The GitOps infrastructure remains intact, while
surveilrhandles data translation.
- The GitOps infrastructure remains intact, while
- Scalable Analytics:
- Easily run cross-lifecycle reports without modifying the GitOps setup.
- Enhanced Automation:
- Automate ingestion and analysis workflows to keep data up-to-date.
- Problem: Sales teams want to analyze win rates by pipeline stage.
- Solution:
surveilringests pipeline data from Markdown files.- Query the SQL schema:
SELECT stage, COUNT(*) AS deals, SUM(value) AS total_value FROM sales_pipeline GROUP BY stage;
- Problem: Customer success teams need to monitor health scores and churn risks.
- Solution:
surveilringests health score metrics and customer feedback.- Build a dashboard showing trends and at-risk accounts.
- Problem: Managers want to track task completion rates across repositories.
- Solution:
- Query tasks from the
issuestable to generate completion metrics.
- Query tasks from the
While GitOps infrastructure provides enormous benefits in transparency, automation, and flexibility, it can make querying and analytics more complex. Tools like surveilr bridge this gap by ingesting Git content into a structured SQL database, enabling easy querying and powerful analytics. This combination:
- Preserves the GitOps Foundation: Ensuring flexibility and scalability.
- Simplifies Analytics: Making lifecycle data accessible to analysts and non-technical users.
- Automates Insights: Streamlining data extraction and report generation with CI/CD tools.
By adopting tools like surveilr, organizations can unlock the full potential of Labor as Code™, ensuring all teams—from technical to non-technical—can benefit from a unified, data-driven approach to business operations.