Skip to main content
This example demonstrates Fliiq’s daemon, scheduled jobs, and progressive memory — a daily fitness coaching job that adapts based on your history.

The Setup

A user wanted daily workout reminders tailored to their tennis training goals. They asked Fliiq in a chat session:
"Set up a daily fitness coaching job that runs at 11am. I play competitive
tennis and want to improve my speed and endurance. Track my progress over time."

What Fliiq Created

The agent called create_job and wrote this YAML:
name: tennis-fitness-coach
trigger:
  type: cron
  schedule: "0 15 * * *"       # 3pm UTC = 11am EDT
prompt: |
  You are my personal tennis fitness coach. Read your job memory
  to see my workout history and goals. Today, suggest a workout
  focused on tennis-specific fitness (speed, agility, endurance).

  Adapt based on what I did yesterday — don't repeat the same
  workout two days in a row. Track progression (weights, reps,
  distances) and note improvements.

  Keep it concise: warm-up, main workout, cool-down.
skills:
  - memory_read
  - memory_write
  - get_current_time
enabled: true

How It Works

First Run

The agent has no history, so it creates a baseline:
# Tennis Fitness Coach — Job Memory

## Goals
- Improve lateral speed for court coverage
- Build endurance for 3-set matches
- Strengthen serve power (shoulder/core)

## Workout Log

### 2026-02-08 (Day 1)
- Warm-up: 5min jump rope, dynamic stretches
- Main: Lateral shuffle drills (4x30s), resistance band shoulder rotations,
  3x12 medicine ball slams, 20min interval run (1min sprint/2min jog)
- Cool-down: 10min stretch, foam roll quads

Subsequent Runs

Each day, the agent reads its memory, sees what was done previously, and varies the workout:
### 2026-02-09 (Day 2)
- Yesterday was speed-focused, switching to endurance
- Main: 30min steady-state run, 3x20 bodyweight squats, plank holds
  (3x45s → progressed from 3x30s on Day 1), agility ladder drills
- Note: Increased plank hold from 30s to 45s. Good progression.

Over Weeks

The memory accumulates workout history. The agent tracks progression:
## Progress Notes
- Plank: 30s → 45s → 60s over 3 weeks
- Interval run pace: improving, can sustain 1min sprint at higher speed
- Lateral agility: noticeably quicker change of direction

Adding Telegram Delivery

After a week of the job running, the user wanted daily workouts delivered straight to Telegram instead of just logging to the audit trail. They told Fliiq:
"The tennis-fitness-coach job is running successfully but not delivering
messages to Telegram. Can you fix it?"
Fliiq investigated and found that its own job delivery system only supported email and SMS — Telegram wasn’t wired up yet. In a single conversation, the agent:
  1. Read the job config and found delivery.type: telegram was already set
  2. Diagnosed that the executor’s _build_delivery_hint() function had no Telegram branch
  3. Added Telegram delivery support to the executor
  4. Added send_telegram to the job’s skills list
  5. Sent a test message to verify — delivered instantly
The whole fix took about 60 seconds. The next scheduled run delivered a full workout plan to Telegram:
🎾 Tennis Fitness Coach — Tuesday, Feb 17

Today: Power & Rotational Strength (45 min)

Warm-up (5 min)
☐ Jump rope — 2 min
☐ Arm circles + hip openers — 3 min

Main (35 min)
☐ Medicine ball rotational throws — 4×8 each side
☐ Single-leg Romanian deadlifts — 3×10 each
☐ Resistance band forehand/backhand pulls — 3×12
☐ Box jumps — 4×6
☐ Plank with shoulder taps — 3×40s

Cool-down (5 min)
☐ Shoulder stretch + quad stretch + hip flexors

💡 5.0 Focus: At tournament level, every shot is hit
with full-body rotation. 4.0 players arm the ball —
train the kinetic chain so power comes from the ground up.

Reply with completion status to log to memory!

Other delivery options

SMS delivery works the same way:
delivery:
  type: sms
  to: "+1555123456"
Or email:
delivery:
  type: email
  to: "you@gmail.com"

Managing the Job

fliiq job list                          # See status and next run
fliiq job logs tennis-fitness-coach     # View run history
fliiq job output tennis-fitness-coach   # Last workout text
fliiq job run tennis-fitness-coach      # Manual trigger

The Key Insight

The combination of scheduled execution + per-job memory + delivery channels creates a persistent, adaptive agent that reaches you where you are. Each run builds on the last. The agent isn’t just generating random workouts — it’s tracking your progression, varying exercises, adapting to your performance, and delivering results to your phone. When the delivery channel wasn’t wired up, Fliiq diagnosed and fixed the gap itself — no manual coding required. This self-fixing pattern means Fliiq’s capabilities grow as you use it. This pattern applies to any domain: language learning, daily journaling, project status tracking, email digests with deduplication.