

sql.garden - An infinite canvas for your data
Hi all,
Long time lurker and DuckDB fan. I have been working on a little side project over the last few months to solve a niche I had at work and has been a fun side quest into build a data exploration tool. I am an engineer at a financial services company and continually need to query across many data sources and files for various reporting and analytical needs. Outside of automation processes a lot of triage work is stitching together disconnected data sources to investigate issues or explore ideas.
DuckDB has been my go to tool for this stuff since early 2024 when I first found out about it. I had an idea that it would be cool to have a Figma-like editor for managing and exploring data and using sql / charting mechanics across these sources to aid in data discovery/exploration. The idea is somewhere muddled in data analytics, after engineering but before standardized reporting.
Day to day I primarily use Beekeeper studio and a laundry list of reports and scripts that help with my day job. I found that I was leaving a lot of tabs open for queries or folders of scripts that are contextually adjacent for whatever I was exploring in the moment, but not super useful after that problem or idea had been solved. So I built this tool to explore that idea for myself.
----
I built this tool as a website and a desktop app to work local first and without any analytics or tracking. I just want this to be a tool people reach for if they find it useful. I am a developer in my day job and love tinkering with stuff like this in my free time, so I will be continuing to chip away and add features as I dog food it myself. I have been using it daily at my job now for a little over 2 months, and just got around to hosting and polishing some QoL items. This app is still very alpha but pleasantly capable for what currently exists.
My primary selling point is: I am building this for myself for free and have no business motivation or anything around it. No pay walls, no freemium features. In the current age of ai I can just build the tool I want, use it, and continually make it better as time goes on instead of wishing or waiting for a business to provide that for me.
let me know if you give it a try and reach out if you have any questions / suggestions about anything/
Website: https://sql.garden
Online playground: https://sql.garden/sandbox/
Github: https://github.com/immannino/sql.garden
---
Quick features:
- Infinite canvas SQL workspace — drag, arrange, and connect query nodes like a Figma board, not a boring tab interface
- DuckDB-powered — runs fully local, no server, no account. Desktop app (Mac/Windows) or browser sandbox
- Query nodes with CodeMirror editor, syntax highlighting, schema autocomplete, auto-refresh intervals, and fullscreen editing mode
- Chart nodes — 19 chart types (bar, line, area, scatter, pie, heatmap, sankey, waterfall, boxplot, and more) powered by Observable Plot. Wire a chart to a query node or write SQL directly in the chart
- Lineage arrows — visual connectors between query → chart nodes so your data pipeline is actually visible
- Import everything — CSV, Parquet, JSON, SQLite, S3/R2/MinIO, paste raw data, or fetch from a URL
- Canvas tabs — multiple named canvases in one session, like browser tabs for your analysis
- Markdown nodes — annotate your canvas with rich text and headers
- Section nodes — visually group related nodes into labeled containers
- Ingest nodes — run SQL on a schedule (synthetic data generator) or poll a URL on an interval
- MCP server built-in — Claude, Cursor, Windsurf can build dashboards on your canvas via tool calls
- SQLite + PostgreSQL + MySQL connections — attach external databases and query them alongside local data
- Export — CSV, JSON, Parquet from any query result
- Node export/import — share canvas layouts as .sql.garden.json packs, importable via a sqlgarden:// deep link
- Learning track — built-in interactive SQL tutorial (8 chapters, e-commerce dataset, SELECT through CTEs and window functions)
- Undo/redo, multi-select, alignment tools, duplicate, color-coding
- 100% local-first — your data never leaves your machine
Noob question: Austria GP - Driver bottlenecks
Hi all,
I recently got into Formula 1 this year and have been watching all the GP and really immersing myself the sport. I wanted to ask an innocent question around something I noticed during Austria that I don't think I've seen referenced.
Using the data in the link provided from the "2026 Austrian Grand Prix race chart" section, the line chart helps visualize some consistent gaps in pace from lap to lap in different segments of drivers. One that stood out during the race was the big gap Lawson maintained almost 3/4 of the entire race. Does that presume that he effectively bottlenecked the midfield or is it safe to assume a performance marker that was 40-50 seconds behind the top 4 teams in total?
This isn't anything arguing against Lawson, I like Lawson, but as I was watching the race live, a lot of behind markers were within 5-15 seconds between drivers but for most of the race Lawson was 35-40s between him and the driver ahead and I just wanted to learn more about this whether its a strategy to keep a natural gap within the race or just a nature of the beast situation where it exposes some serious performance gaps in vehicles / etc.
Thank you!
Advice: Finishing thread loose ends with metal crimps
Hi all!
I posted months ago asking for some advice on making these flowers and it was super helpful so I figured I’d come source some wisdom after failing to find much on this topic.
I have 30 thread poppies I crocheted that will be attached to napkin rings for my sister’s wedding. The flowers are constructed by pulling the loose ends of each layer through a central hole, and tension on all those loose ends keeps the flowers shape. It doesn’t need much tension, but enough to keep them from flopping about.
My question: I originally planned to tie all the loose ends together with a knot but this approach feels a little error prone and honestly stresses me out. I had the idea the other day to crimp the loose ends using jewelry crimps to keep the ends relatively clean and give myself something to latch onto for the silverware rings. Does anyone have experience doing something like this and have any gotchas or things I should worry about before committing to this technique?
This is an original pattern and my first time using thread, so it’s been a learning process all throughout. My goal is for the flowers to be easily removed from the rings after the wedding and maybe add stems and make a commemorative bouquet.
Attached is a picture of my test crimp with the same number of threads I would need for each flower. This is a 3mm crimp ring. I bought a multi pack so I can drop a few sizes if needed. Mainly just looking for reassurance 😅
Thank you!