Yeah, it pretty easy to see it in my history, congrats. I posted about the project multiple times while I was working on it over the last four years. I also mention posting on HackerNews in the article.
That was an enjoyable read! I have also tried qutting my job as a developer, tried making money by working for myself (and focusing on developing features instead of actually making money, same as you), then returning to a "proper job" as an engineer. There were many recognizable moments in the blog post.
I once took a course in entrepreneurship, as a distraction from computer science, and the bottom line is that to make money you should first try to find someone willing to hand you their money, and then put the effort into making the product or service. But, as a developer, it's soul-wrenching and just feels wrong to try to sell something before something proper has even been made. But I've seen it work many times, you just need sales people that are not afraid of making up products while they go, with both the profit and stress that follows.
I'm glad you found a good opportunity with an accelerator, good luck with the next adventure!
Thanks for the thoughtful comment! This is my first try at entrepreneurship. I'd be lying if I said that I'm always sure it was worth it. Most of the time, though, I really think it is, regardless of if it's commercially a success or not. Probably sounds corny, but for a product to work commercially, it needs to have both passion from your end and usefulness on the other. I think if there's no passion, it's probably not going anywhere and even if it does it's not worth it.
I would argue the you go the lesson slightly wrong. As a technical person you start with your great idea and get it working (not working is not the same as polished!). Then you HIRE someone who is great at marketing to help you figure out where it needs to be polished to sell it. The great marketing person will then do the work go get sales.
Note, if you were a marketing person your lesson would be correct: you find the idea that someone will pay for and build it, then you HIRE the technical people who can build it. Marketing people are great at figuring this out.
The above are two very different, but successful approaches to creating a business, with different results. The technical first approach asks "what can technology do" and creates the next revolution. The marketing first approach ask what will people pay for, and creates the next evolution. Both are very valid approaches that can lead to riches. It is very common - even in business schools that should know better - it not recognize that a technical approach can work.
There's been a few startups that forked off from my employer, but none of them started off as "here's a bag of money, go and make something" - they always started from one of our customers having a need, and being willing to invest and be a pilot / first user.
Ten years later, that first startup scored a 100M funding round.
Accurate. In understatementship it’s called “over-promise”. But inventing non existing products or features is the current industry standard in startups. Call it fraud, call it marketing, get used to it.
“You might be surprised to learn that in a developer’s life, there aren’t all that many chances to impress girls with your coding skills.”
Ha ha. When my wife and I were new she asked to use my laptop and was surprised that it “had no icons”. (No window system). So I started to show her how to avoid using a GUI. 12 years later she uses a terminal about half of her time as a stock administrator.
So far I've managed to seriously impress my SO with my computing skills just once. People from her old company asked if she'd like a side gig, involving backing up years worth of philosophical Facebook posts of their boss (he's quite a writer), into Word documents (one per post). It would be ridiculous to attempt it by hand, but by applying a small amount of Lisp and pandoc on Facebook data export dump, I was done in 3 hours.
These days I mostly help her when she needs bunch of photos mangled into a format that can be accepted by upstream contractors; it usually involves some ImageMagick one-liners.
Impressed a girl once who's friend had a Mac Classic with important files that needed to be removed. The only removable storage option was a broken floppy drive. It did have a network card, but couldn't find any way to move files to my modern mac, linux, or windows machines over the network.
It did have an ancient version of Netscape, so I tried to upload the files, but the browser was just too old to handle Dropbox, Google Drive, or any other service I could think of. An obvious solution, then, would be an upload service built for ancient browsers.
So, in about 5 minutes flat I made a sinatra app that used the simplest HTML upload form possible and dumped uploaded files to a folder on my desktop machine.
Maybe there was an easier solution I missed, but she found mine quite impressive.
You must see the faces of everyone when using my computer (is more effective this way!) they discover it can move the mouse cursor between MONITORS!
(I have 2. A TV and Screen. Somehow not connect that both are monitors...)
The face of disbelieve is amazing. It impress the girls everytime. Is super-effective!
---
A better anecdote was when I was in an incubator years ago. I was located in front of the main big-glass entrance. My monitor face it, so everyone that get in see what I was doing.
And suddenly a dozen or more of kids get in in the exact moment when I was moving some screens around the monitors...
My wife is the only non-dev, family or friend, male or female, who I ever convinced to switch to Linux from Windows/Mac and who actually loved it and stuck with it despite me being a major Linux evangelist for about 10 years. Coincidence? (Although sadly I've now caved and use Mac and she's on a Chromebook. Fucking kids have ruined us!)
This has come in handy for me recently, but it's painful to try and edit even a simple SQL query in the cell edit field. However, it's super convenient to have this capability built into the spreadsheet.
Marketing idea for QueryStorm: guides that apply your tool for specific data analysis/workflow challenges. You might benefit from looking for the popular guides for Google Sheets that rely heavily on QUERY(). Then you can translate those for Excel/QueryStorm and suddenly you've got answers for "How to do XYZ in Excel" that promote your tool.
Once you create your ODBC source from the excel files, you can run queries and use the language of your choice (Python,C# ....). I am pretty sure you can also insert/update rows and columns too.
Wondering how this differs from the approach I describe (which has existed for many years).
Primarily, it's a lot more convenient. There's no setup involved, you just click and and the data is available through SQL or C#. There's no need to clean the data around the tables, it works on live data (file does not need to be saved), no connection strings to set up or boilerplate code to write.
There's more, e.g. the SQLite engine can interact with Excel and fiddle with formatting, but I think the major thing is convenience. As a dev, most times I just wouldn't bother with the ODBC approach unless I really had to. Convenient C# and SQL though, I'd use them at least 10x more often.
That was a fantastic read. In a world of products and apps that seem to be a solution looking for a problem, it's nice to see a full story illustrating a common problem, and how a technical person came to provide a featured solution to that problem.
I think I already know the answer to this, but I assume that this IDE is Windows only? I couldn't see any information about platforms on the main product page, which might throw someone off if they use Excel on a Mac.
My usual approach when I reach the limit of my excel skills (and patience) is to save as csv, write a Python script to do the job, import back in excel for the graphs. This looks like it could nicely streamline the process, granted I learn a bit of C# (any excuse to pick up a new language I guess). Looking forward to try the tool the next time I battle a budget forecasting file. And kudos for the well-written and funny article.
This may sound weird but my go-to these days for text munging is actually PHP. Set it up as a shell script, do all your testing on the command line, and then if it's something you use a lot (or other people could use), throw it on a server somewhere with a web form at the front end to make it more accessible.
Not for anything serious, but great for those occasional quick-hack utilities to save you a bunch of cut-and-pasting or data reformatting.
If you're already exporting to CSV, why bring it back in for the graphing? There are plenty of decent python graphing libraries. Or if you hated all of those, you could always just use R, which will make basically any graph you could ever need (...and do the data analysis for you too).
Let me know if I can help with trying it out. I'm in the "do-things-that=don't-scale" mode, at least until I save up for my mansion, so please feel free to make use of it!
> It doesn't copy the data into it, it actually lets the SQLite engine use Excel tables as the data storage (I implemented something SQLite calls a virtual table - an adapter to let it work with custom data sources). This means you can run update/delete/insert statements directly on excel tables
(from the linked reddit post, I haven't finished the blog post)
I wonder if a similar sort of approach with FDW's could work with Postgres and Excel.
I like your humour, I like the joke about the mansion, I like how you casually assume that choosing the project over Anna was obvious as you move on. Nice article!
I like the way you list things you like. Never heard of IndieHackers, but I'd love to be interview by them if they'll have me. I'll check em out. Cheers for the tip and the kind words.
I have to say, without even looking at the actual product, seeing it use the FooStorm naming from jetbrains while being a paid product isn't inspiring much confidence.
Yeah, I do get that comment every now and then. It was originally called ThingieQuery, but then I got people saying that they liked it but couldn't ask a manager to buy something called ThingieQuery. I didn't consciously steal the JetBrains naming, but the first time someone pointed it out my reaction was d'oh...
"It took a few days to build the first version. It was butt-ugly and looked like it was designed according to whatever the opposite to Feng Shui is, but it worked nicely."
I read the post and it's amazing you took the hard path. In regard to the product, first of all kudos, and second of all; you may want your users to be able to run analytical workflows. In which case embedding Firebird instead of SQLite might be cool. Just something I thought while reading the docs.
I've never used Firebird db so far. I have no idea how it differs. I will check it out, and possibly include it. QueryStorm already supports 6-7 different types of databases so one more won't be too difficult to add. Thanks for the tip!
Interesting read about an equally interesting product (plugin). I can definitely see how it can help so many people.
Quick suggestion: If at any point you are looking to offer varying price points based on features, one possibility is to have three versions - Business (for people who know and work mostly on Excel every day), Developer (C#, LINQ etc.) , Complete (All features).
Because having worked with many people who work with Excel for whole day, at least 90% of the users will not understand or use this:
"Additionally, imagine how much easier it would be to build prototypes and small applications if instead of VBA you could use C# (and LINQ) in Excel. You could write business logic in C#, load data from all sorts of APIs."
Not to say this will not be useful. This will be extremely useful for me (a developer). Just a thought.
I have used excel as a data source using VBA before so one problem I had there that I'm curious how you approached was how to automatically determine data types? IIRC the ODBC engine in VBA scans a set amount of rows to guess. Are you doing anything different?
Hey! I scan the entire contents of the table. I have a cache layer in memory anyway so that works quickly. If you have multiple types in the same column, it just treats the type as "object". If you connect, and start entering various types into your columns, you'll notice in the object explorer that it updates the type information.
[+] [-] neonate|8 years ago|reply
https://news.ycombinator.com/item?id=13114421 (64 comments)
https://news.ycombinator.com/item?id=15670030 (34 comments)
https://news.ycombinator.com/item?id=11583488 (111 comments)
https://news.ycombinator.com/item?id=10991747 (1 comment)
https://news.ycombinator.com/item?id=9783022 (64 comments)
https://news.ycombinator.com/item?id=9359128 (10 comments)
https://news.ycombinator.com/item?id=9399119 (6 comments)
[+] [-] stickfigure|8 years ago|reply
Congratulations anakic, I hope it takes off.
[+] [-] anakic|8 years ago|reply
[+] [-] extrememacaroni|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] xyproto|8 years ago|reply
That was an enjoyable read! I have also tried qutting my job as a developer, tried making money by working for myself (and focusing on developing features instead of actually making money, same as you), then returning to a "proper job" as an engineer. There were many recognizable moments in the blog post.
I once took a course in entrepreneurship, as a distraction from computer science, and the bottom line is that to make money you should first try to find someone willing to hand you their money, and then put the effort into making the product or service. But, as a developer, it's soul-wrenching and just feels wrong to try to sell something before something proper has even been made. But I've seen it work many times, you just need sales people that are not afraid of making up products while they go, with both the profit and stress that follows.
I'm glad you found a good opportunity with an accelerator, good luck with the next adventure!
[+] [-] anakic|8 years ago|reply
[+] [-] dhimes|8 years ago|reply
This has been my biggest struggle.
[+] [-] fouc|8 years ago|reply
For example: https://www.youtube.com/watch?v=6reLWfFNer0
[+] [-] bluGill|8 years ago|reply
Note, if you were a marketing person your lesson would be correct: you find the idea that someone will pay for and build it, then you HIRE the technical people who can build it. Marketing people are great at figuring this out.
The above are two very different, but successful approaches to creating a business, with different results. The technical first approach asks "what can technology do" and creates the next revolution. The marketing first approach ask what will people pay for, and creates the next evolution. Both are very valid approaches that can lead to riches. It is very common - even in business schools that should know better - it not recognize that a technical approach can work.
[+] [-] Cthulhu_|8 years ago|reply
Ten years later, that first startup scored a 100M funding round.
[+] [-] avip|8 years ago|reply
[+] [-] jason_slack|8 years ago|reply
Ha ha. When my wife and I were new she asked to use my laptop and was surprised that it “had no icons”. (No window system). So I started to show her how to avoid using a GUI. 12 years later she uses a terminal about half of her time as a stock administrator.
[+] [-] TeMPOraL|8 years ago|reply
So far I've managed to seriously impress my SO with my computing skills just once. People from her old company asked if she'd like a side gig, involving backing up years worth of philosophical Facebook posts of their boss (he's quite a writer), into Word documents (one per post). It would be ridiculous to attempt it by hand, but by applying a small amount of Lisp and pandoc on Facebook data export dump, I was done in 3 hours.
These days I mostly help her when she needs bunch of photos mangled into a format that can be accepted by upstream contractors; it usually involves some ImageMagick one-liners.
[+] [-] examancer|8 years ago|reply
It did have an ancient version of Netscape, so I tried to upload the files, but the browser was just too old to handle Dropbox, Google Drive, or any other service I could think of. An obvious solution, then, would be an upload service built for ancient browsers.
So, in about 5 minutes flat I made a sinatra app that used the simplest HTML upload form possible and dumped uploaded files to a folder on my desktop machine.
Maybe there was an easier solution I missed, but she found mine quite impressive.
[+] [-] mamcx|8 years ago|reply
(I have 2. A TV and Screen. Somehow not connect that both are monitors...)
The face of disbelieve is amazing. It impress the girls everytime. Is super-effective!
---
A better anecdote was when I was in an incubator years ago. I was located in front of the main big-glass entrance. My monitor face it, so everyone that get in see what I was doing.
And suddenly a dozen or more of kids get in in the exact moment when I was moving some screens around the monitors...
WHOAAAA!!!
Everyone say!
[+] [-] eagsalazar2|8 years ago|reply
[+] [-] Double_a_92|8 years ago|reply
[+] [-] shimon|8 years ago|reply
https://support.google.com/docs/answer/3093343?hl=en
This has come in handy for me recently, but it's painful to try and edit even a simple SQL query in the cell edit field. However, it's super convenient to have this capability built into the spreadsheet.
Marketing idea for QueryStorm: guides that apply your tool for specific data analysis/workflow challenges. You might benefit from looking for the popular guides for Google Sheets that rely heavily on QUERY(). Then you can translate those for Excel/QueryStorm and suddenly you've got answers for "How to do XYZ in Excel" that promote your tool.
[+] [-] kelvin0|8 years ago|reply
https://stackoverflow.com/questions/15844633/using-excel-as-...
Once you create your ODBC source from the excel files, you can run queries and use the language of your choice (Python,C# ....). I am pretty sure you can also insert/update rows and columns too.
Wondering how this differs from the approach I describe (which has existed for many years).
Good work!
[+] [-] anakic|8 years ago|reply
There's more, e.g. the SQLite engine can interact with Excel and fiddle with formatting, but I think the major thing is convenience. As a dev, most times I just wouldn't bother with the ODBC approach unless I really had to. Convenient C# and SQL though, I'd use them at least 10x more often.
[+] [-] the-dude|8 years ago|reply
Polish.
[+] [-] EnderMB|8 years ago|reply
I think I already know the answer to this, but I assume that this IDE is Windows only? I couldn't see any information about platforms on the main product page, which might throw someone off if they use Excel on a Mac.
[+] [-] laurentl|8 years ago|reply
[+] [-] taneq|8 years ago|reply
Not for anything serious, but great for those occasional quick-hack utilities to save you a bunch of cut-and-pasting or data reformatting.
[+] [-] onychomys|8 years ago|reply
[+] [-] anakic|8 years ago|reply
[+] [-] rattray|8 years ago|reply
> It doesn't copy the data into it, it actually lets the SQLite engine use Excel tables as the data storage (I implemented something SQLite calls a virtual table - an adapter to let it work with custom data sources). This means you can run update/delete/insert statements directly on excel tables
(from the linked reddit post, I haven't finished the blog post)
I wonder if a similar sort of approach with FDW's could work with Postgres and Excel.
[+] [-] ratsimihah|8 years ago|reply
You should do an interview with IndieHackers!
[+] [-] anakic|8 years ago|reply
[+] [-] gigatexal|8 years ago|reply
[+] [-] gormz|8 years ago|reply
[+] [-] m_mueller|8 years ago|reply
[+] [-] faitswulff|8 years ago|reply
Congrats on the launch and the joining accelerator, hope it gains traction! It looks fantastic!
[+] [-] ratsimihah|8 years ago|reply
[+] [-] anakic|8 years ago|reply
[+] [-] nolok|8 years ago|reply
[+] [-] anakic|8 years ago|reply
[+] [-] jimcsharp|8 years ago|reply
[+] [-] anakic|8 years ago|reply
[+] [-] mrswilliam|8 years ago|reply
[deleted]
[+] [-] tclancy|8 years ago|reply
[+] [-] michaelmcmillan|8 years ago|reply
Made me laugh.
[+] [-] kanwisher|8 years ago|reply
[+] [-] escanda|8 years ago|reply
[+] [-] anakic|8 years ago|reply
[+] [-] ramkarthikk|8 years ago|reply
Quick suggestion: If at any point you are looking to offer varying price points based on features, one possibility is to have three versions - Business (for people who know and work mostly on Excel every day), Developer (C#, LINQ etc.) , Complete (All features).
Because having worked with many people who work with Excel for whole day, at least 90% of the users will not understand or use this: "Additionally, imagine how much easier it would be to build prototypes and small applications if instead of VBA you could use C# (and LINQ) in Excel. You could write business logic in C#, load data from all sorts of APIs."
Not to say this will not be useful. This will be extremely useful for me (a developer). Just a thought.
Good luck with QueryStorm.
[+] [-] JackFr|8 years ago|reply
[+] [-] clarkeni|8 years ago|reply
I have used excel as a data source using VBA before so one problem I had there that I'm curious how you approached was how to automatically determine data types? IIRC the ODBC engine in VBA scans a set amount of rows to guess. Are you doing anything different?
[+] [-] anakic|8 years ago|reply