Show HN: TextQuery – Query CSV, JSON, XLSX Files with SQL

(textquery.app)

139 points | by shubhamjain 15 hours ago ago

51 comments

  • bdcravens 15 hours ago ago

    Congrats on launching, but this feels like an uphill climb to get paying customers. You need to find the intersection of potential customers that know SQL but don't want to use one of the open source options. (perhaps data analysts working in restricted environments where the only option is a web browser)

    • mritchie712 14 hours ago ago

      this is a tarpit idea I've fallen into multiple times. It's really hard to make money from a desktop SQL client, let alone now that DuckDB has a good, free UI.

    • Exuma 10 hours ago ago

      As OSX user... if there is a nice pristine OSX app (like Postico) I will pay for it even if theres a free version (easily, hands down) if the UI/UX is nice, and pro version has extra features. So I'm definitely someone who would pay.

  • ByteAtATime 5 hours ago ago

    Have you seen duckdb? https://duckdb.org/

    It's basically what you're building, but more low-level. Really cool, to be honest -- serves the same market too. Do you have any significant differentiator, other than charts?

  • somerandom2407 7 hours ago ago

    You might have a wider audience if you put in on the app store. I only install very well-known software outside of the app store. For anything more niche, I need it to be on the app store to offer some assurance that it is not malicious and that sandboxing is enforced.

  • ayhanfuat 15 hours ago ago

    Congratulations. I do see value in quickly seeing, querying files in a nice desktop interface. I am curious why there is no parquet support though. If duckdb is running in the background it is probably easy to support it?

    • shubhamjain 4 hours ago ago

      I am planning to add it soon. It shouldn’t be hard. Just have to figure out the UI part.

    • dowager_dan99 14 hours ago ago

      parquet support would be pretty easy I think, but also way outside the target market user. These are the features that are really hard to avoid: easy, but not free, no benefit.

  • lowleveldesign 13 hours ago ago

    Coongrats on the release.

    It reminds me of Log Parser Studio [1] on Windows. Using SQL to query text and log files is a great idea.

    [1] https://web.archive.org/web/20170710212920/http://gallery.te...

  • imachine1980_ 15 hours ago ago

    A few hours ago this would have been useful, I will probably give it a try in few days. On another note, I recommend clarifying in the heroes page that it's about a one-time purchase, because that's a really big plus.

  • jamroom 12 hours ago ago

    Quick question - is it possible to import multiple files at once? I frequently get ZIP files full of csv/xlsx files that I need to search through. I didn't see a way to import more than 1 file at a time. Thanks!

    • shubhamjain 3 hours ago ago

      Thanks for the feedback! It is something on my mind. Will think about the best way to implement it.

    • ok_computer 9 hours ago ago

      You may want to try something similar to Python Polars scan_csv for lazy evaluation of same schema csv directories. It also supports a SQL context where you can use a subset of Ansi Sql instead of learning the functional api to start.

  • dowager_dan99 15 hours ago ago

    I think I'm your target user, but I currently use DuckDB for this type of work, so unlikely to buy your product. That said, lots of devs pay for Rider and/or DataGrip - sometimes with their own money - so maybe there is a market here?

  • A4ET8a8uTh0_v2 9 hours ago ago

    This does seem pretty neat. Any plans to expand to include XML as well?

  • whoomp12342 12 hours ago ago

    oh man, I remebmer solving this problem by connecting these files into SQL SERVER and joining agains them. Those were the days

    • thisislife2 4 hours ago ago

      Still do something similar by using a simple python script to import such files into SQLite and then query the db with SQL. And, if I remember right, now there are free SQLite GUI db readers that also easily allow you to do this.

  • moxplod 8 hours ago ago

    I could use this.

    Questions: What file sizes have you tested?

    What about a directory with similar CSV files - I have a use case where similar structure CSV, 2 TB data broken into 700 files. Instead of 1 large file. Would that work?

  • zipping1549 15 hours ago ago

    I think someone who's willing to use SQL will also be willing to convert such files into, well, proper DB.

    • flysand7 12 hours ago ago

      For a lot of files where you would want to perform a quick one-time analysis, I don't think it's worth starting up a new database, and write scripts that parse the file from the source format and import it into the database. The one time I did it for postgres it took me maybe 2-4 hours to finish the script and start looking at the data. Next time it would be maybe an hour, but it's still a time.

      So I guess I can see how not having to do the conversion for quick one-time analysis could be beneficial.

  • flysand7 12 hours ago ago

    Is it just me, or the images on the website aren't loading? Using firefox, from what I searched it seems like it could be just a firefox issue. The cdn links are https bt when navigating there manually it says the connection is not private.

  • sidcool 15 hours ago ago

    Pricing is too weird.

  • gkbrk 15 hours ago ago

    Feels like `clickhouse local` or `duckdb` with a price tag. Especially since duckdb even has a nice UI now.

    • shubhamjain 15 hours ago ago

      Author here. It uses DuckDB under the hood, which is a fantastic piece of software.

      Yes, even DuckDB has UI now, but I didn't find it to my taste. There's no table view, filters are a bit weird, and not exactly keyboard accessible. TextQuery also has Visualize feature to quickly create charts and tabs to run things in parallel. Again, it's personal preference, but there are advantages in being a desktop-first app.

  • mkayokay 15 hours ago ago

    For CSV files you can also import them directly into a SQLite file using https://sqlitebrowser.org/

    XLSX would be the same workflow with "save as" CSV and then push it into SQLite.

    • shubhamjain 15 hours ago ago

      IIRC, SQLlite requires you to define a schema first, which can be a bit tedious. DuckDB is actually a better tool for this in every regard, since it can parse CSV files quite well. The latest version includes support for XLSX as well.

      My personal take is, yes, it's possible in multiple other ways, but I just like having a well-designed GUI app do it for me. Just how TablePlus does for Database Management.

      • bob1029 15 hours ago ago

        > I just like having a well-designed GUI app do it for me.

        MSSQL/SSMS supports this with some fancy techniques.

        > This wizard was created to improve the current import experience leveraging an intelligent framework known as Program Synthesis using Examples (PROSE). For a user without specialized domain knowledge, importing data can often be a complex, error prone, and tedious task. This wizard streamlines the import process as simple as selecting an input file and unique table name, and the PROSE framework handles the rest.

        > PROSE analyzes data patterns in your input file to infer column names, types, delimiters, and more. This framework learns the structure of the file and does all of the hard work so users don't have to.

        https://learn.microsoft.com/en-us/sql/relational-databases/i...

      • account-5 15 hours ago ago

        You can import CSV files into sqlite without a schema, and you can turn of the ability to auto guess a columns data type if needed.

  • account-5 14 hours ago ago

    To be completely honest I tend to use either powershell or Nushell to query these sorts of files. I do also use sqlite as well when needed.

  • tobilg 14 hours ago ago

    Try https://sql-workbench.com if you‘d like to do this directly in the browser, for free. Including Parquet and Arrow support as well.

    • amir_karbasi 8 hours ago ago

      Your tool has been awesome! Seeing what it can do inspired me to write a POC that connected to an enterprise IBM application that I used to implement: https://github.com/karbasia/tririga-data-workbench (also uses DuckDB and Perspective with some additional hacks to make it work with IBM's tool).

  • nathanwallace 7 hours ago ago

    Readers may also enjoy Steampipe [1], an open source tool to live query 140+ services with SQL (e.g. AWS, GitHub, CSV, Kubernetes, etc). It uses Postgres Foreign Data Wrappers under the hood and supports joins etc with other tables. (Disclaimer - I'm a lead on the project.)

    1 - https://github.com/turbot/steampipe

  • jeadie 7 hours ago ago
  • hermitcrab 12 hours ago ago

    >Pay Once, Use Forever ... Free updates

    I suspect the vendor is going to regret that, further down the line.

    • rsstack 12 hours ago ago

      > The license entitles you to receive lifetime updates for the major version. When we release the next major version, you can optionally renew the license.

      Fairly common. JetBrains started that way too. Will they one day have a major version that's using a subscription model? Perhaps. But they will likely not regret this too much.

      • hermitcrab 11 hours ago ago

        >The license entitles you to receive lifetime updates for the major version.

        Where does it say that?

        That is common and it is the model I use for my own software. But that isn't what I understood from their website.

        Home page: "Pay Once, Use Forever. We hate needless subscriptions as much as you do. TextQuery comes with a perpetual license with free updates."

        Pricing page: "Perpetual license Lifetime updates"

        Which strongly implies every update is free, forever.

        • hermitcrab 11 hours ago ago

          Ok, it says that further down the pricing page. I don't see how that fits with "Perpetual license Lifetime updates". It feels deceptive.

          • netsharc 9 hours ago ago

            Insert some convoluted argument about new versions being "new versions" and not updates, so one is not entitled to them ;-) , just like politicians argue things like genocide not being genocide.

            I hate the subscription model but I do recognize if they continously update the software, they'd like to get paid to do so.

            • hermitcrab 38 minutes ago ago

              >if they continously update the software, they'd like to get paid to do so.

              Absolutely. Just make it clear.

        • rsstack 11 hours ago ago

          It's the first question/answer in the FAQ.

    • _ink_ 12 hours ago ago

      No worries. They will just break their promise, just like most companies that claimed something similar.

      • hultner 12 hours ago ago

        I actually have some apps still which I bought for life years back but doesn't offer that anymore. For instance blink shell for iOS devices.

    • delusional 12 hours ago ago

      I don't know. We had a pretty well established model that included free updates, but required a new purchase for a new major version down the line. I think that worked pretty well.