DEV Community

Jeremy Reevese
Jeremy Reevese

Posted on

How I Use GitHub Actions to Automate My Life (and My One-Person Company)

If you run a one-person company, you quickly learn a simple truth:

You’re always understaffed.
Automation is your only employee.

GitHub Actions has become one of my most reliable tools—not for CI/CD, not for deployments, but for running my life and my workflows.

In this post, I'll show exactly how I use GitHub Actions as a free, always-on automation engine to support my daily routines, my internal tools, and my one-person company’s operations.


Why GitHub Actions Works So Well for Solo Developers

GitHub Actions is:

  • free
  • cloud-based
  • reliable
  • cron-capable
  • easy to version-control
  • available 24/7
  • runs Python beautifully
  • great for small periodic jobs

For a solo developer, this makes it perfect as a personal automation engine.

Most people use it for CI/CD.

I use it to run my life.


What I Automate with GitHub Actions

Here’s my 2025 schedule of automations:

Daily

  • Generate Notion daily report
  • Backup Notion → CSV
  • Log productivity metrics
  • Sync tasks from different databases

Weekly

  • Weekly summary generation (Friday)
  • Back up content drafts
  • Update my “Company Operating Log”

Monthly

  • Archive old tasks
  • Export data snapshots
  • Rotate logs

Ad-hoc

  • Trigger FastAPI microservices
  • Trigger n8n workflows
  • Run small Python scripts

GitHub Actions is basically my personal cron server—and it’s 100% free.


Example: Daily Report Generator (Python + GitHub Actions)

This is one of my simplest, most useful automations.

Folder structure:

automation/
  daily_report.py
.github/
  workflows/
    daily-report.yml

Enter fullscreen mode Exit fullscreen mode

daily_report.py (Minimal Working Example)

import requests
import datetime

NOTION_KEY = "YOUR_NOTION_KEY"
DATABASE_ID = "YOUR_DATABASE_ID"

headers = {
    "Authorization": f"Bearer {NOTION_KEY}",
    "Notion-Version": "2022-06-28",
    "Content-Type": "application/json"
}

def create_report():
    today = datetime.date.today().isoformat()
    url = "https://api.notion.com/v1/pages"

    payload = {
        "parent": {"database_id": DATABASE_ID},
        "properties": {
            "Name": {
                "title": [{"text": {"content": f"Daily Report - {today}"}}]
            },
            "Date": {"date": {"start": today}}
        }
    }

    r = requests.post(url, headers=headers, json=payload)

    if r.status_code == 200:
        print("Created successfully")
    else:
        print("Error:", r.text)

if __name__ == "__main__":
    create_report()

Enter fullscreen mode Exit fullscreen mode

GitHub Actions workflow: .github/workflows/daily-report.yml

name: Daily Report

on:
  schedule:
    - cron: "0 1 * * *"  # Run every day at 01:00 UTC
  workflow_dispatch:

jobs:
  run-script:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"

      - name: Install dependencies
        run: pip install requests

      - name: Run script
        env:
          NOTION_KEY: ${{ secrets.NOTION_KEY }}
          DATABASE_ID: ${{ secrets.DATABASE_ID }}
        run: python automation/daily_report.py

Enter fullscreen mode Exit fullscreen mode

This workflow:

  • Runs every morning
  • Writes a fresh daily report into Notion
  • Requires no server
  • Costs $0
  • Never forgets to run

Other Automations I Run

Here are some of the other scripts powered by GitHub Actions in my stack:

1️⃣ Notion → CSV backup

Exports Notion database into CSV every midnight.

2️⃣ Weekly summary generator

Every Friday, my Python script:

  • fetches Notion logs
  • aggregates tasks
  • writes a weekly overview

3️⃣ Personal productivity logger

Tracks:

  • completed tasks
  • time blocks
  • work categories

4️⃣ Triggering n8n workflow

Using:

curl -X POST <n8n-webhook>

Enter fullscreen mode Exit fullscreen mode

5️⃣ FastAPI endpoint tests

Mini-checks to keep microservices alive.


Why This Approach Works for a Solo Developer

Because GitHub Actions gives you:

✔ A free server

No VPS. No maintenance.

✔ A reliable scheduler

Cron jobs in the cloud.

✔ A version-controlled automation hub

All workflows tracked.

✔ Secure secret storage

Notion API keys stored in GitHub Secrets.

✔ Perfect integration with Python

No “server setup”, just run scripts.

✔ The mindset shift

You stop doing things manually.

You start thinking in systems.


What’s Next in My Automation Roadmap

In 2025–2026 I plan to automate:

  • Invoice generation
  • Project heatmap analytics
  • Automatic content pipeline
  • FastAPI service scheduled tasks
  • Client updates via email/slack
  • AI-assisted knowledge base
  • Automated Upwork proposal logs

Automation is my second brain, and GitHub Actions is its backbone.


If You Want More

I can share:

  • How I manage secrets securely
  • How I deploy microservices
  • How my Notion → GitHub backup works
  • My full “Ops Dashboard” blueprint
  • My complete automation folder structure

Just comment and I’ll write it.

Thanks for reading — and happy automating!



Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.