cd ~ / blog Experimental AI Projects 2 min read

Tracking Personal Goals with a Custom AI Agent

Capability: Personal Informatics
Outcome: Automated daily goal visualization
Tools Used:
RustLocal LLMSQLite

Building Personal Infrastructure

Most goal-tracking apps fail because they force you to conform to their data model. You end up spending more time managing the app than doing the work. For 2026, I wanted a different approach: a system that lives entirely on my local machine, respects my privacy, and adapts to my workflows.

The solution was to build a local, Rust-based AI agent that acts as a quantified-self daemon. It silently monitors my commit logs, my local task runner, and a simple SQLite database where I log my fitness metrics.

The Rust Agent

I chose Rust because I wanted this agent to run as a low-footprint background service. It doesn’t need a heavy web framework.

The architecture is straightforward:

  1. Data Ingestion: A cron-triggered Rust binary reads my local git commits and a local SQLite file.
  2. Analysis: It feeds this raw data into a local LLM via llama.cpp using a predefined schema.
  3. Visualization: The LLM generates a brief markdown summary and a Vega-Lite JSON specification for charting.

Here’s a snippet of the SQLite integration:

use rusqlite::{Connection, Result};

fn fetch_weekly_metrics(conn: &Connection) -> Result<Vec<String>> {
    let mut stmt = conn.prepare("SELECT date, miles_run, commits FROM daily_metrics WHERE date >= date('now', '-7 days')")?;
    let metrics_iter = stmt.query_map([], |row| {
        Ok(format!("Date: {}, Run: {}mi, Commits: {}", row.get::<_, String>(0)?, row.get::<_, f64>(1)?, row.get::<_, i32>(2)?))
    })?;

    let mut metrics = Vec::new();
    for metric in metrics_iter {
        metrics.push(metric?);
    }
    Ok(metrics)
}

The magic happens when the LLM parses this structured data. Because the data never leaves my machine, I can feed it highly personal context without worrying about data leakage. The output is a daily markdown dashboard that actually means something to me.

Takeaway

Building your own local AI agent for goal tracking gives you total control over your data and allows for deeply personalized insights that off-the-shelf apps can’t match.