DEV Community

Shili Li
Shili Li

Posted on

A data scientist's journey building a B2B data product with Julia and Pluto

In this post, I’m exploring dev tools for data scientists, specifically Julia and Pluto.jl. I interviewed Mandar, a data scientist and software engineer, about his experience adopting Pluto, a reactive notebook environment similar to Jupyter notebooks. What’s different about Pluto is that it’s designed specifically for Julia, a programming language built for scientific computing and machine learning.

I traced his journey from choosing Julia for his project to discovering Pluto and experiencing its aha moments. What surprised me most was that Pluto wasn’t just a better Jupyter alternative or a ‘Julia notebook.’ Its real value was in helping him turn a complex scientific model into an external B2B product demo, allowing his team to go to market faster. While Pluto offered a smoother developer experience, the true impact was in its ability to create business value. In this case, Pluto’s real competition wasn’t just Jupyter, but also data app builders like Streamlit.

Let’s break down his adoption journey:

  1. Switching from Python to Julia.

  2. Switching from Jupyter notebooks to Pluto.

  3. Experiencing Pluto’s aha moments.

 

Switching from Python to Julia

Mandar is an experienced Python developer and was working on a scientific model, but felt that Python couldn’t him the flexibility and speed he needed for his project. He started to consider a different stack, one designed for scientific computing. He remembered Julia and decided it was a good time to try it. He found SciML, an open source framework for scientific machine learning in Julia. In their documentation, he was convinced that it would work after seeing real world use cases and advanced examples.
 

Switching from Jupyter notebooks to Pluto

At first, Mandar used Jupyter’s Julia kernel to run his model, but it was difficult to get the Julia kernel to recognize his projects environment and dependencies. He couldn’t even get his project up and running. He thought there must be something specific to Julia and found Pluto after googling ‘Julia notebook’. It was clear from the beginning how much better the developer experience was using Pluto. He loved the UI elements like sliders and dropdowns. The highlight was Pluto’s reactive execution, meaning changes to one cell would instantly update all dependent cells, removing the manual execution problems in Jupyter.
 

Pluto's aha moments

The bigger aha moment for Mandar was enabling stakeholders to experiment with the model on their own. Pluto made the model interactive, giving business stakeholders the autonomy to tweak inputs using sliders and other UI elements in terms they could easily understand. They can adjust parameters and immediately see the results, without needing to interact with the code.

Instead of writing summaries manually, Mandar connected Pluto to ChatGPT’s API to automatically generate formatted insights. Rather than preparing separate reports or building a dashboard, he quickly created a working prototype that was both functional and presentable. Because Pluto kept everything in sync, he could update parameters, rerun the model, and regenerate the report instantly. Pluto’s biggest advantage is not just execution; it is reducing friction across the entire prototyping workflow.

Julia and Pluto helped me go from a complicated idea to a possible presentation to non-technical stakeholders very quickly. That’s why it’s impressive. You do something complicated, and it’s still somehow presentable, easy to use, and shareable. It produced something I could share, without me manually editing stuff or having a separate pipeline for producing a report. It’s all in one place. — Mandar.

 

Key Takeaways

  • What stood out to me was how excited Mandar was about Pluto’s developer experience. First, it solved the execution challenges common in Jupyter. Second, it was an all in one tool, allowing him to build, test, visualize, and share in the same environment. This integration also reduced context switching.

  • Expanding Pluto’s audience to business stakeholders could drive stronger enterprise adoption. While Pluto’s core focus is improving the developer experience, its real value lies in enabling faster business outcomes. Julia and Pluto together allow teams to move from idea to execution more quickly while empowering non-technical users to engage with data directly.

  • There was also no friction in Mandar’s journey. There was little to no learning curve with Pluto, and Julia was the best fit for his project’s technical requirements. The combination of the right tools and great user experience made adoption effortless.

  • SciML’s documentation also played an important role in his decision to use Julia. A common pain point for developers is documentation that only provides basic examples. However, Mandar found that Julia’s documentation showcased its ability to handle real-world complex scenarios.
     

Recommendations

  • Expand language support: Pluto’s growth is closely tied to Julia’s adoption. Julia is a niche language, and for Mandar, the timing and nature of his project made it the right choice. However, he pointed out that if data science teams aren’t willing to learn or experiment with Julia, they’re more likely to stick with widely adopted languages like Python. While Julia offers a great DX, the decision to adopt it may not be up to the individual. It depends on team preferences and standards. Since Pluto solves for problems that not unique to Julia users, expanding support for languages like Python could help drive adoption.

  • Improve discoverability: Pluto could make it easier for people to discover their tools from SciML. Mandar had to google for Julia notebook to find Pluto.

  • Positioning beyond DX: Mandar’s story shows that Pluto’s business outcome is in reducing time to market for data products. It might be interesting to position Pluto in the enterprise market as not just a better alternative to Jupyter but as a tool that helps data science teams build and ship interactive prototypes faster.

  • Target B2B use cases: Most notebook tools focus on internal collaboration. Mandar’s story highlights an opportunity in an external, customer facing application.

  • Showing up earlier in the workflow: If notebook tools like Pluto can offer ready to use notebooks alongside research papers, data scientists can experiment with the models directly without setup. Another idea could be to sponsor Github repos that are common for data science models.

Big thanks for Mandar for sharing his story and thank you for reading! 💜

Top comments (0)