Show HN: Web Apps for Python Devs with Auto-Generated UI

davia.ai

34 points by ruben-davia 14 hours ago

Hi HN,

We’re Afnan, Theo and Ruben. We’re all ML engineers or data scientists, and we kept running into the same thing: we’d write useful Python functions, either for ourselves or internal tools, and then hit a wall when we wanted to share them as actual apps.

We tried Streamlit and Gradio. They’re great to get something up quickly. But as soon as we needed more flexibility or something more polished, there wasn’t really a path forward. Rebuilding the frontend properly in React isn’t where we bring the most value.

So we started building Davia. You keep your code in Python, decorate the functions you want to expose, and Davia starts a FastAPI server on your localhost. It opens a window connected to your localhost where you describe the interface with a prompt. It then builds the interface, and you can deploy everything in one step. Think of it as Lovable, but for Python developers.

It works especially well for building AI tools. We built it to integrate tightly with LangGraph, so if you’re writing agents or workflows, you can turn them into real apps without leaving Python.

Docs and examples here: https://docs.davia.ai GitHub: https://github.com/davia-ai/davia

We’re still in early stages and would love feedback from others building internal tools or AI apps in Python.

jerpint 2 hours ago

> You keep your code in Python, decorate the functions you want to expose, and Davia starts a FastAPI server on your localhost

Honestly it would be super useful to have this as a standalone feature , that can run native in cloud, kind of like an edge function service

djaychela 10 hours ago

Website bugbear - the video auto played for me on mobile, and I hate that. Just let me read the site and play the video as and when I want. Thanks.

  • afnan_davia 5 hours ago

    Hey, thanks for the heads-up! Following @Rohitcss's suggestion, we’ve replaced the autoplay video with a GIF.

vladdoster 9 hours ago

The application in the demo video left me with a few questions

1. Why does it use two requests with OPTIONS and POST methods instead of a single GET? Is this to reduce the amount/complexity of error handling logic in the generated application?

2. Why use a POST http request to get the sales data. I would have expected the route to use GET in this situation?

  • ruben-davia 4 hours ago

    The use of a single POST request (the underlying logic behind the @app.task decorator) is meant to simplify things, especially for users who aren’t familiar with FastAPI. It abstracts away routing and request handling so you can focus on writing business logic without worrying about HTTP methods, URL paths, or response formatting. That said, since Davia is built on top of FastAPI, you can absolutely define and use your own endpoints if you prefer.

ashishb 11 hours ago

I would have loved more details on what you can accomplish with Devia that you can't do with Gradio or streamlit.

  • ruben-davia 4 hours ago

    With Davia, you build on FastAPI and React best practices. Streamlit and Gradio rely on fixed components, which makes it hard to adapt the UI to your specific use case. Davia lets you define any interface you need. Streamlit also has production limitations like authentication, layout control, and API integration. And for AI use cases, it reruns the whole script on every input, making state management difficult. Davia supports real-time streaming and proper stateful interactions.

Rohitcss 7 hours ago

Please don't auto-start videos. Instead, use a GIF.

  • franga2000 5 hours ago

    Please no?!? Gifs are super inefficient and they look exceptionally bad at any usable compression level. Just use a muted video!

  • afnan_davia 5 hours ago

    Thanks so much for the feedback! We’ve updated the site with your suggestion.

  • iamsaitam 5 hours ago

    Because of bandwidth consumption?

qwertox 7 hours ago

Just looking at the "Use Case Examples" requires signup?

  • ruben-davia 4 hours ago

    Yes, for now signup is required to see the examples. But we’re working on displaying the use cases directly on the site soon.