Ask your databases anything.
Integrates with AI to understand your schema, generate accurate SQL, and return real results. Entirely within your own network perimeter. Nothing Leaves.
docker compose up -dAsk in plain English, get real results
Type a natural-language question. askLenny finds the relevant tables, generates dialect-correct SQL, executes it, and returns the actual data. All in a single trip.
Three containers, your infrastructure
React frontend, Python app layer, and a custom Rust graph engine each run in their own container. Source databases are only ever touched by the app layer, inside your network.
Protect your data
SQL execution happens server-side. Integrate with your corporate AI or with a self hosted model to ensure data never leaves your perimeter
Three steps, then ask anything
askLenny maps your schema once, enriches it with AI context, and answers every question — returning actual data — from its on-premise graph engine.
Connect
Point askLenny at all of your databases with a simple YAML file during deployment. Passwords remain in environment variables only and are never exposed to the user.
Discover & enrich
The layers work in unison to discover your schema and present an easy to use dashboard to label your data. Use AI to generate plain-English descriptions for every table and column. Semantic embeddings make every question answerable.
Ask anything, see results
Type a question. askLenny returns the SQL and the data. The Python app executes the query against your database, your data never leave your network.
Three containers.
One network boundary.
Frontend, Python app, and Rust graph engine each run in their own Docker container. They communicate only with each other over an internal Docker network — nothing is exposed unless you explicitly choose to allow it.
The only optional outbound connection is from the Python container to your chosen LLM endpoint. Point it at a self-hosted model and zero bytes leave your perimeter.
Explore the architecture →Question in. Data out.
One natural-language question triggers a complete pipeline that returns SQL and real results.
Built for environments where data cannot leave
The Rust engine never touches your databases. The Python app executes queries but results go only to the user's browser. Point the LLM endpoint at a local model and not a single byte crosses your perimeter. askLenny meets the needs of regulated industries, government, and any organisation with strict data residency requirements.
Connects to
Ready to deploy?
Three containers. Your infrastructure. Real results. Nothing leaves.
docker compose up -d