Ideas Lab
Real problems people complain about online, pulled every morning and scored out of 100. Build, validate, or skip. How scoring works
- Ideas
- 4,820
- BUILD
- 702
- Sources
- 8
- Last sync
- 13h ago
Those building Swift apps without touching Xcode, what is your workflow?
It's one thing having to download this monstrosity, and a whole other, having to use it daily to write code.
Hacker News6mo agoToolAI
Agent-desktop – Native desktop automation CLI for AI agents
I've been building computer-use tools for a while, and I quietly launched this about a month ago (122 Stars on GH). I figured it was worth sharing here.Over the last few months, a lot of computer-use agents have come out: Codex, Claude Code, CUA, and others. Most of them seem to work roughly like this: 1. Take a screenshot 2. Have the model predict pixel coordinates 3. Click x,y 4. Take another screenshot 5. RepeatThat works, but it's slow, expensive in tokens, and fragile. If the UI shifts a few pixels, things break. And the model still doesn't know what any element actually is.But the OS already exposes structured UI information: - macOS: Accessibility API - Windows: UI Automation - Linux: AT-SPI Screen readers have used these APIs for years. On the web, Playwright beat screenshot scraping for the same reason: structured access is just a better abstraction than pixels.So I built a desktop equivalent: agent-desktop.It's a cross-platform CLI for structured desktop automation through the accessibility tree. One Rust binary, about 15 MB, no runtime dependencies. It exposes 53 commands with JSON output, so an LLM can inspect and operate native apps without screenshots or vision models. Inspired by agent-browser by Vercel Labs.A typical loop looks like this: agent-desktop snapshot --app Slack -i --compact agent-desktop click @e12 agent-desktop type @e5 "ship it" agent-desktop press cmd+return So the loop becomes: 1. Snapshot 2. Decide 3. Act 4. Snapshot again The main design problem was context size.A naive approach would dump the full accessibility tree into the model, but real apps get huge. Slack can easily exceed 50,000 tokens for a full tree dump, which makes the approach impractical.The approach I ended up using is progressive skeleton traversal: - First pass: return a shallow tree, typically depth 3, with deeper containers truncated and annotated with children_count - Named containers get references
Hacker News6mo agoToolAI
Mljar Studio – local AI data analyst that saves analysis as notebooks
Hi HN,I’ve been working on mljar-supervised (open-source AutoML for tabular data) for a few years. Recently I built a desktop app around it called MLJAR Studio.The idea is simple: you talk to your data in natural language, the AI generates Python code, executes it locally, and the whole conversation becomes a reproducible notebook (*.ipynb file). So instead of just chatting with data, you end up with something you can inspect, modify, and rerun.What MLJAR Studio does:- Sets up a local Python environment automatically, runs on Mac, Windows, and Linux- Installs missing packages during the conversation- Built-in AutoML for tabular data (classification, regression, multiclass)- Works with standard Python libraries (pandas, matplotlib, etc.)- Works with any data file: CSV, Excel, Stata, Parquet ...- Connects to PostgreSQL, MySQL, SQL Server, Snowflake, Databricks, and Supabase.For AI: use Ollama locally (zero data egress), bring your own OpenAI key, or use MLJAR AI add-on.I built this because I wanted something between Jupyter Notebook (flexible but manual) and AI tools that generate code but don’t preserve the workflow. Most tools I tried either hide too much or don’t give reproducible results and are cloud basedDemos:- 60-second demo: https://youtu.be/BjxpZYRiY4c- Full 3-minute analysis: https://youtu.be/1DHMMxaNJxIPricing is $199 one-time, with a 7-day trial.Curious if this is useful for others doing real data work, or if I’m solving my own problem here.Happy to answer questions.
Hacker News6mo agoToolAI
Large Scale Article Extract of Newspapers 1730s-1960s
Hello HN, over the past 7 months I've spent nearly 3,000 hours on building SNEWPAPERS, the first historical newpaper archive with full-text extractions, nearly perfect OCR, a vast categorization taxonomy and of course with semantic and agentic search capabilities.Problem: I wanted to search through newspaper archives, but when I tried every service only lets you search for keywords and dates, and gives you back raw images of the papers, and too many of them with no context. A sea of noise.Solution: I taught machines how to read the newspapers and so far I've extracted the content from > 600k pages (about 5TB) from the Chronicling America collection. Problems I had to deal with were an infinite variety of layouts, font sizes, image scan qualities, resolutions, aspect ratios, navigating around the images on the page. I also had to figure out how to get OCR to be nearly perfect so people wouldn't hate reading the extracts. I stitched together a multi-model pipeline (layout tech, ocr tech, llm, vllm) with heuristics to go from layout -> segmentation -> classification. I put it all in OpenSearch / Postgres and made it semantically searchable and also put an agentic search tool on top that knows how to use the API really well and helps you write queries to find what you're looking for. Happy to discuss AWS architecture and scaling as well, that was tough!If you have five minutes and you just want to jump in and have your own personalized experience, what I would suggest is:Before searching for anything, go to the Sleuth page Ask it about anything from 1736 to 1963, maybe 1 or 2 follow up questions Then go to the search page so you can see the queries it wrote for you (bottom left "saved queries") and uncover more info on whatever it is you're interested inIf you think it's cool and you want to learn more, then there's about 10 minutes of video guides on the various capabilities in "Guide" on the n
Hacker News6mo agoToolAI
AI Content Detection Tool
Tool that detects AI-generated content (text, images, etc.). Growing need as creators, educators, and publishers struggle to identify synthetic content; current solutions fragmented/expensive. [Google Search suggestion]
Google Trends5mo agoToolAIUS
Tedious constant logins between multiple AI accounts
Users switch between AI services like Claude and Codex frequently, requiring endless logins and logouts which waste time and kill productivity; willing to pay 10x more for seamless management.
X6mo agoToolAI
No paid fast-track for AI coding tool betas
Tech enthusiasts and developers desperately want early beta access to advanced AI tools like Grok Build app and terminal for testing, but access is limited with no option to pay top dollar for priority inclusion.
X6mo agoToolAI
WhatCable, a tiny menu bar app for inspecting USB-C cables
USB-C cables can be a mess. One cable charges at 5W, another does 100W and Thunderbolt 4, and they look identical in the drawer.WhatCable sits in your menu bar and reads the cable data your Mac already has access to. Plug in a cable and it tells you in plain English what it can actually do: charging wattage, data speed, display support, Thunderbolt, etc.Built in Swift/SwiftUI. Open source, free, no tracking.GitHub: https://github.com/darrylmorley/whatcable
Hacker News6mo agoToolAI
Perfect Bluetooth MIDI for Windows
Hi HN, I'm Erwin. I built a small free open-source utility that bridges Bluetooth LE MIDI keyboards into the new Windows MIDI Services stack so any DAW or Web MIDI app can use them as if they were wired.I bought a Roland FP-90X piano partly because it had Bluetooth MIDI. On my Windows 11 PC, pairing succeeded, but my DAW couldn't see the keyboard, and notes I sent from the PC never made the piano sing. After a regrettable number of evenings, I'd separated this into three independent bugs stacked on top of each other.The first one is the famous one: Windows only natively exposes BLE-MIDI through the WinRT API, which almost no DAW polls. So even when pairing succeeds, MIDI apps still don't see the device. The usual workaround is MIDIberry + loopMIDI, but I couldn't get that combination to work reliably in my case, and I wanted a single-app solution. The new Windows MIDI Services stack ships with a feature called loopback endpoints: anything written to one comes out the other, and any winmm/WinRT/WMS app sees them as normal MIDI ports. So the app does WinRT BLE-MIDI in, WMS loopback out. That solved direction one, piano to PC.Direction two, PC to piano, still didn't work. NoteOn writes were getting ATT-acked, but the piano stayed silent. I tried both write modes (some BLE-MIDI firmware silently drops one or the other), poked the proprietary ISSC characteristic. Every variant ATT-acked, every variant produced silence. So the bytes were reaching the piano. Something above the GATT layer was discarding them.After ruling out pairing, encryption, write-mode, and proprietary characteristics, the only obvious lever left was the MIDI channel itself. The FP-90X has a panel setting called Transmit Channel, default 1. Yet it turns out the FP-90X actually receives on channel 4 (and it can't be changed). Notes I sent on channel 1 were being GATT-acked and silently dropped at the synth engine because they weren't on the channel the e
Hacker News6mo agoToolAI
ChatGPT Alternatives Comparison Guide
Users want to compare AI chatbots on capabilities, pricing, speed, and use cases. A dynamic comparison tool with real-time benchmarks helps teams choose the right model. [Google Search suggestion]
Google Trends6mo agoToolAIUS
Rocky – Rust SQL engine with branches, replay, column lineage
Hi HN, I'm Hugo. I've been building Rocky over the past month, shipping fast in the open. The binary is on GitHub Releases, `dagster-rocky` on PyPI, and the VS Code extension on the Marketplace. I held off on a broader announcement until the trust-system surface was coherent enough to talk about as one thing. The governance waveplan — column classification, per-env masking, 8-field audit trail on every run, `rocky compliance` rollup, role-graph reconciliation, retention policies — landed end-to-end last week in engine-v1.16.0 and rounded out in v1.17.4 (tagged 2026-04-26). That's the milestone I'd been waiting for.The pitch: keep Databricks or Snowflake. Bring Rocky for the DAG. Rocky is a Rust-based control plane for warehouse pipelines. Storage and compute stay with your warehouse. Rocky owns the graph — dependencies, compile-time types, drift, incremental logic, cost, lineage, governance. The things your current stack can't give you because it doesn't own the DAG.A few things I think are interesting:- Branches + replay. `rocky branch create stg` gives you a logical copy of a pipeline's tables (schema-prefix today; native Delta SHALLOW CLONE and Snowflake zero-copy are next). `rocky replay <run_id>` reconstructs which SQL ran against which inputs. Git-grade workflow on a warehouse.- Column-level lineage from the compiler, not a post-hoc graph crawl. The type checker traces columns through joins, CTEs, and windows. VS Code surfaces it inline via LSP.- Governance as a first-class surface. Column classification tags plus per-env masking policies, applied to the warehouse via Unity Catalog (Databricks) or masking policies (Snowflake). 8-field audit trail on every run. `rocky compliance` rollup that CI can gate on. Role-graph reconciliation via SCIM + per-catalog GRANT. Retention policies with a warehouse-side drift probe.- Cost attribution. Every run produces per-model cost (bytes, duration). `[budget]` blocks in `rocky.toml`;
Hacker News6mo agoToolAI
A Karpathy-style LLM wiki your agents maintain (Markdown and Git)
I shipped a wiki layer for AI agents that uses markdown + git as the source of truth, with a bleve (BM25) + SQLite index on top. No vector or graph db yet.It runs locally in ~/.wuphf/wiki/ and you can git clone it out if you want to take your knowledge with you.The shape is the one Karpathy has been circling for a while: an LLM-native knowledge substrate that agents both read from and write into, so context compounds across sessions rather than getting re-pasted every morning. Most implementations of that idea land on Postgres, pgvector, Neo4j, Kafka, and a dashboard.I wanted to go back to the basics and see how far markdown + git could go before I added anything heavier.What it does: -> Each agent gets a private notebook at agents/{slug}/notebook/.md, plus access to a shared team wiki at team/.-> Draft-to-wiki promotion flow. Notebook entries are reviewed (agent or human) and promoted to the canonical wiki with a back-link. A small state machine drives expiry and auto-archive.-> Per-entity fact log: append-only JSONL at team/entities/{kind}-{slug}.facts.jsonl. A synthesis worker rebuilds the entity brief every N facts. Commits land under a distinct "Pam the Archivist" git identity so provenance is visible in git log.-> [[Wikilinks]] with broken-link detection rendered in red.-> Daily lint cron for contradictions, stale entries, and broken wikilinks.-> /lookup slash command plus an MCP tool for cited retrieval. A heuristic classifier routes short lookups to BM25 and narrative queries to a cited-answer loop.Substrate choices: Markdown for durability. The wiki outlives the runtime, and a user can walk away with every byte. Bleve for BM25. SQLite for structured metadata (facts, entities, edges, redirects, and supersedes). No vectors yet. The current benchmark (500 artifacts, 50 queries) clears 85% recall@20 on BM25 alone, which is the internal ship gate. sqlite-vec is the pre-committed fallba
Hacker News6mo agoToolAI
A new benchmark for testing LLMs for deterministic outputs
When building workflows that rely on LLMs, we commonly use structured output for programmatic use cases like converting an invoice into rows or meeting transcripts into tickets or even complex PDFs into database entries.The model may return the schema you want, but with hallucinated values like `invoice_date` being off by 2 months or the transcript array ordered wrongly. The JSON is valid, but the values are not.Structured output today is a big part of using LLMs, especially when building deterministic workflows.Current structured output benchmarks (e.g., JSONSchemaBench) only validate the pass rate for JSON schema and types, and not the actual values within the produced JSON.So we designed the Structured Output Benchmark (SOB) that fixes this by measuring both the JSON schema pass rate, types, and the value accuracy across all three modalities, text, image, and audio.For our test set, every record is paired with a JSON Schema and a ground-truth answer that was verified against the source context manually by a human and an LLM cross-check, so a missing or hallucinated value will be considered to be wrong.Open source is doing pretty well with GLM 4.7 coming in number 2 right after GPT 5.4.We noticed the rankings shift across modalities: GLM-4.7 leads text, Gemma-4-31B leads images, Gemini-2.5-Flash leads audio.For example, GPT-5.4 ranks 3rd on text but 9th on images.Model size is not a predictor, either: Qwen3.5-35B and GLM-4.7 beat GPT-5 and Claude-Sonnet-4.6 on Value Accuracy. Phi-4 (14B) beats GPT-5 and GPT-5-mini on text.Structured hallucinations are the hardest bug. Such values are type-correct, schema-valid, and plausible, so they slip through most guardrails. For example, in one audio record, the ground truth is "target_market_age": "15 to 35 years", and a model returns "25 to 35". This is invisible without field-level checks.Our goal is to be the best general model for deterministic tasks, and a key aspect of determinism is a con
Hacker News6mo agoToolAI
Waiting for LLMs Suck – Give your user a game
Give your user a game while they wait for the LLM to return a result.
Hacker News6mo agoToolAI
Anyone want to collaborate on a local-first AI-based research assistant
Hi HN Community, I'm Venkatram, a sophomore who's on a mission to build a local alternative to proprietary third-party AI-based research assistants.The idea is to turn documents into researchable assets that contain as much as information as the original information does, but it's more reusable.Well, quite frankly, this is still under a WORK IN PROGRESS, so i'm still figuring on how it can be properly used, and I got to be honest here, i definitely need some help to build this, so if you wish, you are welcome!TlDR: NotebookLM, but Locally with your OWN AI ModelGithub: https://github.com/venkatram-s/gigabook-lm
Hacker News6mo agoToolAI
I've built a nice home server OS
ohai!I've released Lightwhale 3, which is possibly the easiest way to self-host Docker containers.It's a free, immutable Linux system purpose-built to live-boot straight into a working Docker Engine, thereby shortcutting the need for installation, configuration, and maintenance. Its simple design makes it easy to learn, and its low memory footprint should make it especially attractive during these times of RAMageddon.If this has piqued your interest, do check it out, along with its easy-to-follow Getting Started guide.In any event, have a nice day! =)
Hacker News6mo agoToolAI
A free ESG stock screener that publishes its losses and methodology
Hey HN, JSS(JumpstartSignal) is a free, ESG-filtered daily stock screener. I built it after some really badly-timed quantum computing stock buys, so I felt I needed to learn more about systematic, longer-horizon approaches and the underlying technicals instead of chasing themes. Three things about it that might be of interest:1. Methodology is fully documented at https://jumpstartsignal.com/how-it-works/ 5-stage pipeline, 54 signals tested individually plus 1,836 combinations evaluated, walk-forward validation across 25 hold periods. Nothing hand-tuned to a single backtest window.2. Many wins, misses, and losses are published as case studies e.g. https://jumpstartsignal.com/case-studies/nvda/ walks through the 32 times the system flagged NVDA starting at $5.44 in 2018. https://jumpstartsignal.com/case-studies/sedg/ shows a -49% loss, and https://jumpstartsignal.com/case-studies/tsla/ explains why the system never flagged Tesla (it passed Stages 1 and 2 on 207 days but only peaked at 20/100 in scoring vs the 70 needed for OPPORTUNITY tier). https://jumpstartsignal.com/results/ also shows the 10 best entries alongside the 10 worst.3. A genetic algorithm picked the signal weights, but constrained to maintain alpha across multiple market regimes (otherwise it overfits to a single bull market). The constraint dropped some "best in backtest" configurations that only worked 2018-2021.Topline: 2012-2025 backtest at SPOTLIGHT + OPPORTUNITY tier produced +163% alpha vs SPY (results page has the per-trade breakdown).Daily watchlist emailed free; reports + results + case studies are publicly browsable without signup.Happy to take questions about methodology, what the system gets wrong, or why specific tickers landed where they did.
Hacker News6mo agoToolAI
Drive any macOS app in the background without stealing the cursor
Hi HN, Francesco from Cua here. I hacked this project together last weekend, inspired by the Codex Computer-Use release and lessons learned from deploying GUI-operating agents for our customers.The main problem: when a UI automation process controls a desktop app today, it usually takes over the human’s session. Your cursor moves, keyboard focus gets stolen, windows jump to the front, and you have to stop working until the agent is done. That is why we have historically avoided encouraging users to run these processes directly on their host machine, instead relying on VMs or GUI containers for concurrency and background execution.But computer-use - the tools we give agents to operate computers like humans - does not scale cleanly that way. As models get smarter, agents need to share hosts safely, run in the background, and avoid collisions with the human or other agents using the same machine.We realized macOS has no first-class API for "drive this app without touching the cursor". CGEventPost routes through the hardware input stream, so it moves your cursor. CGEvent.postToPid avoids the cursor warp, but Chromium treats those events as untrusted and silently drops clicks at the renderer boundary. Activating the target app first raises the window and pulls focus, defeating the point of background execution.Cua Driver is our attempt at a real fix: a background computer-use driver for macOS that lets an agent click, type, scroll, and read native apps while your cursor, frontmost app, and Space stay where they are. The default interface is a CLI, so it is easy to script or call from any coding agent shell.Try it on macOS 14+:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/cua-d...)"The first internal use case was delegated demo recording. We ask Claude Code to drive an app while 'cua-driver recording start' captures the trajectory, screenshots, actions, and click
Hacker News6mo agoToolAI
AI memory with biological decay (52% recall)
Most RAG setups fail because they treat memory like a static filing cabinet. When every transient bug fix or abandoned rule is stored forever, the context window eventually chokes on noise, spiking token costs and degrading the agent's reasoning.This implementation experiments with a biological approach by using the Ebbinghaus forgetting curve to manage context as a living substrate. Memories are assigned a "strength" score where each recall reinforces the data and flattens its decay curve (spaced repetition), while unused data eventually hits a threshold and is pruned.To solve the "logical neighbor" problem where semantic search misses relevant but non-similar nodes, a graph layer is layered over the vector store. Benchmarked against the LoCoMo dataset, this reached 52% Recall@5, nearly double the accuracy of stateless vector stores, while cutting token waste by roughly 84%.Built as a local first MCP server using DuckDB, the hypothesis is that for agents handling long-running projects, "what to forget" is just as critical as "what to remember." I'd be interested to hear if others are exploring non-linear decay or similar biological constraints for context management.GitHub: https://github.com/sachitrafa/cognitive-ai-memory
Hacker News6mo agoToolAI
Utilyze – an open source GPU monitoring tool more accurate than nvtop
The standard GPU utilization metric reported by nvidia-smi, nvtop, Weights & Biases, Amazon CloudWatch, Google Cloud Monitoring, and Azure Monitor is highly misleading. It reports the fraction of time that any kernel is running on the GPU, which means a GPU can report 100% utilization even if only a small portion of its compute capacity is actually being used. In practice, we've seen workloads with ~1–10% real compute throughput while dashboards show 100%.This becomes a problem when teams rely on that metric for capacity planning or optimization decisions, it can make underutilized systems look saturated.We're releasing an open-source (Apache 2.0) tool, Utilyze, to measure GPU utilization differently. It samples hardware performance counters and reports compute and memory throughput relative to the hardware's theoretical limits. It also estimates an attainable utilization ceiling for a given workload.GitHub link: https://github.com/systalyze/utilyzeWe'd love to hear your thoughts!
Hacker News6mo agoToolAI