Engineering Time Is Too Valuable To Waste On Small Changes

Get developers' time back, eliminate distracting change requests, and minimize the risks involved in making changes using a dynamic configuration tool built for both sides of the business.
We will be in touch soon!
Oops! Something went wrong while submitting the form.

Misconfigurations account for 50%+ of Software Outages

Legacy config. management results in:
Wasted Resources
  • Eng. making daily changes for others
  • Building and maintaining internal tools
  • Working with outdated information
Costly Incidents
  • Untested code slipped to customers
  • Mistakes that lead to revenue loss
  • 50%+ of outages are caused by misconfigurations
Technical Debt
  • Time spent cleaning up stale flags
  • Unclear webs of code paths
  • Difficulty debugging, predicting, and preventing issues

Lekko solves these problems

A new approach:
dynamic functions

In-Code Interface

Lekko wraps functions at build time to fetch updated versions at runtime. This decreases complexity with traceable code behavior.

Validate, Test, Prevent Issues

Lekko changes don't bypass unit tests, validation and CI which will prevent untested code from reaching your customers.

Group & Validate

Create approved configurations, then control who can deploy them to customers. Lekko’s Web UI lets developers hand off daily control to team members safely.

Supported Frameworks

Define dynamic functions in your code.

Adding dynamic behavior is as easy as merging code with your new function. Lekko will mirror the new function, and allows you modify it at runtime.

internal/lekko/flags/flags.go
func getGenerationParams(plan string) *LlmConfig {
	if plan == "enterprise" || plan == "team" {
		return &LlmConfig{
			Model:       "openai-chatgpt4-o",
			Temperature: 0.7,
			TokenLimit:  8192,
		}
	}
	return &LlmConfig{
		Model:       "openai-chatgpt3.5-turbo",
		Temperature: 1.0,
		TokenLimit:  4096,
	}
}
src/lekko/flags.ts
export function getGenerationParams({ plan }: { plan: string }): LlmConfig {
    if (plan === "enterprise" || plan === "team") {
        return {
            model: "openai-chatgpt4-0",
            temperature: 0.7,
            tokenLimit: 8192,
        };
    }
    return {
        model: "openai-chatgpt3.5-turbo",
        temperature: 1.0,
        tokenLimit: 4096,
    };
}
// Whether to use experimental features or not
func getExperimentalEnabled(env string) bool {
  if env == "staging" {
    return true
  }
  return false
}
// Whether to use experimental features or not
func getExperimentalEnabled(env string) bool {
  if env == "staging" {
    return true
  }
  return false
}
// Whether to use experimental features or not
func getExperimentalEnabled(env string) bool {
  if env == "staging" {
    return true
  }
  return false
}

Update your code live.

Reconfigure your functions at runtime directly in your code or in our user friendly control panel. With our static analysis and AI to keep things safe, daily changes can be comfortably delegated.

How Much Is Your Teams' Time Worth?

$0.00
$0.00
$0.00
$0.00
$0.00
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.