<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Kappa90</title><link>https://news.ycombinator.com/user?id=Kappa90</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 07:23:05 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Kappa90" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Kappa90 in "Show HN: I built a database for AI agents"]]></title><description><![CDATA[
<p>Thank you, if you happen to try it out or have ideas, feel free to contact me at: em at dinobase dot ai</p>
]]></description><pubDate>Tue, 07 Apr 2026 21:50:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47681791</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=47681791</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47681791</guid></item><item><title><![CDATA[New comment by Kappa90 in "Show HN: I built a database for AI agents"]]></title><description><![CDATA[
<p>Right now schema changes create new columns, I’m working on reconciling old columns, which right now are not dropped.<p>The annotation/semantic layer agent creates a new description of the schema on sync, which represents the current state, but that includes stale columns as of today, data is not dropped.<p>I’ll implement automated schema migrations in the next week or so!</p>
]]></description><pubDate>Tue, 07 Apr 2026 18:06:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47679080</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=47679080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47679080</guid></item><item><title><![CDATA[New comment by Kappa90 in "Show HN: I built a database for AI agents"]]></title><description><![CDATA[
<p>It's not explicitly stated in the benchmarks README, good catch.<p>80% of the benchmark questions are aggregations, 16% are multi-hop, 4% are lookups/subqueries.<p>Multi-hop is where LLMs struggle the most (hallucinations, partial answers), and aggregations is where you get the most token efficiency, since you skip on pagination which you need with APIs/MCPs that don't provide filters.</p>
]]></description><pubDate>Tue, 07 Apr 2026 17:07:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47678355</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=47678355</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678355</guid></item><item><title><![CDATA[New comment by Kappa90 in "Show HN: I built a database for AI agents"]]></title><description><![CDATA[
<p>DuckDB exposes Postgres SQL, and most coding LLMs have been trained on that.<p>Of the small models I tested, Qwen 3.5 is the clear winner. Going to larger LLMs, Sonnet and Opus lead the charts.</p>
]]></description><pubDate>Tue, 07 Apr 2026 17:02:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47678280</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=47678280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678280</guid></item><item><title><![CDATA[New comment by Kappa90 in "Show HN: I built a database for AI agents"]]></title><description><![CDATA[
<p>It's an experimental benchmark, I couldn't find any off-the-shelf benchmarks to use this with. There's Spider 2.0 but it's for text-to-SQL. I'm planning to run this [1] next but it's quite expensive.<p>There's 75 questions, divided in 5 use case groups: revenue ops, e-commerce, knowledge bases, devops, support.<p>I then generated a synthetic dataset with data mimicking APIs ranging from Stripe to Hubspot to Shopify to Zendesk etc..<p>I expose all the data through Dinobase vs. having one MCP per source e.g. one MCP for Stripe data, one MCP for Hubspot data etc.<p>I tested this with 11 models, ranging from Kimi 2.5 to Claude Opus 4.6.<p>Finally there's an LLM-as-a-judge that decides if the answer is correct, and I log latency and tokens.<p>[1] <a href="https://arxiv.org/abs/2510.02938" rel="nofollow">https://arxiv.org/abs/2510.02938</a></p>
]]></description><pubDate>Tue, 07 Apr 2026 17:00:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47678256</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=47678256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678256</guid></item><item><title><![CDATA[Show HN: I built a database for AI agents]]></title><description><![CDATA[
<p>Hey HN,<p>I just spent the last few weeks building a database for agents.<p>Over the last year I built PostHog AI, the company's business analyst agent, where we experimented on giving raw SQL access to PostHog databases vs. exposing tools/MCPs. Needless to say, SQL wins.<p>I left PostHog 3 weeks ago to work on side-projects. I wanted to experiment more with SQL+agents.<p>I built an MVP exposing business data through DuckDB + annotated schemas, and ran a benchmark with 11 LLMs (from Kimi 2.5 to Claude Opus 4.6) answering business questions with either 1) per-source MCP access (e.g. one Stripe MCP, one Hubspot MCP) or 2) my annotated SQL layer.<p>My solution consistently reached 2-3x accuracy (correct vs. incorrect answers), using 16-22x less tokens per correct answer, and being 2-3x faster. Benchmark in the repo!<p>The insight is that tool calls/MCPs/raw APIs force the agent to join information in-context. SQL does that natively.<p>What I have today:
- 101 connectors (SaaS APIs, databases, file storages) sync to Parquet via dlt, locally or in your S3/GCS/Azure bucket
- DuckDB is the query engine — cross-source JOINs across sources work natively, plus guardrails for safe mutations / reverse ETL 
- After each sync a Claude agent annotates the schema: table descriptions, column docs, PII flags, relationship maps<p>It works with all major agent frameworks (LangChain, CrewAI, LlamaIndex, Pydantic AI, Mastra), and local agents like Claude Code, Cursor, Codex and OpenClaw.<p>I love dinosaurs and the domain was available, so it's called   Dinobase.<p>It's not bug free and I'm here to ask for feedback or major holes in the project I can't see, because the results seem almost too good. Thanks!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47678048">https://news.ycombinator.com/item?id=47678048</a></p>
<p>Points: 12</p>
<p># Comments: 10</p>
]]></description><pubDate>Tue, 07 Apr 2026 16:43:51 +0000</pubDate><link>https://github.com/DinobaseHQ/dinobase</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=47678048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678048</guid></item><item><title><![CDATA[New comment by Kappa90 in "Ask HN: What are you working on? (February 2026)"]]></title><description><![CDATA[
<p>A podcast on the history of the “Majority World” - that is Africa, Asia, the Middle East, Oceania, Latin America and the indigenous people around the world - from a decolonisation point of view.<p>I just published the first episodes today and have zero listeners or subscribers, so it can only grow from here!<p><a href="https://historyofthemajorityworld.com" rel="nofollow">https://historyofthemajorityworld.com</a><p>Spotify: <a href="https://open.spotify.com/show/4qJh2jNwMvWcLP1J1EMXxr?si=dcc7a89e13d84b41" rel="nofollow">https://open.spotify.com/show/4qJh2jNwMvWcLP1J1EMXxr?si=dcc7...</a><p>Apple Podcasts: <a href="https://podcasts.apple.com/rw/podcast/history-of-the-majority-world/id1876010811" rel="nofollow">https://podcasts.apple.com/rw/podcast/history-of-the-majorit...</a></p>
]]></description><pubDate>Mon, 09 Feb 2026 20:45:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46950986</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=46950986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46950986</guid></item><item><title><![CDATA[New comment by Kappa90 in "Learnings from 1 year of agents: PostHog AI"]]></title><description><![CDATA[
<p>Hey, one of the devs working on PostHog AI here.<p>The main reason why we advocate for a single-loop is because subagents suffer from the telephone game problem: context is lost when the interface is just an agent-to-agent prompt.<p>We are still working on subagents for parallelization, but if you can stick to the main loop, everything works much better.</p>
]]></description><pubDate>Wed, 26 Nov 2025 17:39:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46060106</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=46060106</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46060106</guid></item><item><title><![CDATA[New comment by Kappa90 in "Ask HN: Worst bugs from LLM-generated code in production?"]]></title><description><![CDATA[
<p>Used Copilot to write a user auth migration script. It silently reset 2FA settings for ~3k users with OAuth accounts because it didn't handle NULL vs empty string edge cases in our legacy DB schema. Classic "garbage in, garbage out" situation.<p>Found out two weeks later when angry users couldn't log in during peak hours. Damage: 4 hours of downtime, one very grumpy security team, and a new "no AI for auth code" policy.</p>
]]></description><pubDate>Thu, 20 Feb 2025 14:58:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=43115455</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=43115455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43115455</guid></item><item><title><![CDATA[New comment by Kappa90 in "The Generative AI Con"]]></title><description><![CDATA[
<p>If you want to see an LLM tackling unit testing, check <a href="https://www.codebeaver.ai" rel="nofollow">https://www.codebeaver.ai</a><p>Disclaimer: I’m the developer behind CodeBeaver</p>
]]></description><pubDate>Tue, 18 Feb 2025 14:31:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=43089895</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=43089895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43089895</guid></item><item><title><![CDATA[New comment by Kappa90 in "Yahoo is buying Artifact, the AI news app from the Instagram co-founders"]]></title><description><![CDATA[
<p>There seems to be a peak in traffic I guess due to HN, apologies! If you have any further problems it would be really helpful if you'd let me know at em@usetailor.com</p>
]]></description><pubDate>Tue, 02 Apr 2024 15:31:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=39906900</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=39906900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39906900</guid></item><item><title><![CDATA[New comment by Kappa90 in "Yahoo is buying Artifact, the AI news app from the Instagram co-founders"]]></title><description><![CDATA[
<p>If you're looking for a replacement for Artifact (and for news apps in general), you should check out <a href="https://tailor.news" rel="nofollow">https://tailor.news</a><p>It aggregates the news from thousands of newspapers, youtube channels and podcasts, then serves you a summarized digestible version, as a feed and as a personalized podcast, using LLM models.<p>You can also ask to clarify or explain the news, and there's a new function to ask if an article's claims are supported by other sources, to avoid reading biased or opinionated information.<p>Disclaimer: I'm one of the founders of Tailor</p>
]]></description><pubDate>Tue, 02 Apr 2024 14:56:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=39906448</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=39906448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39906448</guid></item><item><title><![CDATA[New comment by Kappa90 in "Ask HN: What have you built with LLMs?"]]></title><description><![CDATA[
<p>An app that aggregates the news from websites, blogs, YouTube channels and podcasts, and generate easily digestible summaries, along with a small podcast version so you can stay informed in an easy stress-free way.<p>Right now I’m working on including automatic fact checking and insights on how each source might be opinionated vs. reporting just the facts.<p><a href="https://usetailor.com" rel="nofollow">https://usetailor.com</a></p>
]]></description><pubDate>Mon, 05 Feb 2024 20:15:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=39266487</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=39266487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39266487</guid></item><item><title><![CDATA[New comment by Kappa90 in "Notion Acquires Automate.io"]]></title><description><![CDATA[
<p>Indeed, there is no other tool out there automatically linking documents for you, as far as we know.<p>The idea is that Saga helps you resurface connections and ideas without having to do the manual work yourself.<p>This allows for a more serendipitous discovery of knowledge while you're crafting content or researching a topic.<p>Areas where we see great promise are:
- analyzing interviews and notes for product and user research
- automatically generate company or support wikis from docs
- discover insights while writing meeting/team notes and documentation<p>Currently beta testing realtime collaborative editing and we'll start pushing towards integrating with other tools after that.</p>
]]></description><pubDate>Thu, 09 Sep 2021 22:30:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=28475428</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=28475428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28475428</guid></item><item><title><![CDATA[New comment by Kappa90 in "Notion Acquires Automate.io"]]></title><description><![CDATA[
<p>Checkout Saga [0], we've been building this for over a year exactly to fix the "I can't find anything" problem. Any feedback appreciated!<p>[0] <a href="https://saga.so" rel="nofollow">https://saga.so</a></p>
]]></description><pubDate>Wed, 08 Sep 2021 18:31:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=28461220</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=28461220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28461220</guid></item><item><title><![CDATA[New comment by Kappa90 in "The Zettelkasten Method (2019)"]]></title><description><![CDATA[
<p>We're developing Saga [0] and we have many users using it for Zettelkasten, although it's not our main value proposition.<p>Why: Saga automatically links pages one to another, so it builds your wiki/knowledge system automatically for you.<p>You can also group pages in "Collections", which are smart tags similar to the Zettelkasten tagging method, which allows users to easily recollect and find notes.<p>I welcome anybody to try Saga for Zettelkasten and give us feedback on how we can make it a better tool for this use case!<p>[0] <a href="https://saga.so" rel="nofollow">https://saga.so</a></p>
]]></description><pubDate>Thu, 19 Aug 2021 13:47:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=28233772</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=28233772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28233772</guid></item><item><title><![CDATA[New comment by Kappa90 in "Slate – A completely customizable framework for building rich text editors"]]></title><description><![CDATA[
<p>We did look into editor.js and the API seems not as advanced as Slate's, mostly because Slate tries to replicate the DOM's behavior with Nodes and Ranges, so you can make edits in a very fine grained way.<p>If you're going for a new text editor, I'd start with Tiptap and try to check how to do advanced custom stuff with Prosemirror. Maybe if Tiptap 2 was out a year ago, we would have started with that.<p>For collaborative editing, definitely check out <a href="https://yjs.dev" rel="nofollow">https://yjs.dev</a></p>
]]></description><pubDate>Fri, 30 Jul 2021 11:46:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=28006926</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=28006926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28006926</guid></item><item><title><![CDATA[New comment by Kappa90 in "Slate – A completely customizable framework for building rich text editors"]]></title><description><![CDATA[
<p>I know it sounds like tech debt...and it is. But we're to a point where we could potentially be able to integrate those extensions back into the core library and our slate-saga, so it's eventually paying back.<p>We really needed extensive text manipulation, so starting from Slate gave us a considerable initial boost, but congrats on building your own parser!<p>Congrats to you and if you try out Saga, let us know about it :)</p>
]]></description><pubDate>Fri, 30 Jul 2021 11:42:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=28006886</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=28006886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28006886</guid></item><item><title><![CDATA[New comment by Kappa90 in "Slate – A completely customizable framework for building rich text editors"]]></title><description><![CDATA[
<p>Have been building <a href="https://saga.so" rel="nofollow">https://saga.so</a> with Slate for the last 12 months.<p>Can confirm it was a bumpy ride, but it also gave back a lot. The main reasons for using Slate over Prosemirror were the almost complete API for managing and editing a block based page, and the fact that it's written in Typescript (although partial types support is a recent addition).<p>We still have quite a few Slate-related bugs, and the size of our extension code to cover for slate bugs/omissions or to extend the behavior in general is now many thousands of lines long, but wouldn't have chosen anything else.<p>We tried Prosemirror at the beginning and it was very hard to get into. We checked again when TipTap came out (which is a wrapper of Prosemirror), but all our advanced custom logics would have had to be rewritten in Prosemirror so we abandoned the idea very easily. But we support the team behind Tiptap on another open source project, Hocuspocus, which is a client/server wrapper for Yjs, a library for collaboration with a focus on text editors.<p>In the end, I have PTSD from Slate, but also, we couldn't have done it without it, so thanks Ian if you're reading this!<p><a href="https://tiptap.dev" rel="nofollow">https://tiptap.dev</a><p><a href="https://hocuspocus.dev" rel="nofollow">https://hocuspocus.dev</a><p><a href="https://yjs.dev" rel="nofollow">https://yjs.dev</a><p>* my first comment on HN after years of lurking!</p>
]]></description><pubDate>Fri, 30 Jul 2021 07:32:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=28005375</link><dc:creator>Kappa90</dc:creator><comments>https://news.ycombinator.com/item?id=28005375</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28005375</guid></item></channel></rss>