Skip to content
Sharayu Rasal
← All projects

SmartCache AI / Local AI / Background systems

Implemented

Useful content, ready before the signal drops.

An offline content curator for commuters. Scheduled ingestion builds a content pool, local-model agents select from it, and background workers prepare downloads.

Personal projectDjango · AutoGen · Ollama · Celery

My contribution

My work connects deterministic feed ingestion, an AutoGen recommendation workflow, and queued downloads. The central design choice is separating content collection from the model's judgment about what to recommend.

Architecture walkthrough

Follow the request.

Choose a path, then select a component to inspect its role, failure modes, and source code.

SmartCache AI

Scheduled jobs, parsing, dedupe, storage. No model is involved anywhere above the line, and the repository says so out loud.

Interactive architecture illustration. No live requests, model calls, or calendar writes occur here.

Engineering decisions

Where the trade-offs live.

  1. 01

    Collect content with a deterministic pipeline.

    Scheduled source-specific ingestion parses feeds, normalizes records, and deduplicates content into a shared pool. These steps run without a model. The recommendation team works with the content the pipeline has already collected.

    The trade-off

    New source types require code, and feed changes can break a parser. That maintenance cost buys predictable collection behavior and avoids spending inference on routine parsing.

  2. 02

    Keep model execution local.

    The AutoGen team uses Llama 3.1 through Ollama. Discovery, download selection, and summarization operate around the commuter's preferences and time window.

    The trade-off

    Local inference avoids a hosted token bill but still costs compute, memory, and energy. Model quality and latency depend on the machine, and an unavailable Ollama process disables the agent features.

  3. 03

    Separate a recommendation from a completed download.

    Celery and Redis carry the background work. Download tasks enforce limits and update status, while Django Channels communicates progress to the browser. Readiness depends on content reaching the device before the commute starts.

    The trade-off

    Source access and downloads still require connectivity. Workers can fail or fall behind; recommending useful content is only valuable if the transfer finishes in time.

Evidence & limitations

What the work establishes.

The implementation separates source ingestion, local-model recommendations, and download tasks. The model runs through Ollama; source collection and media downloads still need connectivity. Offline readiness depends on completing the download before departure.

What I would validate next

  1. 01Compare agent recommendations against a deterministic preference-based baseline.
  2. 02Measure download completion before the commute window under slow connections.
  3. 03Record local memory use, inference latency, and recovery after a worker failure.