Show HN: Lotas – Cursor for RStudio
RStudio is used by about 2 million data scientists and academics, but they currently lack a coding assistant within their IDE. Developers in other environments benefit from tools like Cursor and Windsurf, but R users don’t have any equivalent tools to speed up their workflow. Since ~80% of R programmers prefer to use RStudio over other IDEs like VSCode to write R code, we figured a tool like this one could be quite useful.
Both of us were PhD students at Harvard. Jorge was in the biophysics program and Will was in the biostatistics program where most people used RStudio every day. We saw how integrated code assistants were taking off in other IDEs, but we noticed that the RStudio integrations were still lagging far behind. Many R users were copying and pasting code from ChatGPT to build their workflows, and this was clearly slow and fragile.
To bring the Cursor-like experience to RStudio users, we built Rao (https://www.lotas.ai/): a fork of RStudio with an embedded AI assistant that is aware of the user’s local context (both files and variable environment), can read and write files, can run code or commands, and can interpret textual or visual output. It works with any of the file formats already in RStudio (R, notebooks including RMDs and QMDs, Python, Stan, etc.), allowing R programmers to iteratively perform entire data analyses inside their preferred IDE.
Other AI data science tools are either (1) built on the web or in environments people don’t already use, (2) are completely focused on python notebooks, or (3) are weak package-based assistants with limited functionality. Rao is exactly like the RStudio IDE that millions of data scientists already use, but it incorporates a powerful AI assistant and works with all the standard file types.
You can download Rao at https://www.lotas.ai/download, watch our demo on the homepage (https://www.lotas.ai/), and work through some example use cases on our GitHub (https://github.com/lotas-ai/rao/tree/main/demos). We have a one-week free trial (no card required) and provide 500 queries/month for $20/month after that. We’d love to hear feedback from the HN community to make Rao as useful as possible! You can reach us at founders@lotas.ai.
P.S. We have zero data retention (ZDR) agreements with OpenAI and Anthropic, but we currently recommend users do not input sensitive or regulated data like PHI into Rao until we sign BAAs with both model providers. For more information on our security practices, please visit the security page on our website https://www.lotas.ai/security.
If the former, is there a non-paid option for people to bring their own model access? If the latter, what is the subscription pricing paying for? I am in favor of subscriptions for on-going services/costs, but in the absence of on-going costs, I'd prefer a pay-once option.
- Easy to use (very little friction, although command + L to open chat could be nice, first time using I couldn't locate the chat pane, although the humility to have it tucked away was nice :) )
- It generates and asks to run preliminary code e.g. str(object) to see what it's working with), wasn't expecting this, nice!
- Has most (all?) the niceties cursor has slowly added over the months
- Small thing, but I'd definitely prefer that when it generates code it places it in a script for me to read and run line by line, rather than showing the code in the chat pane and expecting the user to select between Run (all of it!) or Cancel. I'd generally never run unfamiliar code all at once, let alone LLM-generated code, but much rather read the code in the script pane where I can modify, comment, edit, and eventually run line by line.
I've used cursor (in tandem with RStudio) a fair bit for R/shiny development. After half an hour playing with this, I'm pretty confident this is a better experience, one I'd prefer over cursor/RStudio. Well done.
Can you say a bit more about what you mean with line-by-line running from a script? Would the script show up in the editor pane (top left) and then you'd run the script line by line and the AI would see the outputs from that code being run?
For quick and dirty EDA in R, the appropriate place is probably just going to be the bottom of the current script. For example here [0] Rao gives the requested code; rather than being presented with Run/Cancel options, I'd prefer an 'Accept' button that places the code at the end of the current script in the script pane so it can be read by the human and run a line at a time (to verify that it works each step of the way)
[0] https://imgur.com/a/8x4Ykdt
Not to take anything away from your announcement, but Github Copilot works in RStudio.
Practically, Positron also requires you to use your own LLM keys (so you're on the hook for the tokens/long context, and if you don't have a BAA or ZDR, you may not be able to use it with sensitive data). For Rao, we manage the tokens and are moving quickly towards HIPAA/SOC 2.
We also plan to develop something similar to Positron in the future.