Build Intelligent
Software with
Jac
Jac supersets Python with AI-first constructs, object spatial programming, and scale-native abstractions. One language from prototype to production.
Backed by


Why We Built Jac
Modern software demands AI integration, graph-based data models, and instant scalability. Existing languages were never designed for this.
AI Without Prompt Engineering
Replace function bodies with LLMs using Meaning Typed Programming. The function signature IS the specification.
Object-Spatial Programming
Model data as traversable graphs with nodes and walkers. Build AI agents that navigate knowledge naturally.
Full-Stack in One Language
Write React components, backend APIs, and AI integrations in a single .jac file. No context switching.
Zero to Infinite Scale
Deploy locally with jac start, scale to Kubernetes with one flag. Same code, auto-provisioned infrastructure.
See the Difference
Compare Jac with Python side by side. Same functionality, radically different expressiveness.
import from byllm { Model, Image }
glob llm = Model(model_name="gpt-4o");
# One tiny object replaces a giant schem
obj MemoryDetails {
has who: list[str];
has what: str;
has where: str;
}
sem MemoryDetails = "Extract people, event, place from the photo";
def extract_memory_details(
image: Image, city: str
) -> MemoryDetails by llm(); # Magic happens
with entry {
img = Image("image.png");
details = extract_memory_details(img, "Paris");
print(details);
}Jac Supersets Python
Use any Python package directly. Jac compiles to Python, so your entire ecosystem works out of the box.
import:py from math { sqrt }
can hypotenuse(a: float, b: float) -> float {
return sqrt(a**2 + b**2);
}
with entry {
print(hypotenuse(3.0, 4.0));
} import:js from react { useState }
import:js from "react-dom/client" { createRoot }
obj Counter :react.Component: {
can render {
count, setCount = useState(0);
return <div>
<h1>Count: {count}</h1>
<button onClick={|| setCount(count + 1)}>
Increment
</button>
</div>;
}
} Full-Stack with jac-client
Build complete web applications in a single .jac file. React components, backend logic, and AI integrations unified.
import:js from react { useState }
node Todo {
has title: str;
has done: bool = False;
}
walker add_todo {
has title: str;
can create with `root entry {
new_todo = here ++> Todo(title=self.title);
report new_todo;
}
}
obj TodoApp :react.Component: {
can render {
todos, setTodos = useState([]);
input, setInput = useState("");
return <div class="app">
<h1>Todo App</h1>
<input value={input}
onChange={|e| setInput(e.target.value)} />
<button onClick={|| {
add_todo(title=input) spawn root;
setInput("");
}}>Add</button>
{todos.map(|t| <div>{t.title}</div>)}
</div>;
}
} vim app.jac Full-stack app in one file
jac start app.jac Local development server
jac start app.jac --scale Production with auto-infra
Scale with jac-scale
Same code runs locally and at production scale. No infrastructure changes, no DevOps complexity.
jac start app.jac Auto Database
SQLite in dev, PostgreSQL in prod. No config needed.
Auth Built-in
User authentication and sessions out of the box.
API Generation
Walkers become REST endpoints automatically.
Zero DevOps
No Dockerfile, no K8s manifests, no infrastructure setup.
Get Started
Jac Lang
The core language that supersets Python and JavaScript. Build AI systems with graph-based Object-Spatial Programming.
Read HandbookKey Features
Supersets Python & JavaScript
Jac is a true superset of both Python and JavaScript. Use any PyPI package for backend logic and any npm package for frontend components.
The Journey
Research Begins
Jaseci started as a research project at the University of Michigan, exploring AI-first programming paradigms.
First Public Release
Jaseci 1.0 released with graph-based programming model and AI integration capabilities.
Growing Community
Open-source community grows. Multiple research papers published on data spatial programming.
Jac Language
Jac programming language launched as a Python superset with native AI constructs.
Full Stack & Scale
jac-client and jac-scale introduced, enabling full-stack development and zero-config deployment.
Production Ready
Enterprise adoption begins. Jac ecosystem matures with tooling, IDE support, and comprehensive documentation.