Announcing Tiles Notebook Alpha
Update: Since the release of this alpha, work on the notebook has been paused. The notebook has been moved to notebook.tiles.run (opens in a new tab) for the time being. Based on learnings from the past few months working on the notebook and Tilekit projects, I am now focusing on building on-device AI infrastructure for continual learning using model chaining and parameter-efficient fine-tuning methods, all under the same Tiles banner.
TL;DR: We're building Tiles Notebook (opens in a new tab) - a notebook for working with AI agents easier. Your ideas become intents that get routed to agents and results flow back as new blocks. The current alpha lets you create text/widget blocks and manually select agents with MCP server support, while we're building toward an on-device intent router that automatically picks the right agent for multiplayer workspaces that work offline on open standards.
Today, we're excited to release the first alpha of Tiles Notebook (opens in a new tab) — a notebook interface designed to make working with AI agents easier. It's a step toward our vision of making personal software a core part of everyday computing.
Our Vision
We're building Tiles as a new paradigm for personal computing: a notebook interface where AI agents become natural extensions of your thinking. Imagine a workspace that's multiplayer by default, works seamlessly offline, and built on open standards like the Model Context Protocol (MCP) (opens in a new tab).
The conceptual blueprint is elegantly simple. Every interaction will follow a transparent flow: your ideas become intents, intents are routed to the right agents, and results flow back as new blocks in your notebook. Central to this vision is an on-device intent router that embodies a core principle: coordination must be separate from execution.
This separation serves two purposes:
Intent routing: The intent router has access to the user's inputs and personal context. It uses this to determine the optimal topology of agent and tool calls, while ensuring user data remains local and latency is minimized.
Security and control: The executor operates with greater compute but without access to raw user inputs. It only receives structured tool call proposals, enabling tighter control over what gets executed. By isolating the executor from potentially untrusted or toxic inputs and shielding it behind defined safety rules, the system mitigates prompt injection risks and enforces a clear boundary between decision-making and execution.
This paper from the DeepMind team, Defeating Prompt Injections by Design (opens in a new tab), builds on this design and extends it to secure not just control flow but also data flow. This approach explicitly extracts both control and data flows from the trusted query, ensuring that untrusted data retrieved by the LLM can never influence program execution.
In this future, personal software isn't just a tool—it's a collaborative partner that amplifies your capabilities while remaining fully under your control.
Current Capabilities
Over the past two months, we've turned this vision into working software. The alpha version of Tiles brings our core architecture to life—here's Aswin (opens in a new tab) demoing it with Zerodha's Kite (opens in a new tab), a popular stock broking app in India and Perplexity (opens in a new tab) MCP agents to analyze his stock portfolio:
The interface distinguishes between just two types of render blocks: text and widgets. When you press "Run" on any block, it transforms into an intent. Currently, you manually select which agent to use, and then a server-side LLM model constructs the final prompt (combining system instructions with your content) and renders the results as new blocks in your notebook. While automatic agent selection and the on-device intent router remain goals for future waves, this manual approach allows us to validate the core interaction patterns and gather crucial feedback about how users want to work with different agents.
Your notebooks are shareable via unique links, allowing you to share your work with others. While real-time collaboration isn't available yet, this sharing capability lets you distribute your notebooks and gather feedback as we build toward the full multiplayer experience.
This alpha release marks Wave 1 of our development journey, focused on building a functional prototype of our product hypothesis. It supports flexible MCP server connectivity—MCP servers can be called locally via WebAssembly on either the client or server, or connected to remotely. This flexibility allows Tiles to adapt to a wide range of workflows and deployment scenarios.
We want to be transparent: this alpha is rough. Onboarding is missing, and many features are still unfinished. But this is the worst Tiles will ever be.
Introducing Tilekit
Alongside Tiles Notebook, we're developing Tilekit (opens in a new tab)—the underlying personal software toolkit that powers the tiles.run notebook interface. Tilekit serves as both the foundation for Tiles and our internal playground for experimental innovations.
We've already released two utilities from our Tilekit experiments:
- mcp-cli (opens in a new tab): An interactive CLI client for remote Model Context Protocol servers with OAuth 2.0 support
- mcp-client-toolkit (opens in a new tab): A TypeScript client library and utilities for working with remote MCP servers
These tools are available now and demonstrate our commitment to building a robust ecosystem around the MCP standard.
Looking Ahead
We're already deep into development for Wave 2, where we'll share a more refined product experience and reveal more of the master plan we're executing. The foundations we're laying now—the notebook interface, MCP integration, and Tilekit ecosystem—are just the beginning.
Technical Stack
Tiles uses a modern, open-source stack optimized for flexibility, performance, and privacy:
- Frontend: Next.js (opens in a new tab) on Vercel (opens in a new tab) for scalable web performance.
- Editor: Lexical (opens in a new tab) for rich-text editing and widget rendering.
- MCP Infrastructure: Dylisbo's mcp.run (opens in a new tab) for WebAssembly based MCP servers and official TypeScript SDK for MCP (opens in a new tab).
For the upcoming on-device intent router we are experimenting with:
- Local AI: Ollama (opens in a new tab), and Gemini Nano built-in AI (opens in a new tab) with Wasm/WebGPU for the web.
- On device models: Gemma 3n-E4B (opens in a new tab), and Jan-nano-4B (opens in a new tab) for multimodal reasoning and tool calling
- Model Training: Unsloth (opens in a new tab) for GGUF-based LoRA fine-tuning.
- Embeddings and vector database: nomic-embed-text (opens in a new tab) and LanceDB (opens in a new tab).
And protocols being explored:
- A2A (opens in a new tab) for secure agent-to-agent communication.
- AT Protocol (opens in a new tab) for portable data stores and user identities.
These technologies ensure powerful, private, and personal software.
Try It Today
Thank you to everyone who's trying out our alpha. Your early adoption and feedback are invaluable as we work toward our vision of ubiquitous personal software.
Visit tiles.run (opens in a new tab) to explore Tiles Notebook and join us in shaping the future of personal computing.
Calendar | X | Bluesky | Github | LinkedIn | Discord | Instagram | Are.na | Spotify | PSN | Goodreads | Letterboxd | IMDb | Last.fm | PayPal | Coinbase | Ko-fi | Notion | Figma | Subscribe/RSS
CC BY-NC 4.0 2025 © Ankesh Bharti"A problem well stated is half-solved"