Dhaani - interactive Programming

Where Human Creativity Meets AI Efficiency

Dhaani uses a 2-step approach: design first, then code.
Combine your innovative solutions with AI's speed and knowledge to build modular software with human-in-the-loop control.

This work is an intersection of:

AI Program synthesis Software engineering Human-AI collaboration
2-Step Process
Modular Design
Human-in-Loop Control
D
Design
C
Code

See Dhaani in Action

Why Dhaani?

🧠

Human Creativity

Your innovative solutions drive the development process. AI amplifies your ideas, not replaces them.

⚑

AI Speed

Leverage AI's vast knowledge and coding capabilities to build faster than ever before.

πŸ”§

Modular Design

Change and enhance parts of your software without impacting other components.

πŸ“š

Living Documentation

No documentation overhead. Your workflow becomes living documentation tied to your code.

🎯

Incomplete Specifications

AI excels at working with incomplete requirements, just like experienced developers.

πŸ‘₯

Broad Accessibility

From low technical to high technical users - everyone can benefit from Dhaani.

How It Works

1

Design Phase

The design phase focuses on creating a data flow diagram based on the user input specification.

2

Code Phase

The coding phase then codes each process of the workflow, solving the requirement and creating an end-to-end solution. AI's efficiency and knowledge work with human creativity to generate modular, maintainable code.

Perfect For

πŸ”¬

Scientific Workflows

Streamline data analysis, experiment automation, and research pipeline development.

πŸ“Š

Data Science

Build data processing pipelines, ML models, and analytical tools with ease.

πŸ€–

AI-ML Workflows

Develop machine learning applications and AI-powered solutions efficiently.

πŸ“ˆ

Data Analysis

Analyze datasets, generate insights, and create comprehensive data analysis workflows.

πŸ†

Research Challenges

Tackle complex problems like the IPARC challenge with innovative approaches.

Research & Credibility

Reliable LLM software engineering requires structured decomposition and protocol-based human interaction.

iProg revisits structured inductive programming in the LLM era, using language models not as autonomous end-to-end programmers, but as proposal generators within a human-ratified decomposition-and-synthesis process.

The latest paper presents one of the cleanest structured approaches for building reliable LLM-assisted software systems from natural-language requirements.

Download Dhaani

From specifications to code: design your data flow diagram, then generate modular Python code. Keep control, accountability and transparency.

Requirements

🐍 Python applications only (for now)
πŸ”‘ LLM API key or local Ollama installation
🍎

macOS

πŸͺŸ

Windows

🐧

Linux

Note: Dhaani is free for everyone to use. Download and start building your next project today!

If you use this tool, please cite Engineering Systems for Data Analysis Using Interactive Structured Inductive Programming. View BibTeX.

Get in Touch

Have questions or feedback? We'd love to hear from you.

About the Author

Dhaani was created by Shraddha Surana during her research in interactive structured induction of programs for program synthesis. During her research she realized that while AI excels at coding and speed, the most innovative solutions come from human creativity. This led to the development of a human-in-the-loop approach that combines the best of both worlds. It uses specifications and structured interactions to generate code using LLMs' vast background knowledge and efficiency. This work now frames iProg as a structured inductive programming approach for the LLM era, where language models operate as proposal generators within a human-ratified decomposition-and-synthesis process.

πŸŽ“ Research Scholar, BITS Goa
🎀 International Speaker
πŸ“š 148 Citations