Carson Sievert (he/him)'s Avatar

Carson Sievert (he/him)

@cpsievert.bsky.social

Shiny engineer at Posit (formerly RStudio). #rstats #python

1,376 Followers  |  174 Following  |  4 Posts  |  Joined: 08.11.2024  |  1.5427

Latest posts by cpsievert.bsky.social on Bluesky

Preview
Building an AI-powered location explorer with Shiny and Claude – WALKER DATA GIS, demographics, and data science consulting

On the blog: building an AI-powered location explorer with Shiny and Claude

Intrigued by apps you’ve seen that bridge GIS and LLMs? You can build them yourselves in #rstats!

Read the post: walker-data.com/posts/ai-loc...

26.07.2025 22:18 β€” πŸ‘ 10    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
A white stylized serpent or "S" curve with a circular head and dot for an eye, is centered on a dark blue circle. Behind the circle is a dark blue background with lighter blue vertical lines of varying heights, resembling an audio waveform.

A white stylized serpent or "S" curve with a circular head and dot for an eye, is centered on a dark blue circle. Behind the circle is a dark blue background with lighter blue vertical lines of varying heights, resembling an audio waveform.

Announcing Orbital for Python! For Scikit-learn users, this tool transforms your ML pipelines into SQL queries, letting predictions run directly in your database without a #Python environment.

Learn more: posit.co/blog/introdu...

14.07.2025 14:11 β€” πŸ‘ 39    πŸ” 12    πŸ’¬ 0    πŸ“Œ 7
Preview
Posit We’re happy to announce that we’re supporting Typst by funding one of their full-time engineers.

At Posit, we love @typst.app:

⚑ Make PDFs in milliseconds, not minutes
✨ The power of LaTeX with today's technologies
✍️ Modern typography (including emojis!)
🧠 Clear mental model

So I'm thrilled to announce that we're now supporting its development: posit.co/blog/posit-a...

#rstats

03.06.2025 13:47 β€” πŸ‘ 242    πŸ” 54    πŸ’¬ 5    πŸ“Œ 11

Risky post!

(This is great, fun to read and the frustrated tone throughout really does capture how it feels sometimes to be an experienced programmer trying to argue that "LLMs are actually really useful" in many corners of the internet)

02.06.2025 23:41 β€” πŸ‘ 154    πŸ” 19    πŸ’¬ 13    πŸ“Œ 3

This feature is currently only available in python but is coming to R soon

25.05.2025 16:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

Found some @opensourcepledge.com member companies at #pycon!

16.05.2025 14:38 β€” πŸ‘ 8    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

Wow, this talk-to-the-data #RStats dashboard of terminated #NSF grants is really something.

08.05.2025 21:34 β€” πŸ‘ 26    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0
A fun and cartoonish portrayal of bookmarking a web page

A fun and cartoonish portrayal of bookmarking a web page

Screenshot of new Generative AI articles within the Shiny documentation

Screenshot of new Generative AI articles within the Shiny documentation

Shiny v1.4 is now on PyPI! πŸŽ‰

Highlights include bookmarking and new Generative AI documentation. πŸ”–πŸ€–

Read here for more. πŸ‘€

shiny.posit.co/blog/posts/s...

16.04.2025 16:24 β€” πŸ‘ 4    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

Want to work with me on the Shiny team at @posit.co alongside @jcheng5.bsky.social @winstonchang.bsky.social @schloerke.bsky.social @grrrck.xyz?

We're looking for another engineer, apply here posit.co/job-detail/?...

#rstats #rshiny #ShinyConf #python #pydata

10.04.2025 18:57 β€” πŸ‘ 32    πŸ” 19    πŸ’¬ 0    πŸ“Œ 1
Preview
Shiny AI apps using ellmer & chatlas LLM-Powered Shiny apps with ellmer and chatlas bit.ly/shiny-ellmer-chatlas Carson Sievert Senior Software Engineer Posit, PBC

Slides from my #ShinyConf talk earlier today: "LLM-Powered Shiny apps with ellmer and chatlas"

docs.google.com/presentation...

#rstats #rshiny #python #ai

