{"adoption": {"forks": 333, "observed_at": "2026-08-28T04:07:56.519788+00:00", "stars": 3329}, "canonical_url": "https://ross.abutalabs.com/products/local-file-organizer", "card": {"archived": false, "artifact_type": "application", "description": "An AI-powered file management tool that ensures privacy by organizing local texts, images. Using Llama3.2 3B and Llava v1.6 models with the Nexa SDK, it intuitively scans, restructures, and organizes files for quick, seamless access and easy retrieval.", "domain": ["artificial-intelligence", "large-language-models", "developer-tools", "files", "privacy"], "enriched": true, "function": ["llm-inference", "nlp", "image-processing", "cli", "file-system"], "health_score": 29, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["QiuYannnn/Local-File-Organizer"], "name": "QiuYannnn/Local-File-Organizer", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2024-10-21T22:20:55+00:00", "repo": "QiuYannnn/Local-File-Organizer", "stars": 3329, "tags": ["file-organizer", "on-device-ai", "vision-language-model", "llama3", "nexa-sdk", "local-inference", "digital-decluttering", "desktop", "gpu"], "topics": ["file-organizer", "llm", "on-device-ai", "vlm", "llama3"], "urls": [], "use_cases": ["organize messy downloads folder with ai", "rename and sort photos by content locally", "declutter documents without uploading to cloud", "automatically categorize pdfs and spreadsheets", "on-device file management with llm", "sort files by content date or type"], "what_it_is": "A privacy-focused desktop application that uses on-device AI models (Llama3.2 3B and Llava v1.6 via Nexa SDK) to scan, understand, and reorganize local files like documents, images, and PDFs. It runs entirely locally, renaming and sorting files into intuitive folder structures without sending data to the cloud.", "when_to_avoid": ["you need audio, video, or ebook organization (not yet supported)", "you lack hardware to run local LLM/VLM models", "you want a polished GUI rather than a CLI workflow"], "when_to_choose": ["you want fully local, private AI file organization with no cloud calls", "you have a mix of text, image, and office files in disarray", "you want to preview sorting results with dry-run before committing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/local-file-organizer", "repo": "QiuYannnn/Local-File-Organizer", "role": "main", "score": 13}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:56.519788+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:41:44.173314+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f1c18d234451da3eb836fe313fe16daf80fba95d12ead3bd00787a7a74f8470", "fetched_at": "2026-08-28T04:07:56.519788+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiuYannnn/Local-File-Organizer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 50, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 711, "days_push": 681, "days_rel": 702, "gap_med": null, "n_releases_24m": 1}, "score": 13, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}