<?php
// Feedback form handler - saves suggestions to markdown file
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST['suggestion'])) {
    $suggestion = htmlspecialchars(trim($_POST['suggestion']));
    $digestDate = basename(__DIR__);
    $timestamp = date('Y-m-d H:i:s');

    $entry = "\n## From digest: $digestDate\n";
    $entry .= "**Submitted:** $timestamp\n\n";
    $entry .= "$suggestion\n\n---\n";

    // Path: from digest-archive/date/ to project root
    file_put_contents(__DIR__ . '/../../SUGGESTIONS-FROM-USER.MD', $entry, FILE_APPEND | LOCK_EX);
    $submitted = true;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Digest — Jan 20, 2026</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;500;600&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="../../WEB/css/styles.css">
    <link rel="icon" type="image/png" href="../../WEB/assets/favicon.png">
</head>
<body>
    <div class="container">
        <div class="main-card">

            <header class="page-header content-item">
                <span class="page-header__date">January 20, 2026</span>
                <span class="page-header__credits">AI-DIGEST BY MAURO SICARD</span>
            </header>

            <!-- PRODUCT HUNT SECTION -->
            <div class="source-header content-item">
                <img src="../../WEB/assets/producthunt-logo.svg" alt="Product Hunt" class="source-header__logo">
                <span class="source-header__label">From Product Hunt</span>
            </div>

            <div class="source-tags content-item">
                <a href="https://producthunt.com" class="source-tag">Product Hunt</a>
            </div>

            <p class="section-intro content-item">MCP development tools, local AI builders, and SVG animation utilities stood out today.</p>

            <a href="https://mcpjam.com" class="card card--ph content-item">
                <img class="card__favicon" data-size="32" alt="">
                <div class="card__content">
                    <span class="card__title">MCPJam Inspector — Test ChatGPT apps and MCP servers locally</span>
                    <span class="card__desc">Chrome DevTools-like emulator for widget testing, OAuth debugger for authorization flows, LLM playground for testing against any model. No ngrok or ChatGPT subscription needed. Apache 2.0 licensed.</span>
                    <div class="card--ph__meta">
                        <span class="card--ph__votes">&#9650; 120</span>
                        <span>·</span>
                        <span>mcpjam.com</span>
                    </div>
                </div>
            </a>

            <a href="https://eval.rippletide.com/" class="card card--ph content-item">
                <img class="card__favicon" data-size="32" alt="">
                <div class="card__content">
                    <span class="card__title">Rippletide Eval CLI — Evaluate AI agents with hallucination detection</span>
                    <span class="card__desc">CLI tool that generates test questions from agent knowledge, supports PostgreSQL and Pinecone for RAG evaluation. Checks factual claims against verified sources and outputs detailed reports.</span>
                    <div class="card--ph__meta">
                        <span class="card--ph__votes">&#9650; 143</span>
                        <span>·</span>
                        <span>rippletide.com</span>
                    </div>
                </div>
            </a>

            <a href="https://moldable.sh" class="card card--ph content-item">
                <img class="card__favicon" data-size="32" alt="">
                <div class="card__content">
                    <span class="card__title">Moldable — Build local apps through AI conversation</span>
                    <span class="card__desc">Describe what you need, iterate via natural language. All code and data stays in ~/.moldable/ on your machine. Supports Anthropic, OpenAI, Google Gemini models. Free, no account required. macOS only.</span>
                    <div class="card--ph__meta">
                        <span class="card--ph__votes">&#9650; 93</span>
                        <span>·</span>
                        <span>moldable.sh</span>
                    </div>
                </div>
            </a>

            <a href="https://stroke.abhii.space" class="card card--ph content-item">
                <img class="card__favicon" data-size="32" alt="">
                <div class="card__content">
                    <span class="card__title">Stroke — Create hand-drawn SVG animations</span>
                    <span class="card__desc">Draw in canvas, preview animations, export as React components with Motion library. Built with Next.js and TypeScript. Great for logos, signatures, and illustrations. Open source.</span>
                    <div class="card--ph__meta">
                        <span class="card--ph__votes">&#9650; 88</span>
                        <span>·</span>
                        <span>stroke.abhii.space</span>
                    </div>
                </div>
            </a>

            <!-- AI & LLMs SECTION -->
            <div class="source-header content-item">
                <img src="../../WEB/assets/reddit-logo.svg" alt="Reddit" class="source-header__logo">
                <span class="source-header__label">From Reddit</span>
            </div>

            <div class="source-tags content-item">
                <a href="https://reddit.com/r/openai" class="source-tag">r/openai</a>
                <a href="https://reddit.com/r/singularity" class="source-tag">r/singularity</a>
                <a href="https://reddit.com/r/LocalLLaMA" class="source-tag">r/LocalLLaMA</a>
            </div>

            <p class="section-intro content-item">AI lab CEOs warn of workforce impacts, OpenAI ships audio models, and the local LLM community pushes boundaries with tiny models and massive builds.</p>

            <a href="https://www.euronews.com/next/2026/01/20/ai-at-davos-2026-from-work-to-useful-and-safe-ai-heres-what-the-tech-leaders-have-said" class="card card--featured content-item">
                <div class="card--featured__header">
                    <img class="card__favicon" data-size="28" alt="">
                    <span class="card--featured__title">DeepMind and Anthropic CEOs: AI coming for junior roles</span>
                </div>
                <div class="card--featured__body">
                    <p>At Davos, Google DeepMind CEO Demis Hassabis and Anthropic CEO Dario Amodei both said AI is starting to impact junior-level roles at their own companies.</p>
                    <p>"We're going to see this year the beginnings of maybe it impacting the junior level." First explicit admission from AI lab CEOs about workforce impact.</p>
                </div>
                <div class="card--featured__meta">
                    <span>euronews.com</span> · <span>r/singularity</span>
                </div>
            </a>

            <a href="https://openrouter.ai/openai/gpt-audio" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">OpenAI launches GPT Audio models via OpenRouter</span>
                    <span class="card__desc">New audio models with upgraded decoder for more natural voices. GPT Audio: $32/M input, $64/M output. GPT Audio Mini: $0.60/M for cost-efficient option. First generally available audio models from OpenAI.</span>
                </div>
            </a>

            <a href="https://www.youtube.com/watch?v=mmKAnHz36v0" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Demis Hassabis: 50% chance of AGI by 2030</span>
                    <span class="card__desc">At Bloomberg Davos interview, Hassabis gave 50% probability of AGI by 2030. Defines AGI as systems with all core human cognitive abilities. Notes current models still lack scientific creativity and continuous learning.</span>
                </div>
            </a>

            <a href="https://reddit.com/r/LocalLLaMA/comments/1qi4uj2/" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">768GB fully enclosed mobile AI build</span>
                    <span class="card__desc">Impressive local rig: Threadripper Pro 3995WX, 512GB RAM, 256GB VRAM (8x 3090 + 2x 5090) in Thermaltake Core W200. ~$17k total. Built for running large MoE models like DeepSeek V3 and video generation.</span>
                </div>
            </a>

            <a href="https://huggingface.co/LiquidAI/LFM2.5-1.2B-Thinking" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Liquid AI releases sub-1GB thinking model</span>
                    <span class="card__desc">LFM2.5-1.2B-Thinking is a reasoning model under 1GB (900MB). Generates internal thinking traces before answering. Matches Qwen3-1.7B thinking mode on most benchmarks. Runs entirely on-device.</span>
                </div>
            </a>

            <p class="section-intro content-item">Quick hits from local LLM research.</p>

            <a href="https://huggingface.co/ag14850/Mosquito" class="card card--link is-compact content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Mosquito: 7.3M parameter "brain-size" model</span>
                    <span class="card__desc">Surprisingly capable tiny model that answers many general knowledge questions. Demo on Hugging Face Spaces.</span>
                </div>
            </a>

            <a href="https://github.com/deepseek-ai/FlashMLA" class="card card--link is-compact content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">DeepSeek FlashMLA updated with "model1" reference</span>
                    <span class="card__desc">New code hints at upcoming model release. Community speculation on whether this is DeepSeek V4.</span>
                </div>
            </a>

            <!-- GENAI MEDIA SECTION -->
            <div class="source-header content-item">
                <img src="../../WEB/assets/reddit-logo.svg" alt="Reddit" class="source-header__logo">
                <span class="source-header__label">From Reddit</span>
            </div>

            <div class="source-tags content-item">
                <a href="https://reddit.com/r/StableDiffusion" class="source-tag">r/StableDiffusion</a>
                <a href="https://reddit.com/r/comfyui" class="source-tag">r/comfyui</a>
            </div>

            <p class="section-intro content-item">Multi-model video pipelines, Flux Klein optimization tricks, and new tools for consumer hardware.</p>

            <a href="https://youtu.be/54IxX6FtKg8" class="card card--featured content-item">
                <div class="card--featured__header">
                    <img class="card__favicon" data-size="28" alt="">
                    <span class="card--featured__title">Full video pipeline on a 5070ti: Z-Image + Qwen + Wan + MMAudio</span>
                </div>
                <div class="card--featured__body">
                    <p>Complete video generation workflow on consumer hardware. Z-Image for stills, Qwen Image Edit for refinement, Wan 2.2 for video, MMAudio for AI-generated sound effects, SeedVR2 for upscaling.</p>
                    <p>"A year ago, I never imagined I'd be able to generate a video like this on my own computer."</p>
                </div>
                <div class="card--featured__meta">
                    <span>youtube.com</span> · <span>r/StableDiffusion</span>
                </div>
            </a>

            <a href="https://reddit.com/r/StableDiffusion/comments/1qhulcx/" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Flux.2 Klein: Use "file-level" prompts to preserve identity</span>
                    <span class="card__desc">Technical tip for photo restoration: avoid descriptive prompts that cause face hallucination. Use direct, technical post-processing prompts instead (e.g., "increase sharpness" not "beautiful woman").</span>
                </div>
            </a>

            <a href="https://reddit.com/r/StableDiffusion/comments/1qib7cw/" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">INT8 gives 2x speedup for 30-series GPUs on Flux Klein 9B</span>
                    <span class="card__desc">INT8 quantization achieves 1.04s/it vs 2.07s/it baseline (with torch compile). Great for extending life of older hardware. ComfyUI implementation available with minimal quality loss.</span>
                </div>
            </a>

            <p class="section-intro content-item">Tools and workflows.</p>

            <a href="https://github.com/RandomInternetPreson/ComfyUI_LTX-2_VRAM_Memory_Management/tree/main/ltx_multi_gpu_chunked" class="card card--link is-compact content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">LTX-2 Multi-GPU ComfyUI node</span>
                    <span class="card__desc">Generate 800 frames at 1920x1080 in single generation. Frame count scales with VRAM. No stitching required.</span>
                </div>
            </a>

            <a href="https://github.com/daydreamlive/scope-overworld" class="card card--link is-compact content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Waypoint-1: Real-time video world model with WASD controls</span>
                    <span class="card__desc">Control video generation with keyboard/mouse. Runs 20-30 FPS on RTX 5090. Can share live feed with other apps.</span>
                </div>
            </a>

            <!-- APPS & SOFTWARE SECTION -->
            <div class="source-header content-item">
                <img src="../../WEB/assets/reddit-logo.svg" alt="Reddit" class="source-header__logo">
                <span class="source-header__label">From Reddit</span>
            </div>

            <div class="source-tags content-item">
                <a href="https://reddit.com/r/macapps" class="source-tag">r/macapps</a>
                <a href="https://reddit.com/r/selfhosted" class="source-tag">r/selfhosted</a>
                <a href="https://reddit.com/r/opensource" class="source-tag">r/opensource</a>
            </div>

            <p class="section-intro content-item">macOS utilities, document management, and a Discord argument that spawned a new file format.</p>

            <a href="https://github.com/ef1500/libbbf" class="card card--featured content-item">
                <div class="card--featured__header">
                    <img class="card__favicon" data-size="28" alt="">
                    <span class="card--featured__title">Bound Book Format: 100x faster than CBZ</span>
                </div>
                <div class="card--featured__body">
                    <p>New open-source comic book format that solves CBZ problems: no random access, slow integrity checking, and single file corruption killing the whole archive.</p>
                    <p>"I got into an argument on Discord about how inefficient CBR/CBZ is, so I wrote a new file format."</p>
                </div>
                <div class="card--featured__meta">
                    <span>github.com</span> · <span>r/selfhosted</span>
                </div>
            </a>

            <a href="https://getconsul.app" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Consul — Rename files to convert them</span>
                    <span class="card__desc">macOS menubar app that automatically converts files when you change their extension. Rename "video.mp4" to "video.mov" and Consul converts it for you. Works with video, audio, images. $9 lifetime.</span>
                </div>
            </a>

            <a href="https://handmirror.app" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Hand Mirror 4 adds Snaps</span>
                    <span class="card__desc">Major update to the popular menubar camera utility. New "Snaps" feature lets you take quick selfies without opening a camera app. Useful for video call prep. Free base version.</span>
                </div>
            </a>

            <a href="https://bentoboxapp.com/" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">BentoBox — FancyZones-style window manager for macOS</span>
                    <span class="card__desc">Zone-based window management. v1.1.2 adds per-Space layouts. Great for ultrawides and multi-monitor setups. Drag windows to zones for quick organization. Lifetime license.</span>
                </div>
            </a>

            <a href="https://github.com/papra-app/papra" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Papra v26 — Minimalist document management</span>
                    <span class="card__desc">Lighter alternative to Paperless-ngx with high WAF. v26.0.0 adds advanced search syntax, instance administration, and 2FA. 3k GitHub stars. Self-hosted.</span>
                </div>
            </a>

            <a href="https://summitnotes.app" class="card card--link content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Summit — Local AI meeting insights for macOS</span>
                    <span class="card__desc">Records, transcribes, identifies speakers, and summarizes meetings entirely on-device. Works with any call app. No audio leaves your machine. Ideal for NDA-covered calls.</span>
                </div>
            </a>

            <p class="section-intro content-item">Quick hits.</p>

            <a href="https://github.com/liriliri/tinker" class="card card--link is-compact content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Tinker — Open-source desktop toolbox</span>
                    <span class="card__desc">JSON formatter, base64 encoder, color picker, UUID generator bundled in one app. Cross-platform, free.</span>
                </div>
            </a>

            <a href="https://github.com/victoralvesf/aonsoku" class="card card--link is-compact content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">Aonsoku — Desktop client for Navidrome/Subsonic</span>
                    <span class="card__desc">Clean UI, auto-fetches synced lyrics, podcast support, proper scrobbling. Better than the web interface.</span>
                </div>
            </a>

            <a href="https://github.com/bisegni/jsl" class="card card--link is-compact content-item">
                <img class="card__favicon" data-size="18" alt="">
                <div class="card__content">
                    <span class="card__title">jsl — Query JSONL files like a database</span>
                    <span class="card__desc">CLI tool for log analysis. SQL-like queries on newline-delimited JSON files.</span>
                </div>
            </a>

            <!-- FEEDBACK FORM -->
            <?php if (!empty($submitted)): ?>
                <div class="feedback feedback--success content-item" style="text-align: center; padding: 2rem;">
                    <div style="font-size: 2.5rem; margin-bottom: 0.5rem;">&#10003;</div>
                    <p style="margin: 0; font-weight: 500;">Thanks! Your suggestion has been saved.</p>
                    <p style="margin: 0.5rem 0 0; opacity: 0.7; font-size: 0.875rem;">I'll review it for tomorrow's digest.</p>
                </div>
            <?php else: ?>
                <form method="POST" class="feedback content-item" data-feedback>
                    <button type="button" class="feedback__trigger" data-feedback-trigger>
                        Tell me what to change for tomorrow
                    </button>
                    <div class="feedback__content" data-feedback-content>
                        <textarea name="suggestion" class="feedback__textarea" placeholder="What would you like me to change? More of something, less of another, different topics..."></textarea>
                        <div class="feedback__actions">
                            <button type="button" class="btn btn--secondary" data-feedback-cancel>Cancel</button>
                            <button type="submit" class="btn btn--primary">Send</button>
                        </div>
                    </div>
                </form>
            <?php endif; ?>

        </div>
    </div>
    <script src="../../WEB/js/app.js"></script>
</body>
</html>