10.04.2025 18:00 β€” πŸ‘ 32    πŸ” 6    πŸ’¬ 3    πŸ“Œ 2
A dark blue hexagon with rounded corners containing a white silhouette of Atlas kneeling and holding two white chat bubbles above him. Below the hexagon is the word "CHATLAS" in white text. The background is a lighter blue with a pattern of white lines and dots resembling a circuit board. The Posit logo is in the corner.

A dark blue hexagon with rounded corners containing a white silhouette of Atlas kneeling and holding two white chat bubbles above him. Below the hexagon is the word "CHATLAS" in white text. The background is a lighter blue with a pattern of white lines and dots resembling a circuit board. The Posit logo is in the corner.

We are thrilled to announce chatlas, a Python package that simplifies working with large language models (LLM) in Python!
Chat, tool call, stream API calls, RAG, and more, with developer details like typing support and rich console output.
Read the post: posit.co/blog/announc...
#Python #AI

24.03.2025 14:01 β€” πŸ‘ 35    πŸ” 8    πŸ’¬ 0    πŸ“Œ 1
Shiny Conference 2025. Carson Sievert. Building LLM-Powered Shiny apps via ellmer and chatlas.

Shiny Conference 2025. Carson Sievert. Building LLM-Powered Shiny apps via ellmer and chatlas.

We're excited for #ShinyConf2025!

Posit's Carson Sievert will talk about "Building LLM-Powered Shiny apps via ellmer and chatlas"

Learn more and see the full agenda at www.shinyconf.com/agenda.

#RShiny #ShinyForPython #rstats

24.03.2025 00:26 β€” πŸ‘ 15    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
The Single Optimization tab showing results for the Ackley function. The interface displays optimization metrics (final value: 0.00285506, distance to minimum: 0.00285506, total iterations: 71), a contour visualization of the function and the optimization path, a convergence plot showing objective value vs iteration, and detailed results in a table format. The left sidebar contains various configuration options

The Single Optimization tab showing results for the Ackley function. The interface displays optimization metrics (final value: 0.00285506, distance to minimum: 0.00285506, total iterations: 71), a contour visualization of the function and the optimization path, a convergence plot showing objective value vs iteration, and detailed results in a table format. The left sidebar contains various configuration options

The Single Optimization tab showing results for the Ackley function. The interface displays optimization metrics (final value: 0.00285506, distance to minimum: 0.00285506, total iterations: 71), a 3D visualization of the optimization path, a convergence plot showing objective value vs iteration, and detailed results in a table format. The left sidebar contains various configuration options

The Single Optimization tab showing results for the Ackley function. The interface displays optimization metrics (final value: 0.00285506, distance to minimum: 0.00285506, total iterations: 71), a 3D visualization of the optimization path, a convergence plot showing objective value vs iteration, and detailed results in a table format. The left sidebar contains various configuration options

A 3D surface plot showing an optimization path on the Ackley function. The surface is colored in yellow to green, with a clear minimum point at the center. The optimization path is shown in red, moving from the starting point (blue dot) to the end point (purple diamond), converging towards the global minimum.

A 3D surface plot showing an optimization path on the Ackley function. The surface is colored in yellow to green, with a clear minimum point at the center. The optimization path is shown in red, moving from the starting point (blue dot) to the end point (purple diamond), converging towards the global minimum.

The Landscape Analysis tab of the optimization app showing a 3D visualization of the Simple Bowl (Sphere) function. The interface includes settings for test function selection, analysis type, and grid resolution on the left. The main panel displays the bowl-shaped function surface and its mathematical formula f(x) = Ξ£xα΅’Β² along with properties including domain [-5.12, 5.12], global minimum (0), and minimum location (0, 0).

The Landscape Analysis tab of the optimization app showing a 3D visualization of the Simple Bowl (Sphere) function. The interface includes settings for test function selection, analysis type, and grid resolution on the left. The main panel displays the bowl-shaped function surface and its mathematical formula f(x) = Ξ£xα΅’Β² along with properties including domain [-5.12, 5.12], global minimum (0), and minimum location (0, 0).

Test BFGS, Nelder-Mead & other numerical optimization algorithms on classic functions like Rosenbrock & Ackley. Compare paths & landscapes in real-time. Built with #rstats #rshiny

