Business-as-Code Made Easy with Functions.do: Turning Logic into Reliable Functions
In modern software development, the gap between a brilliant piece of business logic and a production-ready, scalable service can feel vast. Developers often spend more time wrestling with infrastructure, boilerplate code, and API gateways than they do writing the code that actually delivers business value. What if you could treat your business processes as first-class citizens in your codebase, turning them into robust services with minimal overhead?
This is the core promise of Business-as-Code, a paradigm that empowers developers to define, execute, and manage business processes directly within their software. And Functions.do is the agentic workflow platform built to make this a reality.
The Old Way: Drowning in Boilerplate
Think about deploying a simple function—like scoring a sales lead—using traditional serverless platforms. You write the logic, but then the real work begins:
- Configuring IAM roles and permissions.
- Setting up an API Gateway trigger.
- Managing environment variables.
- Packaging dependencies and handling deployments.
- Implementing input validation and error handling.
This infrastructure-as-code is necessary but it’s not the core business logic. It’s boilerplate that slows you down and distracts from the primary goal.
A New Approach: Execute Functions as Reliable Services
Functions.do flips the script. Our platform is designed from the ground up to transform your business logic into typesafe, production-ready APIs. We provide a managed, agentic workflow framework that handles the complexity, allowing you to focus on what you do best: writing great code.
This is more than just Function-as-a-Service (FaaS); it's a code-driven workflow platform where your functions act as intelligent agents in a larger business process.
The Power of Typesafety in Action
One of the cornerstones of Functions.do is its emphasis on typesafety. By leveraging TypeScript (or other type definitions), our platform automatically validates inputs and guarantees the shape of your outputs. This eliminates a whole class of runtime errors and makes development faster and more predictable.
Let’s look at a practical example: scoring a new sales lead based on a few key attributes.
import { Function } from 'functions.do';
// Define the input type for your function
interface Lead {
companySize: number;
industry: string;
hasBudget: boolean;
}
// Create a function agent that understands the Lead type
const scoreLead = Function<Lead>('score-lead-v1');
// Execute the function with typesafe inputs
const { score, reason } = await scoreLead({
companySize: 250,
industry: 'SaaS',
hasBudget: true,
});
console.log(`Lead Score: ${score}/100 - ${reason}`);
Here’s what’s happening in this snippet:
- Define a Contract: The Lead interface creates a clear, explicit data contract.
- Create an Agent: Function<Lead>('score-lead-v1') creates a function agent. It's now aware that it must receive an object matching the Lead shape. Any call with missing or mistyped data will be caught automatically.
- Execute with Confidence: When you call scoreLead, you can be confident the data is valid, and the platform ensures the underlying logic receives exactly what it expects.
This simple yet powerful feature enhances developer productivity, ensures data integrity, and makes your services inherently more reliable.
Beyond a Single Function: Orchestrating Agentic Workflows
Individual functions are useful, but real business processes are rarely a single step. You might need to score a lead, then notify the correct sales team, and finally, update your CRM.
Functions.do is built for this. You can easily chain functions together to create complex, multi-step agentic workflows. Our platform manages the state, execution order, and error handling between each step, allowing you to compose sophisticated processes from simple, reusable functions.
How is This Different from AWS Lambda?
This is a common question. While FaaS providers like AWS Lambda and Google Cloud Functions provide raw compute environments, Functions.do operates at a higher level of abstraction.
- FaaS (Lambda/Cloud Functions): Gives you a place to run code. You are responsible for the orchestration, API exposure, state management, and input validation logic.
- Functions.do: Gives you a managed framework to turn business services into software. We provide the orchestration, typesafety, and API layer as part of the platform, abstracting away the underlying infrastructure.
We are an agentic workflow platform focused on Business-as-Code, not just a compute provider.
Get Started in Minutes
Deploying a function to our platform is as simple as writing it. You can deploy and manage your functions directly through our SDK, CLI, or by connecting your Git repository. The platform handles the rest—building, versioning, and exposing your function via a secure API endpoint without any manual configuration.
Stop wrestling with infrastructure and start turning your most critical business logic into reliable, scalable software services.
Ready to try it for yourself? Visit Functions.do to learn more and execute your first typesafe function today!