Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

Snowflake Emulator

Local Snowflake Development with Go and DuckDB

Details

External ID
46471246
Source
HN
Company
—
Product
Snowflake Emulator
Website domain
github.com
Launched
Jan. 3, 2026
Cohort
—
Upvotes
6
Upvotes percentile
0.2549407114624506
Tags
—
Fetched at
Sept. 7, 2026, 9:25 p.m.
Updated at
Sept. 7, 2026, 9:25 p.m.

Description

Hi HN! I built a Snowflake emulator for local development and testing.Testing Snowflake code locally is frustrating – you need a real account (expensive) or mock everything (tedious). I wanted something that just works with the standard [gosnowflake](https://github.com/snowflakedb/gosnowflake) driver or REST API.snowflake-emulator fixes this by:- Using DuckDB as the storage engine - Auto-translating Snowflake SQL (IFF→IF, NVL→COALESCE, DATEADD, etc.) - Supporting gosnowflake driver protocol – no code changes needed - Providing REST API v2 – use from any language (Python, Node.js, etc.)```go dsn := "user:pass@localhost:8080/TEST_DB/PUBLIC?account=test&protocol=http" db, _ := sql.Open("snowflake", dsn) db.Query(`SELECT IFF(score >= 90, 'A', 'B') FROM users`) ``````bash docker run -p 8080:8080 ghcr.io/nnnkkk7/snowflake-emulator:latest ```GitHub: https://github.com/nnnkkk7/snowflake-emulatorWould love feedback – especially on SQL functions you'd want supported!

Enrichment

Theme
database infrastructure and developer tools
Vertical
—
Function
Data infrastructure
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
local snowflake development emulator
Manually corrected
False

Could you build this?

Partial While wrapping DuckDB behind a Go server wire protocol is straightforward, emulating Snowflake-specific SQL dialect quirks and proprietary features accurately requires significant low-level engine translation.

What it would actually take: The architecture involves a Go HTTP/JSON server that implements the Snowflake wire protocol and translates queries into DuckDB SQL via AST rewriting. The hardest piece is handling Snowflake-specific SQL functions, session parameters, and procedural logic (e.g., Snowflake Scripting) that DuckDB does not natively support, demanding deep database internal knowledge.

Discussion

4 comments analyzed.

Competitors mentioned: LocalStack

Concerns raised: FLATTEN translation to DuckDB UNNEST incomplete, missing Snowflake output columns, Queries work locally but break in subtle ways on deployment, Named parameter syntax not supported

Feature requests: Complete FLATTEN implementation with full Snowflake output columns (SEQ, KEY, PATH, INDEX, VALUE, THIS), Support named parameter syntax for FLATTEN

Competitors

Other products that read as similar to this one — 66 launches clear the similarity bar, closest 8 shown.

Attention rank: #57 of 67 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 66 days after the earliest competitor.

Other launches for this product