πŸ”— App: shiny.thecoatlessprofessor.com/numerical-op...
πŸ’» Code: github.com/coatless-shi...

05.01.2025 11:35 β€” πŸ‘ 23    πŸ” 6    πŸ’¬ 1    πŸ“Œ 0
A screenshot of a Pyodide REPL executing Polars code:

import polars as pl
import requests
r = requests.get("https://raw.githubusercontent.com/pola-rs/polars/refs/heads/main/examples/datasets/foods2.csv")
pl.read_csv(r.content).group_by("category").mean()

A screenshot of a Pyodide REPL executing Polars code: import polars as pl import requests r = requests.get("https://raw.githubusercontent.com/pola-rs/polars/refs/heads/main/examples/datasets/foods2.csv") pl.read_csv(r.content).group_by("category").mean()

A screenshot of a Quarto Live code cell executing Polars code:

import polars as pl
import requests
r = requests.get("https://raw.githubusercontent.com/pola-rs/polars/refs/heads/main/examples/datasets/foods2.csv")
pl.read_csv(r.content).group_by("category").mean()

A screenshot of a Quarto Live code cell executing Polars code: import polars as pl import requests r = requests.get("https://raw.githubusercontent.com/pola-rs/polars/refs/heads/main/examples/datasets/foods2.csv") pl.read_csv(r.content).group_by("category").mean()

A screenshot of a Shinylive app using Polars code:

from shiny import App, render, ui
import polars as pl
from pathlib import Path

app_ui = ui.page_fluid(
    ui.input_select("cyl", "Select Cylinders", choices=["4", "6", "8"]),
    ui.output_data_frame("filtered_data")
)

def server(input, output, session):
    df = pl.read_csv(Path(__file__).parent / "mtcars.csv")
    
    @output
    @render.data_frame
    def filtered_data():
        return (df
                .filter(pl.col("cyl") == int(input.cyl()))
                .select(["mpg", "cyl", "hp"]))

app = App(app_ui, server)

A screenshot of a Shinylive app using Polars code: from shiny import App, render, ui import polars as pl from pathlib import Path app_ui = ui.page_fluid( ui.input_select("cyl", "Select Cylinders", choices=["4", "6", "8"]), ui.output_data_frame("filtered_data") ) def server(input, output, session): df = pl.read_csv(Path(__file__).parent / "mtcars.csv") @output @render.data_frame def filtered_data(): return (df .filter(pl.col("cyl") == int(input.cyl())) .select(["mpg", "cyl", "hp"])) app = App(app_ui, server)

Recently I've been working on getting #polars running in #pyodide. This was a fun one, even requiring patches to LLVM's #wasm writer! Everything has now been upstreamed and earlier this week Pyodide v0.27.0 released, including a Wasm build of Polars usable in Pyodide, Shinylive and Quarto Live πŸŽ‰

04.01.2025 11:59 β€” πŸ‘ 50    πŸ” 9    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Great work by @halleeshearer.bsky.social in her first first-author paper. With πŸŽ€ shiny app πŸŽ€ to explore how FC reliability fares ACROSS DIFFERENT movies versus rest, region-by-region. Thanks @sneuroble.bsky.social @tingsterx.bsky.social @ninetlab.bsky.social for πŸ‘ collab.

doi.org/10.1162/imag...

03.01.2025 17:39 β€” πŸ‘ 38    πŸ” 18    πŸ’¬ 0    πŸ“Œ 1
Video thumbnail

I finally tried the {shinychat} #RStats πŸ“¦ and it's nice to see LLM streaming responses in an R Shiny app!
By @jcheng5.bsky.social & @cpsievert.bsky.social at @posit.co
github.com/posit-dev/sh...
#RShiny #GenAI 1/2

26.12.2024 22:48 β€” πŸ‘ 3    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

I've been working with a variety of #LLM / #GenAI interfaces in #Python, but I haven't found one that does exactly what I need in a streamlined way.

The new chatlas package from Posit may be just that. It supports multiple providers, structured data outputs, and more!

posit-dev.github.io/...

09.12.2024 23:07 β€” πŸ‘ 13    πŸ” 3    πŸ’¬ 2    πŸ“Œ 0

@cpsievert is following 20 prominent accounts