<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel>
<title>SyneHQ field notes</title><link>https://synehq.com/blog/</link>
<description>Practical SQL, data engineering, and governed analytics guides from SyneHQ.</description><language>en</language>
<atom:link href="https://synehq.com/rss.xml" rel="self" type="application/rss+xml"/>
<item><title>Audit a CSV with DuckDB Before You Trust the Dashboard</title><link>https://synehq.com/blog/audit-csv-data-with-duckdb/</link><guid isPermaLink="true">https://synehq.com/blog/audit-csv-data-with-duckdb/</guid><description>A runnable DuckDB tutorial for finding duplicate keys, invalid dates, broken amounts, and missing customer IDs before an export becomes a dashboard.</description><category>Database</category><pubDate>Sun, 27 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>Calculate Monthly Cohort Retention Without Counting Unfinished Months</title><link>https://synehq.com/blog/monthly-cohort-retention-sql/</link><guid isPermaLink="true">https://synehq.com/blog/monthly-cohort-retention-sql/</guid><description>Build a reproducible SQL retention table with signup cohorts, distinct active users, fixed denominators, and explicit handling of incomplete months.</description><category>Database</category><pubDate>Sun, 27 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>Why Your SQL Join Doubled Revenue, and How to Fix It</title><link>https://synehq.com/blog/prevent-sql-join-fanout/</link><guid isPermaLink="true">https://synehq.com/blog/prevent-sql-join-fanout/</guid><description>Reproduce a SQL join fanout bug, fix it by aggregating to one row per order, and verify revenue and refund totals with a runnable DuckDB example.</description><category>Database</category><pubDate>Sun, 27 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>Agents Do Not Query Like People. Review Has to Match the Volume</title><link>https://synehq.com/blog/agents-do-not-query-like-people/</link><guid isPermaLink="true">https://synehq.com/blog/agents-do-not-query-like-people/</guid><description>Walk through the twelve queries an agent actually runs, then design read vs write policy, caps, and logs for machine volume—not for one careful analyst.</description><category>AI</category><pubDate>Tue, 22 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>Evaluating Analytics Agents with Jev: Start with the Evidence</title><link>https://synehq.com/blog/evaluating-analytics-agents-with-jev/</link><guid isPermaLink="true">https://synehq.com/blog/evaluating-analytics-agents-with-jev/</guid><description>A practical evaluation design that combines SQL fixtures, execution checks, and Jev judgments, with separate measures for accuracy, repeatability, and useful coverage.</description><category>AI</category><pubDate>Mon, 21 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>Building an Analytics Agent Harness with Jev</title><link>https://synehq.com/blog/building-an-analytics-agent-harness-with-jev/</link><guid isPermaLink="true">https://synehq.com/blog/building-an-analytics-agent-harness-with-jev/</guid><description>Use Jev to classify analytics questions and route model work, while keeping metric definitions, database permissions, and human approval in the harness.</description><category>AI</category><pubDate>Sun, 20 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>When to Spend Frontier Tokens on Analytics Agents</title><link>https://synehq.com/blog/routing-analytics-agents-by-token-cost/</link><guid isPermaLink="true">https://synehq.com/blog/routing-analytics-agents-by-token-cost/</guid><description>A routing rule you can write down: cheap models for one governed query, frontier for multi-step analysis, never for table dumps. Includes token math and a session log template.</description><category>AI</category><pubDate>Tue, 15 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>dbt in Syne: connect your models, analyze the data, review the change</title><link>https://synehq.com/blog/dbt-in-syne-connect-analyze-and-govern/</link><guid isPermaLink="true">https://synehq.com/blog/dbt-in-syne-connect-analyze-and-govern/</guid><description>A walkthrough of the PostgreSQL preview: dbt Cloud and manifest connections, analysis with Kole, isolated compilation, team-managed runners, and reviewed schema changes.</description><category>Product</category><pubDate>Thu, 10 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>GPT-6 Astra Is a Better Analyst When It Uses Tools, Not When You Paste the Warehouse</title><link>https://synehq.com/blog/gpt-6-astra-tools-not-the-warehouse/</link><guid isPermaLink="true">https://synehq.com/blog/gpt-6-astra-tools-not-the-warehouse/</guid><description>A million-token window is not a data platform. Learn the shrink-then-reason loop, a worked revenue-variance example, and a checklist for trusting an LLM number.</description><category>AI</category><pubDate>Tue, 08 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>From Dashboards to Decisions: What a Modern Analytics Platform Should Do</title><link>https://synehq.com/blog/from-dashboards-to-decisions-modern-analytics-platform/</link><guid isPermaLink="true">https://synehq.com/blog/from-dashboards-to-decisions-modern-analytics-platform/</guid><description>How teams can carry a question from dashboard signal through governed investigation to a reviewable operational next step.</description><category>Database</category><pubDate>Tue, 01 Sep 2026 18:30:00 GMT</pubDate></item>
<item><title>Build a Postgres Dashboard Without Starting From a Blank Canvas</title><link>https://synehq.com/blog/how-to-build-a-postgres-dashboard-in-10-minutes-(2026)/</link><guid isPermaLink="true">https://synehq.com/blog/how-to-build-a-postgres-dashboard-in-10-minutes-(2026)/</guid><description>A practical path from a read-only Postgres connection to an inspected query, a useful chart, and a dashboard your team can review and share.</description><category>Database</category><pubDate>Mon, 06 Apr 2026 18:30:00 GMT</pubDate></item>
<item><title>Reasoning Agents in Business Analytics: Plans, Tools, and Checks</title><link>https://synehq.com/blog/the-rise-of-reasoning-agents-in-business-analytics/</link><guid isPermaLink="true">https://synehq.com/blog/the-rise-of-reasoning-agents-in-business-analytics/</guid><description>A practical guide to analytics agents that plan work, call governed tools, record assumptions, and route consequential recommendations for review.</description><category>AI</category><pubDate>Wed, 12 Nov 2025 18:30:00 GMT</pubDate></item>
<item><title>Use AI to Query Databases Without Losing the SQL</title><link>https://synehq.com/blog/how-to-use-ai-to-query-databases-without-writing-sql/</link><guid isPermaLink="true">https://synehq.com/blog/how-to-use-ai-to-query-databases-without-writing-sql/</guid><description>How natural-language database queries move from a question to schema-aware SQL, where they fail, and how teams can validate and govern the results.</description><category>AI</category><pubDate>Tue, 11 Nov 2025 18:30:00 GMT</pubDate></item>
<item><title>Using the SyneHQ SQL Extension from Jupyter</title><link>https://synehq.com/blog/unlock-secure-credential-free-sql-analytics-in-jupyter-with-the-synehq-sql-extension/</link><guid isPermaLink="true">https://synehq.com/blog/unlock-secure-credential-free-sql-analytics-in-jupyter-with-the-synehq-sql-extension/</guid><description>A practical guide to using the SyneHQ Jupyter SQL extension, including its connection model, query outputs, access boundaries, and operating caveats.</description><category>Database</category><pubDate>Sun, 05 Oct 2025 18:30:00 GMT</pubDate></item>
<item><title>Centralizing Session Checks with an NGINX Auth Proxy</title><link>https://synehq.com/blog/streamlining-multi-language-authentication-workflows-with-nginx-auth-proxy/</link><guid isPermaLink="true">https://synehq.com/blog/streamlining-multi-language-authentication-workflows-with-nginx-auth-proxy/</guid><description>How this OpenResty and NGINX auth proxy validates Auth.js JWE session cookies, fails closed, and sets boundaries for mixed-language services.</description><category>Infrastructure</category><pubDate>Thu, 31 Jul 2025 18:30:00 GMT</pubDate></item>
<item><title>Long Context in LLMs: Testing Degradation Before Production</title><link>https://synehq.com/blog/facing-the-token-tide-how-increasing-input-tokens-impacts-llm-performance/</link><guid isPermaLink="true">https://synehq.com/blog/facing-the-token-tide-how-increasing-input-tokens-impacts-llm-performance/</guid><description>How to evaluate long-context LLM behavior with position-aware retrieval tests, realistic distractors, model-specific measurements, and operational safeguards.</description><category>AI</category><pubDate>Thu, 24 Jul 2025 18:30:00 GMT</pubDate></item>
<item><title>Auditing PostgreSQL Schema Changes with Event Triggers</title><link>https://synehq.com/blog/tracking-schema-changes-in-production-with-postgresql-event-triggers/</link><guid isPermaLink="true">https://synehq.com/blog/tracking-schema-changes-in-production-with-postgresql-event-triggers/</guid><description>A practical PostgreSQL event-trigger audit pattern for recording DDL context, limiting access, testing behavior, and planning retention.</description><category>Database</category><pubDate>Thu, 24 Jul 2025 18:30:00 GMT</pubDate></item>
<item><title>What Is a Data Lake? Architecture, Tradeoffs, and Use Cases</title><link>https://synehq.com/blog/what-is-a-data-lake-definition-architecture-and-use-cases/</link><guid isPermaLink="true">https://synehq.com/blog/what-is-a-data-lake-definition-architecture-and-use-cases/</guid><description>A practical explanation of data lakes, their storage and governance layers, common failure modes, and when a warehouse or federation is a better fit.</description><category>Data</category><pubDate>Thu, 24 Jul 2025 18:30:00 GMT</pubDate></item>
<item><title>MongoDB Search Projections with Monstache and Elasticsearch</title><link>https://synehq.com/blog/migrating-from-mongodb-to-elasticsearch-with-monstache-achieving-real-time-low-latency-search/</link><guid isPermaLink="true">https://synehq.com/blog/migrating-from-mongodb-to-elasticsearch-with-monstache-achieving-real-time-low-latency-search/</guid><description>A build note on using Monstache to maintain an Elasticsearch search projection from MongoDB, including sync, recovery, and rollback work.</description><category>Infrastructure</category><pubDate>Sun, 06 Jul 2025 18:30:00 GMT</pubDate></item>
<item><title>Building Rabbit: A Self-Hosted TCP Tunnel with Persistent Ports</title><link>https://synehq.com/blog/how-we-built-rabbit-a-production-ready-private-tcp-tunnel-for-devs-who-need-control/</link><guid isPermaLink="true">https://synehq.com/blog/how-we-built-rabbit-a-production-ready-private-tcp-tunnel-for-devs-who-need-control/</guid><description>A build note on Rabbit&apos;s token-to-port TCP tunnel model, connection flow, persistence, operations, and the security boundaries operators own.</description><category>Infrastructure</category><pubDate>Thu, 03 Jul 2025 18:30:00 GMT</pubDate></item>
<item><title>Choosing Text Search: PostgreSQL, DuckDB, and External Engines</title><link>https://synehq.com/blog/the-complete-guide-to-text-search-postgresql-duckdb-and-beyond/</link><guid isPermaLink="true">https://synehq.com/blog/the-complete-guide-to-text-search-postgresql-duckdb-and-beyond/</guid><description>A practical comparison of PostgreSQL, pg_search, DuckDB FTS, and external search engines, with workload tradeoffs and selection checklists.</description><category>Database</category><pubDate>Thu, 03 Jul 2025 18:30:00 GMT</pubDate></item>
<item><title>Phased PostgreSQL Schema Migrations with pgroll</title><link>https://synehq.com/blog/zero-downtime-schema-migrations-for-self-hosted-postgres-with-pgroll/</link><guid isPermaLink="true">https://synehq.com/blog/zero-downtime-schema-migrations-for-self-hosted-postgres-with-pgroll/</guid><description>Use pgroll&apos;s versioned schemas and expand-contract workflow to stage PostgreSQL changes while checking locks, backfills, clients, and rollback boundaries.</description><category>Database</category><pubDate>Thu, 03 Jul 2025 18:30:00 GMT</pubDate></item>
</channel></rss>