60 karma · joined September 28, 2012
The hardest part is that user focus is sometimes at odds with technical cleanliness. You can ship something inelegant but useful, or elegant but slightly off from what people need. Most orgs mess this up by choosing elegance.
At Databrain, we’re building a modern business intelligence platform. Anyone who’s ever used tools like Tableau or Power BI knows how complex these systems can become—so much so that companies offer certifications just to confirm you know where to click to accomplish certain tasks.
And it’s not just BI. Many SaaS products are brimming with features that users often struggle to discover. Customers scour documentation or call support just to learn how to perform a seemingly straightforward action. Why should users be forced to memorize new menus and workflows? Why invest so much cognitive effort into navigating a product?
Enter the chatbot-driven UX: Rather than forcing users to master every nook and cranny of your interface, a chat-based system lets them simply tell the AI what they want. The AI can guide them to the correct page, perform the requested action, and allow the user to verify or tweak the outcome in real time. It’s a natural stepping stone on the road to “agentic” interfaces, where the AI does most of the heavy lifting but still leaves room for human oversight.
I recently built a prototype to illustrate this concept. At Databrain, we plan to launch this feature soon as part of our platform’s evolution. We previously tested an “AI data assistant,” but it didn’t fully catch on—mainly because people want to trust the output, and they get concerned when it isn’t 100% accurate. Now, I’m convinced a “co-pilot” approach, where humans remain in control while AI assists in routine tasks, is the right balance. This chatbot-driven UX is our first step in that direction.
Ultimately, the idea is to minimize the user’s cognitive burden and accelerate the path to actionable insights. We’ll share more about our progress at Databrain in the coming days, but I’m excited to see how this approach changes the way people interact with complex SaaS products.
I think it is the approach — especially on error where it fixes on its own. In Dravid for eg if you say “create elixir project” if elixir is not installed, it will try to install on its own and if there is architecture like for eg M1 related it will fix those errors and finally creating the elixir project. There is no hand holding required.
Metadata: For a fresh project that is initiated by this tool, it creates a base metadata file (drd.json in this case) and updates as and when there is new changes. For a new project, you can run a command `drd --i` which would initialise a metadata based on recursively checking each file content (multiple LLM calls).
Once the metadata file is created, for the subsequent questions it referes metdadata file for the releveant files and loads those file's content into context. For eg, i ask "can you refactor query's main", it would look for "src/query/main.py" and load the content into the context and then respond.
"dev server monitor": I have tried with scenarios when the module doesn't exists, and it installs and rewrites the modules, type error it fixes. It does all the fix each time and does the restart. I may be biased, it seems to work most of the times I tried. Even during the time if its fix is not correct, it gets it in the next attempt. Need to test in more scenarios.
Actually the main command if you try "drd 'create a sample elixir proj'" it will run into error coz elixir doesn't exist and it will try to install and recursively heal until it figures out similar to restart. I thought this is a great usecase, and I have been using this to create some other python projects. Thanks for pointing out "dev server monitor" could be a killer feature!!
Btw, this is tweet thread with videos attached for each example https://x.com/vysakh0/status/1811790449016779261
Made this CLI tool to automate it. And to fix errors by sending it back to the claude api. Also included the vision API to build based on images.
I built this using this tool itself partly.
Probably OpenDevin, Agents is the future, maybe even Cursor like autocomplete, for now I find this approach useful.
Added some examples in the README. Would love some feedback, this is my first python library that I published.
https://github.com/h4cc/awesome-elixir#authentication
(Also see framework components of that page)
I was just searching around and was surprised to find there are lot, like a lot of libraries already that could potentially save more time
Saw this tweet[1] yesterday
"DHH just admitted he stole ideas from #elixir and @elixirphoenix to create ActionCable @railsconf"
Seems like elixirphoenix is on a right path! This tempted me to look into elixir and phoenix.
My Question: How do you think phoenix can save time for a web developer or a team of web developer?
Most of the time, I hear people talking about how fast their language or framework is. I think at the end of the day, all that matters is a tool that saves time (of frustration and redundancy) without any side effects. And you just wrote about one of the pain points -- deployment.
This news is shocking and outrageous.
This is very sad :( that a community project like GNOME is subject to such a threat.
Also there is rails_composer https://github.com/RailsApps/rails-composer/ with many options to select css framework, servers, testing tools.
Seriously ? Anything?
> Django and Nodejs is better than Rails
Why Django is better? The author seems to hook on to the concurrency aspect of nodejs(for what it was made) and compare with Rails.
Does the author know there are projects like JRuby, Rubinus, there are multi-threaded servers like puma?
One thing is very clear, the author is either writing articles for attention or does not like Rails' popularity. Classic link baiting! He has written 3 blog posts in total, all for the popularity.
ERROR: While executing gem ... (Gem::RemoteFetcher::UnknownHostError) no such name (https://rubygems.org/gems/actionpack-4.0.0.gem)
Edit: Now it is working :)