14 DeFi Protocols, One API: Building an AI DeFi Agent

Building DeFi applications today means juggling a dozen different APIs, SDKs, and integration patterns. Want to swap on Jupiter? One SDK. Lend on Aave? Different API. Stake with Lido? Yet another integration. Your trading bot ends up looking like a Frankenstein monster of protocol-specific code that breaks every time someone updates their interface.

This fragmentation isn’t just annoying—it’s expensive. Every new protocol integration costs weeks of development time. Testing across multiple chains doubles the complexity. And when you’re building AI agents that need to make split-second decisions across DeFi protocols, wrestling with 14 different APIs isn’t just inefficient, it’s prohibitive.

The Multi-Protocol Problem

Most DeFi developers face the same pattern: start with one protocol, then gradually add more as requirements grow. You begin with a simple Uniswap integration, then add Compound for lending, then Lido for staking. Each integration brings its own quirks:

  • Different authentication patterns
  • Inconsistent error handling
  • Varying gas estimation approaches
  • Protocol-specific transaction formats
  • Different slippage protection mechanisms

Before you know it, your clean codebase becomes a maze of protocol adapters, each with its own failure modes and edge cases. And that’s just on Ethereum—add Solana protocols like Jupiter and Drift, and you’re now maintaining two completely different tech stacks.

One API, 14 Protocols

WAIaaS solves this with a unified REST API that abstracts away protocol complexity while preserving full functionality. Instead of learning 14 different integration patterns, you make standard HTTP requests to execute actions across all major DeFi protocols.

Here’s the complete list of integrated protocols:

  • EVM: Aave v3, LI.FI, Lido, 0x, Pendle, Kamino
  • Solana: Jupiter, Drift, Jito Staking
  • Cross-chain: Across Protocol
  • Multi-chain: Hyperliquid, Polymarket
  • Specialized: D’CENT Swap, ERC-8004

The beauty is in the consistency. Whether you’re swapping on Jupiter or lending on Aave, the API pattern remains the same:

curl -X POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer wai_sess_<token>" 
  -d '{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1000000000"
  }'

Protocol Deep Dive: What’s Actually Integrated

Let’s break down what you can do with each protocol through the unified API:

Jupiter (Solana DEX Aggregator)

  • Token swaps with optimal routing
  • Slippage protection and MEV resistance
  • Real-time price discovery across Solana DEXs

Aave v3 (Lending Protocol)

  • Supply assets to earn yield
  • Borrow against collateral with dynamic interest rates
  • Health factor monitoring and liquidation protection

Hyperliquid (Perpetual Futures)

  • Perpetual contract trading with up to 50x leverage
  • Sub-account management for risk isolation
  • Real-time position and PnL tracking

Lido & Jito (Liquid Staking)

  • Stake ETH/SOL while maintaining liquidity
  • Automatic reward compounding
  • Unstaking queue management

LI.FI & Across (Cross-chain Bridges)

  • Asset transfers between 20+ chains
  • Optimal route selection for cost and speed
  • Bridge status monitoring and completion tracking

The key insight is that each protocol maintains its full feature set—you’re not getting a dumbed-down wrapper. You can access advanced features like Aave’s debt token operations or Hyperliquid’s sub-accounts through the same clean REST interface.

Building a Multi-Protocol Agent

Here’s where things get interesting for AI agents. With traditional integrations, building a bot that can arbitrage across protocols means managing multiple connection states, different error handling patterns, and inconsistent response formats.

With WAIaaS, your AI agent can execute complex strategies with simple HTTP calls:

// Multi-protocol strategy: stake SOL, bridge USDC, provide liquidity
const client = new WAIaaSClient({
  baseUrl: 'http://127.0.0.1:3100',
  sessionToken: process.env.WAIAAS_SESSION_TOKEN,
});

// 1. Stake SOL with Jito for yield
const stakeResult = await client.executeAction('jito-staking', 'stake', {
  amount: '10.0'
});

// 2. Bridge USDC to Ethereum via LI.FI  
const bridgeResult = await client.executeAction('lifi', 'bridge', {
  fromChain: 'solana',
  toChain: 'ethereum',
  token: 'USDC',
  amount: '5000.0'
});

// 3. Supply bridged USDC to Aave for lending yield
const lendResult = await client.executeAction('aave-v3', 'supply', {
  asset: '0xA0b86a33E6441A8DAB5F0C3B0C44c71b30E11Da3', 
  amount: '5000.0'
});

Each action returns a consistent response format with transaction status, fees, and completion tracking. No protocol-specific quirks to handle.

Real-World Performance

The unified approach shines when building production DeFi systems. Instead of maintaining separate monitoring, error handling, and retry logic for each protocol, you get:

  • Consistent Error Handling: All protocols return standardized error codes
  • Unified Gas Management: Automatic gas estimation across EVM protocols
  • Transaction Lifecycle: Same status polling pattern for all protocols
  • Policy Enforcement: Universal spending limits and security controls

This matters for AI agents that need to make autonomous decisions. Your agent can implement sophisticated strategies—like yield farming across multiple protocols or cross-chain arbitrage—without getting bogged down in integration complexity.

Security at Scale

Managing multiple DeFi protocols also means managing multiple attack vectors. Each protocol has its own security model, approval patterns, and risk profile. WAIaaS addresses this with a unified policy engine that works across all 14 protocols.

You can set protocol-specific limits:

curl -X POST http://localhost:3100/v1/policies 
  -H 'Content-Type: application/json' 
  -H 'X-Master-Password: <password>' 
  -d '{
    "walletId": "<wallet-uuid>",
    "type": "PERP_MAX_LEVERAGE", 
    "rules": {
      "maxLeverage": 10,
      "allowedMarkets": ["BTC-USD", "ETH-USD"]
    }
  }'

Or set universal spending limits that apply across all protocols:

{
  "type": "SPENDING_LIMIT",
  "rules": {
    "instant_max_usd": 100,
    "daily_limit_usd": 5000,
    "monthly_limit_usd": 50000
  }
}

This means your AI agent can safely operate across DeFi protocols without risking catastrophic losses from a single bad decision.

Getting Started: Your First Multi-Protocol Agent

Ready to try it? Here’s how to get a multi-protocol DeFi agent running in under 5 minutes:

  1. Install and Initialize
npm install -g @waiaas/cli
waiaas init
waiaas start
  1. Create Wallets and Sessions
waiaas quickset --mode mainnet  # Creates EVM + Solana wallets
  1. Fund Your Wallets
    Transfer some ETH and SOL to the generated addresses for gas and trading.

  2. Test Cross-Protocol Operations

# Check DeFi positions across all protocols
curl http://127.0.0.1:3100/v1/defi/positions 
  -H "Authorization: Bearer wai_sess_<your-token>"
  1. Execute Your First Multi-Protocol Strategy
    Use the TypeScript SDK or direct REST calls to execute actions across any of the 14 integrated protocols.

The complete setup takes minutes instead of weeks, and you immediately have access to the entire DeFi ecosystem through one consistent interface.

What’s Next

This unified approach opens up possibilities that weren’t practical before. AI agents can now implement sophisticated multi-protocol strategies, cross-chain arbitrage, and dynamic yield optimization without drowning in integration complexity.

The next step is to try it yourself. Clone the repository and see how quickly you can build DeFi functionality that would have taken months with traditional protocol-by-protocol integration.

Ready to unify your DeFi stack? Get started at GitHub or learn more at waiaas.ai.

Common bottlenecks that slow down enterprise applications

In the high-stakes world of enterprise software, speed is not just a feature—it is the foundation of user trust and operational efficiency. An application that lags, freezes, or times out does more than just frustrate employees; it bleeds revenue, hampers productivity, and damages brand reputation.

Modern enterprise architectures are complex, often involving a mesh of microservices, third-party APIs, hybrid cloud environments, and massive databases. While this complexity drives innovation, it also creates numerous hiding spots for performance bottlenecks. This is where enterprise application testing becomes critical, helping teams proactively identify performance issues, scalability limitations, and system vulnerabilities before they reach production.

Identifying these issues after a product launch is often too late and too costly. Through structured enterprise application testing, organizations can evaluate system behavior under real-world conditions, simulate user load, and detect hidden performance issues early in the development lifecycle.

This guide explores the most common performance bottlenecks in enterprise applications and provides actionable strategies to detect them before they impact your end users.

The Hidden Anchors: Top 5 Performance Bottlenecks

A bottleneck occurs when a single component in your application architecture limits the system’s overall capacity. Just as a narrow neck on a bottle restricts liquid flow, these technical constraints limit data flow and processing speed.

1. Database Inefficiencies
The database is often the first place performance engineers look, and for good reason. It is the heaviest lifter in most enterprise applications. Common database bottlenecks include:

  • Slow Queries: Queries that force the database to scan entire tables instead of using efficient indexes can bring an application to a crawl.
  • Connection Pool Exhaustion: If an application opens too many connections without closing them, or if the pool size is too small for the concurrent user load, requests will pile up waiting for an available connection.
  • Lock Contention: When multiple processes concurrently access or modify the same data, they can “lock” the data, causing other processes to wait.

2. Network Latency and Bandwidth Issues
In distributed systems, data rarely resides in a single location. It travels between servers, availability zones, and even continents.

  • High Latency: The delay before a data transfer begins after an instruction. In global enterprise apps, physical distance plays a role, but so do inefficient routing and poor network configurations.
  • Chatty Protocols: Applications that make numerous small requests to the server (rather than fewer large ones) introduce significant overhead, exacerbating latency issues.

3. Third-Party API Dependencies

Modern enterprise applications rarely stand alone; they rely on payment gateways, geolocation services, and CRM integrations.

  • The “Weakest Link” Problem: Your application might be optimized, but if a third-party API you rely on is experiencing downtime or slow response times, your users experience that delay directly.
  • Lack of Asynchronous Processing: If your application waits for a third-party response before loading the rest of the page (synchronous loading), a slow external API can freeze your entire interface.

4. Poorly Optimized Code and Algorithms
Sometimes the call is coming from inside the house. Inefficient coding practices can consume excessive CPU and memory resources.

Memory Leaks: If an application fails to release memory it no longer needs, it will eventually consume all available RAM, leading to a crash.

Inefficient Loops and Logic: Nested loops or complex algorithms running on the main thread can block user interactions, making the app feel unresponsive.

5. Resource Saturation (CPU and I/O)
Hardware limitations still matter in the cloud age.

  • Virtualization Overhead: In virtualized environments, “noisy neighbors” (other virtual machines on the same physical server) can hog resources, causing unpredictable performance dips for your application.
  • Disk I/O: High-volume transactional apps often hit a wall when disk read/write throughput cannot keep up with the data volume.

Strategies for Early Detection

Detecting bottlenecks requires a proactive mindset. Waiting for user complaints is not a strategy; it is a liability. You need to implement a “shift-left” approach, moving performance testing earlier in the development lifecycle.

1. Implement Comprehensive Application Performance Monitoring (APM)
APM tools are the stethoscope of your enterprise architecture. They provide real-time visibility into your application’s behavior. A robust APM solution traces transactions across distributed systems, visualizing exactly where time is spent, whether in the database, in code, or in an external API call.

2. Conduct Rigorous Load and Stress Testing
You cannot predict how your application will behave during Black Friday traffic based on Tuesday morning testing.

  • Load Testing: Verifies that the system can comfortably handle expected traffic volumes.
  • Stress Testing: Pushes the system beyond its limits to identify its breaking point and ensure a graceful recovery.

This is where selecting the right performance testing tools becomes critical. Tools like JMeter and Gatling let you simulate thousands of concurrent users, revealing bottlenecks that are invisible during manual testing.

3. Code Profiling During Development
Developers should not rely solely on QA to find performance issues. Code profilers can be used within an Integrated Development Environment (IDE) to analyze code runtime behavior. Profilers highlight methods that consume high CPU or memory, allowing developers to refactor inefficient code before it is ever committed to the main branch.

4. Real User Monitoring (RUM)
Synthetic testing (simulated users) is essential, but it doesn’t capture the chaos of the real world. RUM captures data from actual users navigating your application. It helps you detect bottlenecks that are specific to certain geographies, devices, or browser versions, variables that are often missed in a controlled test lab.

5. Prioritize Enterprise Application Testing
Enterprise application testing differs from standard app testing due to its scale and integration complexity. It requires a holistic strategy that includes:

  • End-to-End Transaction Testing: Validating that data flows correctly from the frontend through middleware to the backend and back.
  • Scalability Testing: Ensuring the architecture can scale up (add resources) or scale out (add more instances) automatically as demand increases.

Why “Works on My Machine” Isn’t Good Enough

One of the most significant challenges in detecting bottlenecks is the environment gap. A bottleneck might not appear in a high-speed corporate network test environment but might render the app unusable for a field employee using a mid-range smartphone on a 4G network.

Traditional emulators and simulators cannot fully replicate these real-world conditions. They often miss critical variables such as battery drain, network fluctuations, and CPU throttling that occur on real hardware. To truly detect bottlenecks early, you need to test on the devices and networks your customers actually use.

Conclusion

Bottlenecks are inevitable in complex software, but they don’t have to be fatal. By understanding the common choke points, from database queries to network latency, and arming your team with the right enterprise application testing strategies, you can maintain a high-performance ecosystem. Tools that offer deep visibility and real-world testing capabilities are no longer a luxury; they are a necessity for delivering the speed and reliability your enterprise users demand.

When standard software performance testing tools and emulators fall short, HeadSpin provides the critical “ground truth” needed for enterprise applications. HeadSpin offers a global device infrastructure that enables you to test your applications on thousands of real, SIM-enabled devices across over 50 locations worldwide.

Originally Published:- https://azbigmedia.com/business/common-bottlenecks-that-slow-down-enterprise-applications-and-how-to-detect-them-early/

How I Built 65+ AI Tools on a Raspberry Pi 5

There’s a gap in the MCP ecosystem that bothered me. If you want to give your AI coding assistant access to tools — web scraping, research, translation, agent memory — you either build everything yourself or cobble together a dozen different services. I wanted one MCP server that handled all of it.

So I built AiPayGen: 65+ tools, installable with pip install aipaygen-mcp, running on a Raspberry Pi 5 sitting on my desk.

Why I built it

MCP (Model Context Protocol) is how AI assistants like Claude Code, Cursor, and Cline access external tools. The protocol is solid, but the tool ecosystem is fragmented. Most MCP servers offer one thing — a file reader, a web search wrapper, a database connector. If you want a full toolkit, you’re managing ten different MCP servers.

I wanted a single pip install that gives an AI assistant access to research, writing, code generation, web scraping, data feeds, agent memory, and workflow orchestration. One server, one API key, one bill.

The architecture

The production stack is deliberately simple:

  • Hardware: Raspberry Pi 5, overclocked to 2.7GHz, with an NVMe SSD in a Pironman 5 case
  • Backend: Flask application with modular route blueprints
  • Database: SQLite for user metadata, billing, agent memory
  • MCP transport: FastMCP with streamable-http, built on MCP SDK 1.26
  • Tunnel: Cloudflare tunnel for HTTPS ingress
  • Package: Published to PyPI as aipaygen-mcp

Here’s the key architectural insight: the Pi doesn’t run AI models. It routes requests. When you call the research tool, the Pi validates your API key, checks your balance, selects the best upstream model for the task (from 15 models across 7 providers), forwards the request, and deducts the cost.

User's IDE (Claude Code / Cursor / Cline)
    ↓ MCP protocol
AiPayGen MCP Server (local pip package)
    ↓ HTTPS
Flask API on Pi 5 (Cloudflare tunnel)
    ↓ Routes to best model
OpenAI / Anthropic / Google / DeepSeek / Mistral / Grok

The tools

The 65+ tools break down into categories:

AI tools (40+): Research, summarize, write, translate, code, analyze, sentiment, classify, extract, compare, explain, plan, decide, debate, proofread, rewrite, pitch, headline, keywords, outline, and more. Each tool has a specific prompt template optimized for its task, and the router picks the best model automatically.

curl -X POST https://api.aipaygen.com/summarize 
  -H "Authorization: Bearer apk_YOUR_KEY" 
  -H "Content-Type: application/json" 
  -d '{"text": "Your long article text here...", "length": "short"}'

Web scraping (6 tools): Google Maps businesses, Twitter/X posts, Instagram profiles, TikTok videos, YouTube transcripts, and generic website scraping.

Agent infrastructure: Persistent memory (key-value with full-text search), agent-to-agent messaging, shared task boards, a knowledge base with RAG search, and a skills marketplace.

Free data feeds: Weather, crypto prices, exchange rates, holidays. No API key needed.

curl "https://api.aipaygen.com/data/weather?city=London"
curl "https://api.aipaygen.com/data/crypto?symbols=bitcoin,ethereum"

The x402 payment experiment

Alongside traditional Stripe billing, I integrated the x402 protocol for HTTP-native micropayments. You make an API call, the server responds with HTTP 402 and includes the price in the headers. Your client signs a USDC transaction and retries with a payment receipt. No signup, no API key, no account. Just a crypto wallet.

In practice, most users still prefer Stripe. But the x402 integration has real potential for agent-to-agent commerce where there’s no human to enter a credit card.

Challenges and what I learned

Model routing is harder than it sounds. Different models are better at different tasks. I built a routing layer that picks the model based on the tool being called, but there’s room for improvement.

Scraping is a maintenance nightmare. Platforms change their markup regularly. Budget significant time for maintenance.

SQLite is underrated for this scale. SQLite with WAL mode handles concurrent reads fine. Having the database as a single file makes backups trivial.

MCP is a genuine distribution channel. People discover tools through their IDE. The friction is dramatically lower than traditional API integration.

The Pi 5 is surprisingly capable. Four months later, it’s still handling production traffic at 2.7GHz. The NVMe SSD was the critical upgrade.

Try it

pip install aipaygen-mcp
claude mcp add aipaygen -- aipaygen-mcp

Two commands, free trial credits, no card needed. If you find it useful, I’d like to hear about it. If you don’t, I’d really like to hear about that — the honest feedback is more valuable.

I built GitKingdom, where GitHub becomes a fantasy kingdom

https://www.gitkingdom.com

It takes GitHub data and transforms it into an explorable pixel-art RPG world, languages become kingdoms, repositories become buildings, and contributors become citizens with RPG stats.

How it works:

  • Each programming language gets its own kingdom territory on the world map
  • Repos become buildings — more stars = bigger building (hovels → cottages → castles → citadels)
  • Contributors become citizens with RPG titles based on their commit rank
  • Top contributor to each repo is crowned King
  • Sign in with GitHub to claim your repos and see your kingdom
  • Anyone can add any public repo with 1+ stars

Try it now:

  • Sign in with GitHub to claim your repos and find your buildings on the map

Current state:

  • 13 kingdoms (TypeScript, Python, Rust, Go, Java, etc.)
  • Thousands of repos already mapped
  • Citizen profile pages with RPG stats and badges
  • Explorable Phaser 3 game with zoom, pan, cities

Tech stack (for the curious):

  • Phaser 3 game engine + TypeScript
  • Procedural world generation (landmass, elevation, biomes)
  • Vercel serverless + Supabase Postgres
    • GitHub API with multi-token pooling
  • Pre-baked world JSON + delta sync for fast loads

Looking for:

  • Repos to add – the more repos, the bigger the world gets
    • Feedback
    • Bug reports
    • Game artists
    • Ideas for new features (quests? building interiors? battles between kingdoms?)

https://www.gitkingdom.com

We got burned by silent API changes twice this year. how do you handle this?

Our team builds on a Next.js stack and depends on a
handful of third-party APIs some AI providers, some
infrastructure, some data services.

Twice this year, we got user complaints before we even
knew something was broken.

The culprit both times? Silent breaking changes from
upstream APIs. Once it was a renamed field in a response
object. Another time, a deprecated endpoint that stopped
returning data the way we expected.

We weren’t monitoring changelogs actively. Nobody on the
team had time to read through every API provider’s release
notes. And by the time the breakage surfaced, it had
already affected real users.

It got me thinking, this must happen to other teams too,
especially now that most startups are stitching together
5-10 APIs just to ship their core product. AI-native teams
have it even worse, model versions deprecate fast, output
formats change, endpoints get retired.

So I’m genuinely curious:

How do you stay ahead of breaking changes from APIs
you depend on?

  • Do you monitor changelogs manually?
  • Have you built any internal tooling for this?
  • Do you run contract tests against third-party APIs?
  • Or do you just find out when users complain?

Just had this pain fresh in my mind and
wanted to hear how others are dealing with it. Would love
to hear what’s worked (or hasn’t).

I Used 4 AI Coding Tools for 3 Months. Here’s My Honest Take.

I’ve been using AI coding tools full-time since January 2026. Not just testing them for a weekend – actually building production software with them daily.

After 3 months of real-world usage across Cursor, Claude Code, Windsurf, and GitHub Copilot, here’s what I actually think.

The TL;DR

Tool Best At Worst At Monthly Cost
Cursor Everyday coding + agent tasks Gets expensive fast $20-60
Claude Code Complex refactoring Learning curve $20-200
Windsurf Value for money Less powerful agent $15
Copilot Low-friction integration Weaker autonomy $10

But rankings don’t tell the real story. Let me explain.

Cursor: The Daily Driver

Cursor is where I spend 80% of my coding time. Two features make it irreplaceable:

1. Tab Completion That Actually Understands Context

Cursor doesn’t just complete the current line. It predicts what you’re about to do across multiple lines and shows it as a diff. One Tab press, and an entire function gets restructured.

This alone saves me 30-40 minutes per day. No exaggeration.

2. Agent Mode (Composer)

“Hey Cursor, add input validation to all the form handlers in this project.”

It scans the codebase, identifies the relevant files, makes the changes, and shows you a diff. You review and accept. Done.

The catch? Cursor’s credit system means heavy usage adds up. If you manually select premium models (like Claude Opus), you can burn through $60/month easily. The “Auto” mode is unlimited but uses cheaper models – which is fine 90% of the time.

Verdict: Best all-around tool if you’re willing to pay.

Claude Code: The Heavy Lifter

Claude Code is strange. It’s a terminal tool with no GUI, no autocomplete, no syntax highlighting. You type what you want in plain English, and it goes and does it.

And somehow, it’s the most reliable tool for complex tasks.

Where it shines:

I asked each tool to migrate an Express.js backend from JavaScript to TypeScript. Full migration – interfaces, type annotations, tsconfig, the works.

  • Claude Code: 12 files modified correctly on the first try
  • Cursor: 10/12 files, needed manual fixes
  • Windsurf: 8/12 files
  • Copilot: Needed 4+ rounds of prompting

The difference is Claude’s reasoning ability. It doesn’t just pattern-match – it understands what the migration requires and plans accordingly.

The catch? Rate limits are brutal. On the $20/month Pro plan, you get roughly 10-45 messages per 5-hour window. During peak hours, it’s on the lower end. I’ve been mid-refactor when the rate limit hit, and there’s nothing to do but wait.

Verdict: Best for complex, multi-file tasks. Frustrating rate limits.

Windsurf: The Underdog

Windsurf (formerly Codeium) doesn’t get enough credit.

At $15/month, it offers:

  • Decent autocomplete (not Cursor-level, but solid)
  • Cascade – an agent feature that automatically indexes your codebase
  • A usable free tier (25 credits/month)

For 80% of daily coding tasks, Windsurf gets the job done. It won’t blow your mind like Cursor’s Tab completion, but it also won’t blow your budget.

When I use it: Side projects, smaller codebases, and when I don’t want to think about credit consumption.

Verdict: Best value. If budget matters, start here.

Copilot: The Safe Choice

GitHub Copilot is the Toyota Corolla of AI coding tools. It’s reliable, affordable ($10/month), and works inside your existing IDE.

Pros:

  • Lowest friction to adopt (just install a plugin)
  • Great GitHub integration (auto PR descriptions, issue linking)
  • Decent autocomplete for common patterns

Cons:

  • Agent mode is weaker than Cursor or Claude Code
  • Less context-aware than dedicated AI editors
  • Multi-file changes often need manual guidance

When I use it: When I’m in a JetBrains IDE (where Cursor isn’t available), or when I want completions without the overhead of a new editor.

Verdict: Best entry point. You’ll probably outgrow it.

What I Actually Use Day-to-Day

Here’s my real workflow:

Morning standup -> Plan tasks -> Small edits, bug fixes -> Cursor -> Large refactoring -> Claude Code -> Side project hacking -> Windsurf -> Quick PR reviews -> Copilot

I don’t think there’s a single “best” tool. The best setup is combining tools based on what each does best.

The Uncomfortable Truth About AI Coding Tools in 2026

After 3 months, here’s what nobody talks about:

1. They’re all expensive if you use them seriously.

$20/month sounds cheap until you realize that’s the base price. Heavy usage pushes Cursor to $60+, Claude Code to $100-200. That’s $1,200-2,400/year on AI coding tools alone.

2. Rate limits are the real differentiator.

The model quality across tools is converging. What actually matters day-to-day is: can I keep working without hitting a wall? Right now, Cursor (with Auto mode) and Copilot handle this best.

3. They make you faster but not necessarily better.

I ship features 2-3x faster now. But I’ve caught myself accepting AI-generated code without fully understanding it. That’s a trap. The tools should amplify your skills, not replace your thinking.

Final Scores

Dimension Cursor Claude Code Windsurf Copilot
Autocomplete 9 N/A 8 8
Agent/Autonomy 9 10 8 7
Value for Money 7 6 9 9
Ease of Use 9 6 9 10
Ecosystem 9 7 8 9

What’s your setup? I’m curious how others are combining these tools. Drop a comment below – especially if you’ve found a workflow that works better than mine.

Stop Organizing, Start Learning: How I built an AI Study Buddy using Notion MCP

This is a submission for the Notion MCP Challenge

What I Built

Study Buddy is an intelligent orchestration layer that transforms a static Notion workspace into an active learning partner.

Managing a heavy study load often involves more “organizing” than actual “learning.” Study Buddy solves this by connecting powerful LLMs (Google Gemini & Vultr Inference models) to your Notion pages via the Model Context Protocol (MCP). It acts as a proactive agent capable of:

  • Synthesizing Knowledge: Answering questions based directly on your existing notes.
  • Active Content Generation: Automatically creating structured study guides and active-recall quizzes from scratch.
  • Multi-Channel Interaction: Accessible via a high-performance CLI for deep work or a private Telegram Bot for on-the-go learning.
  • Enterprise-Grade Security: A custom implementation of OAuth 2.0 + PKCE with Dynamic Client Registration ensures your data remains yours.

Video Demo

Show us the code

GitHub Repository: Study Buddy MCP Client

How I Used Notion MCP

I utilized the Notion MCP Server as the standardized “nervous system” of the project. Instead of hardcoding API endpoints, I built a dynamic Orchestration Loop:

  1. Reasoning: Using Google Gemini, the system interprets user intent (e.g., “Summarize my last lecture”).
  2. Tool Discovery: The client queries the MCP server to discover available capabilities (searching pages, creating content, appending blocks).
  3. Autonomous Execution: The model emits tool_calls in strict JSON. My client executes these against the MCP server, feeds the results back to the LLM, and iterates until the study task is complete.
  4. Resilient Auth: I implemented a robust OAuth 2.0 + PKCE flow. By using MCP, the client can discover resource metadata and handle token refreshes automatically, providing a seamless “plug-and-play” experience for any Notion user.

By abstracting Notion’s complexity into a ‘Zero-UI’ experience, Study Buddy handles the friction of database management and content structuring via simple chat, allowing students to spend less time ‘organizing’ and more time mastering their material.

Part 6 | Enterprise Multi-Tenancy and Resource Isolation Techniques in DolphinScheduler You Might Not Know

In Apache DolphinScheduler, multi-tenancy is not just an “auxiliary permission feature,” but the core execution model of the scheduling system. What it truly solves is not “who can use the system,” but:

Under what identity tasks run, what resources they consume, and how to prevent interference between them

Only by understanding this can we grasp the essence of DolphinScheduler’s multi-tenant design.

What Are Single-Tenant and Multi-Tenant?

First, let’s clarify what single-tenant and multi-tenant mean.

In enterprise scheduling platforms, how different teams or business units share platform resources is a fundamental design concern. Single-tenancy and multi-tenancy are two common models, with clear differences in resource isolation, stability, and scalability. Understanding these differences helps organizations choose the right architecture for efficient and controllable scheduling.

A single-tenant system serves only one team or business unit. All tasks share the same execution environment, resource pool, and permission system.

A multi-tenant system, on the other hand, allows multiple teams to share one platform. Each team is logically isolated as an independent Tenant and mapped to underlying execution identities (Linux users), resource queues (YARN queues), or cloud-native namespaces (Kubernetes namespaces), enabling independent management of tasks and resources.

Compared with single-tenancy, multi-tenancy provides significant advantages in resource isolation, stability, and scalability. While single-tenancy is simple to deploy and manage, resource contention and task interference become inevitable as the number of users grows. Multi-tenancy avoids this by clearly isolating Tenants and assigning dedicated resource pools per team or environment.

Core Mechanism: Tenant-Centric Execution Model

To overcome the limitations of single-tenancy, Apache DolphinScheduler adopts a multi-tenant design.

At the heart of this design is a single concept: Tenant.

However, a Tenant is not just a logical label—it is an execution context container. When a task is scheduled, the system determines three key aspects based on the Tenant:

1. Execution Identity

Tasks do not run abstractly on Worker nodes; they must run as a specific OS user. A Tenant is bound to a Linux user, and tasks execute under that identity, inheriting file permissions and system-level isolation.

Example: Executing tasks as a Linux user

# Switch to the Linux user corresponding to the Tenant
sudo su - team_alpha_user

# Execute workflow task
spark-submit --class com.example.Job /opt/jobs/job.jar
  • Description: Tenant is bound to an OS user, and tasks run under this identity on Worker nodes, achieving file permission and environment isolation.
  • Tip: Ensure each Tenant has an independent home directory to avoid unauthorized access.
    ### 2. Resource Ownership

When tasks are submitted to engines like Spark or Flink, they must enter a resource pool. The Tenant determines the target resource queue or namespace, ensuring controlled resource usage.

Example: Create a Tenant and bind a YARN Queue

curl -X POST http://dolphinscheduler-api:12345/tenants 
  -H "Content-Type: application/json" 
  -d '{
        "name": "team_alpha",
        "queue": "team_alpha_queue",
        "description": "Team Alpha Tenant"
      }'
  • Description: Each Tenant corresponds to a YARN Queue or K8s Namespace, ensuring exclusive resource usage.
  • Tip: After creating a Tenant, remember to configure the queue or namespace in the resource scheduling system.
    ### 3. Isolation Boundary

Tenant defines a clear boundary for data access, task execution, and resource usage, forming logical isolation between teams.

Together, these three aspects form the foundation of DolphinScheduler’s multi-tenant mechanism.

How Resource Isolation Is Achieved

Multi-tenancy alone at the scheduling layer is not enough. The key design of DolphinScheduler is mapping Tenants to real underlying resource systems.

YARN-Based Isolation

In traditional big data architectures, Tenants are mapped to YARN queues. Each Tenant corresponds to a queue with defined capacity and limits. Tasks are submitted with queue information and scheduled accordingly, preventing resource contention.

YARN Mapping Example:

Queue configuration

<queue name="team_alpha_queue">
  <capacity>30</capacity>
  <maximum-capacity>50</maximum-capacity>
  <user-limit-factor>1.0</user-limit-factor>
</queue>
  • Description: Tasks automatically enter the queue when submitted, avoiding resource conflicts between Tenants.
  • Tip: Capacity and maximum capacity can be dynamically adjusted based on team workload.

Even if one team submits a large number of tasks, it only consumes resources within its own queue.

Kubernetes-Based Isolation

In cloud-native environments, Tenants are mapped to Kubernetes namespaces. Tasks run as Pods, and:

  • ResourceQuota limits total resource usage
  • LimitRange restricts per-task resource consumption
apiVersion: v1
kind: Namespace
metadata:
  name: team-alpha
---
apiVersion: v1
kind: ResourceQuota
metadata:
  name: team-alpha-quota
  namespace: team-alpha
spec:
  hard:
    cpu: "20"
    memory: "64Gi"
    pods: "50"
  • Description: Limits total resources and number of Pods to achieve cloud-native isolation.
  • Tip: Combine with LimitRange to control per-task resource limits and prevent a single task from monopolizing resources.

This approach isolates not only resources but also runtime environments and networking.

OS-Level Isolation

At the execution layer, Linux users provide the final isolation boundary. Even on the same machine, tasks from different Tenants cannot access each other’s files or scripts.

End-to-End Execution Flow

Putting everything together, the execution flow looks like this:

  1. A workflow is triggered in DolphinScheduler
  2. The system determines the Tenant
  3. The Master assigns tasks to Workers
  4. Workers switch to the corresponding Linux user
  5. Tasks are submitted with resource metadata (YARN queue / K8s namespace)
  6. Tasks run within the assigned resource pool under defined limits


This creates full isolation from scheduling logic to resource execution.

Technical Architecture

The architecture can be understood in three layers:

  • Top Layer: DolphinScheduler (Tenant / Workflow)
  • Middle Layer: Mapping (Linux User / YARN Queue / K8s Namespace)
  • Bottom Layer: Resource systems (Compute nodes / Big data clusters / Kubernetes clusters)

The key idea is:

The scheduling layer does not directly manage resources—it controls them through Tenant mapping

Why This Design Works in Enterprises

This design becomes especially powerful in enterprise environments.

When multiple teams share a platform, resource contention is inevitable. Without Tenant-to-resource mapping, a high-load workload could impact the entire system. With proper isolation, each team operates within its own boundaries.

It also simplifies troubleshooting. Issues can be traced to a specific Tenant and then to its corresponding resource pool, without affecting the entire system.

Most importantly, the design is highly scalable. Adding new teams or integrating new compute engines only requires extending Tenant mappings, without redesigning the scheduling system.

Summary

DolphinScheduler’s multi-tenant design is essentially a way to embed the scheduling system into the resource ecosystem. Instead of relying on complex logic, it leverages operating systems, resource schedulers, and container platforms to build a stable, clear, and controllable execution model.

For engineers, the real focus is not:

“How to create a Tenant”

but rather:

“How to map Tenants to resources effectively to achieve true isolation and stability”

That is the core value of multi-tenant design.

Part 2 | The Core Abstraction Model of Apache DolphinScheduler

Part 3 | How Scheduling Actually Runs

Part 4 | The State Machine: The Real Soul of Scheduling Systems

Part 5 | What Happens When Tasks Fail? A Complete Guide to Retry and Backfill in Apache DolphinScheduler

  • Next article preview:
    Part 7 | Where Are the Performance Bottlenecks in Scheduling Platforms?

LLM Fine-Tuning: The Complete Guide to Customizing Language Models (2026)

Every enterprise asking about LLM fine-tuning has the same question: “Should we fine-tune, use RAG, or just improve our prompts?” The answer depends on your task, data, budget, latency requirements, and security posture. Yet no guide on Google provides a clear decision framework — Unsloth sells its tool, Lakera sells security, DataCamp sells courses.

This guide synthesizes the technical depth of Unsloth, the security perspective of Lakera, and the academic rigor of the arXiv comprehensive survey — with an enterprise decision framework and cost analysis that none of them provide.

What Is Fine-Tuning? And Why It Matters for Enterprises

LLM fine-tuning language models 2026

LLM fine-tuning is the process of taking a pre-trained language model and re-training it on domain-specific data to customize its behavior. It’s a subset of transfer learning: you leverage the model’s existing knowledge and adapt it to your use case.

Pre-training Fine-tuning
Trains from scratch on trillions of tokens Adapts an already-trained model
Requires thousands of GPUs for weeks Can be done on 1 GPU in hours
Cost: millions of dollars Cost: $10-$10,000 (depends on size)
General knowledge Domain-specific knowledge
Done by OpenAI, Meta, Google Can be done by any enterprise

Why it matters now: enterprises are paying $16-21 CPC for fine-tuning expertise — among the highest CPCs in the entire AI keyword space. The demand is real, the expertise is scarce.

Fine-Tuning vs RAG vs Prompting: The Decision Framework

The framework no competitor provides:

Criterion Prompting RAG Fine-tuning
When to use Generic tasks, experimentation Frequently changing knowledge Specific, stable behavior
Data needed None Documents / knowledge base Hundreds to thousands of input-output pairs
Initial cost $0 (API) $500-5,000 (vector infra) $10-10,000 (GPU)
Recurring cost High (tokens per call) Medium (hosting + API) Low (local model hosting)
Latency Variable (API) Higher (search + generation) Lower (optimized local model)
Data privacy Data goes to cloud Documents on your server Data stays on your server
Update speed Instant (change prompt) Fast (update documents) Slow (re-train)
Customization Low-medium Medium High
Best for Prototypes, exploration Support, FAQs, documentation Tone, format, specialized tasks

Practical rule:

  • Need the model to know updated information? → RAG
  • Need the model to behave a specific way? → Fine-tuning
  • Need both? → RAG + fine-tuning (the most powerful combination)

Unsloth’s controversial claim: Fine-tuning can replicate ALL RAG capabilities. This is technically possible (train the model on your documents) but impractical for most enterprises — knowledge changes frequently, and re-training is slower than updating a RAG index. The claim holds for static, specialized knowledge; it fails for dynamic, frequently updated content.

Fine-Tuning Methods in 2026

Core Methods

Method Complexity GPU Required What It Does
SFT (Supervised Fine-Tuning) Low Medium-high Trains on curated input-output pairs
LoRA (Low-Rank Adaptation) Low-medium Low (10-100x less VRAM) Trains only adapter layers — 1% of weights
QLoRA (Quantized LoRA) Medium Very low (3GB minimum) 4-bit quantization + LoRA — 65B+ on consumer GPU
PEFT Low-medium Low HuggingFace library: LoRA, prefix-tuning, prompt-tuning

Alignment Methods

Method Complexity What It Does
RLHF (Reinforcement Learning from Human Feedback) High Trains reward model from human preferences, then optimizes LLM
DPO (Direct Preference Optimization) Medium Simpler RLHF — no reward model needed, direct preference learning
GRPO (Group Relative Policy Optimization) Medium DeepSeek’s method — groups samples for more efficient optimization
ORPO (Odds Ratio Preference Optimization) Medium Combines SFT and alignment in a single training step

LoRA is the breakthrough that democratized fine-tuning: by training only 1% of model weights, it reduces GPU/VRAM needs by 10-100x. QLoRA takes it further — quantizing to 4 bits enables fine-tuning 65B+ parameter models on a single consumer GPU with just 3GB VRAM (Unsloth).

Choosing a Model for Fine-Tuning (2026)

Model Sizes License Differentiator Fine-tuning Score
Llama 3.x (Meta) 8B, 70B, 405B Open (with restrictions) Best ecosystem (HuggingFace) ✓✓✓
Mistral 7B, 8x7B (Mixtral), Large Apache 2.0 / commercial Best quality/parameter ratio ✓✓✓
DeepSeek-R1 7B, 67B, V3 MIT Strong reasoning and code ✓✓ (Chinese character risk)
Qwen 2.5 (Alibaba) 7B, 14B, 72B Apache 2.0 Strong multilingual, math ✓✓
Gemma 2 (Google) 2B, 9B Permissive Light, ideal for edge/mobile ✓✓
Phi-3/4 (Microsoft) 3B, 14B MIT Ultra-light, surprising quality ✓✓

Real-world experience: DeepSeek failed (generated Chinese characters), Llama failed, Mistral 7B succeeded in a practical fine-tuning project. Lesson: always test 2-3 models before committing.

Fine-Tuning Tools and Frameworks

Framework Speed Ease of Use Differentiator
Unsloth 2x faster than baseline Medium Fastest LoRA/QLoRA; Studio for no-code
HuggingFace Transformers Baseline High Largest ecosystem, most tutorials
Axolotl Fast Medium YAML config, multi-method support
LitGPT Fast Medium Lightning AI, clean API
torchtune Fast Medium Meta’s official, PyTorch-native
Google Vertex AI N/A (managed) High Enterprise-grade, fully managed

How Much Does Fine-Tuning Cost?

Approach Initial Cost Monthly Cost Privacy Customization
API (GPT-4, Claude) $0 $500-5,000+ (tokens) Data goes to cloud Low (prompt only)
RAG + API $500-3,000 $300-2,000 (API + hosting) Documents local Medium
Fine-tuning (7B, LoRA) $10-100 (GPU) $50-200 (model hosting) 100% on-premise High
Fine-tuning (70B, QLoRA) $50-500 (GPU) $200-1,000 (hosting) 100% on-premise Very high
Fine-tuning + RAG $500-3,000 $200-1,000 Hybrid configurable Maximum

Where to train:

Platform GPU Cost Best For
Google Colab T4 (15GB) Free Experimentation
Kaggle P100/T4 Free (30h/week) 7B model fine-tuning
Lambda Labs A100 (80GB) $1.10/hr Serious fine-tuning
RunPod A100, H100 From $0.39/hr Production
Vast.ai Variable From $0.10/hr Minimum budget

Security Risks: Data Poisoning, Prompt Injection, and Model Extraction

Lakera highlights critical security concerns that most fine-tuning guides ignore:

Risk Description Mitigation
Data poisoning Malicious data in training set corrupts model behavior Data validation, provenance tracking
Prompt injection Fine-tuned models remain vulnerable to adversarial prompts Input sanitization, Lakera Guard
Model extraction Attackers reconstruct your fine-tuned model via API queries Rate limiting, output filtering
Training data leakage Model memorizes and reveals sensitive training data Differential privacy, data deduplication
Backdoor attacks Hidden triggers in training data activate malicious behavior Adversarial testing, red teaming

Dropbox uses Lakera Guard for LLM security with their fine-tuned models. If you’re fine-tuning with proprietary or sensitive data, security isn’t optional — it’s foundational.

Fine-Tuning for Blockchain and Web3

At Beltsys, we apply LLM fine-tuning for Web3 use cases:

  • Models trained on Solidity for smart contract generation and auditing
  • LLMs specialized in ERC-3643, ERC-4337 documentation and tokenization standards
  • RAG + fine-tuned chatbots for Web3 platform technical support
  • Fine-tuned agents for on-chain transaction analysis and DeFi protocol interaction

The combination of fine-tuning + RAG is ideal for fintechs and blockchain companies that need models speaking their technical language with current data. Blockchain & AI consulting.

EU AI Act and Fine-Tuned Models

The EU AI Act raises an unresolved question: is a fine-tuned model a “new” AI system?

  • Substantial behavior modification → may classify as new system → mandatory compliance
  • Minor adaptation (tone/format) → probably not
  • Recommendation: Document the fine-tuning process, training data, and evaluations. If your model makes decisions in healthcare, finance, or hiring, assume you need compliance.
  • Deadline: August 2, 2026. Penalties: up to €35M or 7% of global revenue.

Frequently Asked Questions About LLM Fine-Tuning

What is LLM fine-tuning?

LLM fine-tuning is the process of re-training a pre-trained language model with domain-specific data to customize its behavior. It’s a subset of transfer learning — you leverage existing knowledge and adapt it to your use case. Key techniques include LoRA (trains 1% of weights), QLoRA (4-bit quantization for consumer GPUs), and DPO (alignment without reward model).

When should I fine-tune vs use RAG?

Fine-tune when you need the model to behave a specific way (tone, format, specialized responses). Use RAG when you need the model to know updated information (documentation, FAQs). Use both for maximum customization with current knowledge. Fine-tuning is better for static, specialized knowledge; RAG for dynamic content.

How much does LLM fine-tuning cost?

A 7B model with LoRA: $10-100 in GPU costs (2-4 hours). A 70B model with QLoRA: $50-500. Monthly hosting: $50-1,000 depending on model size. Free options: Google Colab, Kaggle (30h/week GPU). Compared to API costs ($500-5,000+/month), fine-tuning is cheaper long-term and keeps data on-premise.

What is LoRA and why does it matter?

LoRA (Low-Rank Adaptation) trains only adapter layers — approximately 1% of model weights — reducing GPU/VRAM requirements by 10-100x. QLoRA adds 4-bit quantization, enabling fine-tuning of 65B+ parameter models on a single consumer GPU with just 3GB VRAM. These techniques democratized fine-tuning for enterprises of all sizes.

Is fine-tuning secure?

Not automatically. Lakera warns that fine-tuned models remain vulnerable to prompt injection, data poisoning, training data leakage, and model extraction attacks. Dropbox uses Lakera Guard for LLM security. If fine-tuning with proprietary data: implement data validation, differential privacy, input sanitization, and adversarial testing.

Does the EU AI Act apply to fine-tuned models?

Potentially. If fine-tuning substantially modifies model behavior, it may create a “new” AI system requiring compliance. For models making decisions in healthcare, finance, or hiring, assume compliance is needed. Document training data, process, and evaluations. Deadline: August 2, 2026. Penalties: €35M or 7% revenue.

About the Author

Beltsys is a Spanish blockchain and AI development company specializing in LLM fine-tuning for Web3, smart contracts, and fintech solutions. With extensive experience across more than 300 projects since 2016, Beltsys implements custom models with RAG and fine-tuning for enterprises that need AI speaking their technical language. Learn more about Beltsys

Related: Smart Contract Development
Related: Web3 Development
Related: Blockchain Consulting
Related: Real Estate Tokenization

From Apache SeaTunnel to ASF Member: A Story of Long-Term Commitment

3d5c8aaf1091f7a7ef66425e97d147bc

Recently, after internal discussions, the Apache Software Foundation invited several PMC Members from the Apache SeaTunnel project to become ASF Members—one of the highest honors within the foundation. Among them is Wang Hailin.

3d5c8aaf1091f7a7ef66425e97d147bc
Congratulations to @wang Hailin on becoming an ASF Member! As a key contributor to the SeaTunnel community, this recognition is not only a personal milestone, but also a moment of pride for the entire community.

Over the years, he has remained deeply involved in the community: from refining documentation to improving code, from participating in technical discussions to helping newcomers. His contributions can be seen across almost every corner of the project. Beyond SeaTunnel, he has also been actively contributing to multiple ASF projects, consistently practicing the Apache Way advocated by the foundation. It is this steady, long-term dedication that has led to this important recognition.

To mark the occasion, the community conducted an in-depth interview with him. This article is structured into five sections—personal background, open-source journey, the path to ASF Member, SeaTunnel community development, and open-source culture—to give a closer look at his growth, his experiences in open source, and the passion and persistence behind his contributions.

Personal Background & Open Source Journey

王海林

Q1: Could you briefly introduce yourself and how you got into big data and open source?

A: Hey guys, I’m Wang Hailin, and my GitHub ID is hailin0. I mainly work on data infrastructure, with a focus on data integration, data synchronization, and data platforms.

Outside of work, I enjoy engaging with open-source communities—sharing practical experience and exchanging ideas around data platforms and integration technologies.

My entry into big data and open source is closely tied to my earlier work experience. While working on systems like data development platforms and performance monitoring, I frequently dealt with data ingestion and synchronization challenges, which required exploring various data integration tools.

That’s when I came across SeaTunnel. What stood out to me was its extensible architecture—it supports a wide range of data sources and complex synchronization scenarios, making it well-suited for enterprise use. This sparked my interest, and I gradually started contributing to the community. Over time, through continuous contributions and discussions, I became one of the core contributors.

Q2: When did you start contributing to SeaTunnel, and what was the trigger?

A: It started from a practical need at work. At the time, I was building a data platform and needed a reliable data integration tool. During that evaluation process, I discovered SeaTunnel.

Back then, the project wasn’t as mature as it is today, but its architecture left a strong impression on me—especially the plugin-based Connector system and the flexible data synchronization model.

I began using SeaTunnel in real-world scenarios, and gradually got involved in contributing. Starting with small fixes and bug patches, I later participated in more feature development and community discussions, eventually becoming a long-term contributor.

Q3: What key areas or features have you contributed to in SeaTunnel?

A: My contributions mainly fall into a few areas.

Early on, I worked on Connector development and improvements. For a data integration platform, the Connector ecosystem is fundamental—it determines which data sources and systems the platform can connect to.

As I became more involved, I also contributed to framework-level and infrastructure work, such as improving the E2E testing system and refining the logging framework to make the project more robust and standardized.

Later, as I gained a deeper understanding of the synchronization engine, I started working on CDC (Change Data Capture) capabilities, including CDC read/write and DDL synchronization. In real production environments, schema changes (DDL) are unavoidable. If a system cannot handle schema evolution properly, data pipelines can easily break.

Overall, these efforts are driven by a single goal: to make SeaTunnel not just a data synchronization tool, but a reliable data integration infrastructure for enterprise environments.

Open Source Contributions & Growth

Q4: Which contribution or experience left the deepest impression on you?

A: One experience that stands out is working on DDL support in CDC scenarios.

At first glance, DDL may seem like a simple SQL parsing problem. But in a data synchronization system, it must flow correctly through the entire pipeline: from Source capturing the event, to passing it through the data stream, to executing schema changes on the Sink.

The real challenge lies in maintaining consistency between DDL and data changes. In practice, synchronization jobs run concurrently across multiple nodes, so DDL events must maintain a consistent order throughout the distributed pipeline.

This requires tight integration with state management mechanisms like Checkpoint and Savepoint, ensuring that after recovery or restart, DDL and data events remain in the correct order.

When you combine all these factors, DDL handling becomes a system-level challenge involving distributed data flow, state consistency, and multi-system compatibility.

This work took quite a long time and involved extensive discussions with other contributors. It’s one of the more complex aspects of many data synchronization systems, and we aimed to make SeaTunnel more reliable for enterprise real-time scenarios.

Q5: What do you think is the most important skill in open source collaboration?

A: I would say communication and collaboration are critical.

Technical skills are the foundation, but many decisions in open source are made through discussion and consensus. Being able to clearly express your ideas, understand others’ perspectives, and move toward agreement is essential.

Another important factor is patience and long-term commitment. Open source is not a short-term effort—it requires sustained involvement.

Q6: What advice would you give to newcomers in open source?

A: Start small. For example:

  • Fix a bug
  • Improve documentation
  • Submit a small feature enhancement

This helps you get familiar with the codebase and development workflow.

Also, participate in discussions. Even asking questions or joining simple conversations helps you understand the project’s design.

Open source is a long journey—you don’t need to aim for big features at the beginning. What matters more is understanding the architecture, not just the code.

Many core contributors grow over years—from users to contributors, and eventually to maintainers.

For me, the biggest gain from open source is not a specific piece of code, but the opportunity to collaborate with developers from different companies and backgrounds. That experience is incredibly valuable.

Becoming an ASF Member

Q7: What was your first reaction when you were invited to become an ASF Member?

A: I was surprised and very grateful.

ASF Membership is not something you apply for—it comes through nomination and voting by existing members. So it represents recognition from the community for long-term contributions.

Q8: How closely is this achievement tied to your work in SeaTunnel?

A: Very closely.

The SeaTunnel community gave me many opportunities to grow—from contributing code to participating in community governance. Through this process, I gradually learned how Apache communities operate.

It’s not just about technical contributions, but also collaboration and governance, which are all important factors in becoming an ASF Member.

Q9: What does becoming an ASF Member mean to you?

A: To me, it represents responsibility.

It’s not only recognition of past contributions, but also a commitment to continue contributing to the Apache community—helping projects grow, supporting new projects entering the ecosystem, and promoting open-source culture.

Q10: How do you see the importance of the Apache Way?

A: The Apache community emphasizes “Community Over Code.”

A successful project needs not only strong technology, but also a healthy community, including:

  • Open and transparent decision-making
  • Consensus-driven governance
  • Encouraging participation from diverse contributors
  • Continuously welcoming new contributors

These are key reasons why Apache projects can succeed in the long run.

SeaTunnel Community Development

Q11: What are the key milestones in SeaTunnel’s growth?

A: Several milestones stand out:

  • Entering the Apache Incubator
  • Unifying APIs and introducing the Zeta engine
  • Graduating as a Top-Level Project (TLP)
  • Rapid iteration in the 2.3.x series with increasing stability

SeaTunnel was open-sourced in 2017, entered the Apache Incubator in 2021, and became a TLP in 2023. This journey reflects not only technical evolution but also the maturation of community governance.

Q12: How do you see SeaTunnel’s positioning in data integration?

A: In recent years, the demand for efficient data movement has grown significantly, and synchronization scenarios have become more complex.

SeaTunnel aims to be a high-performance, extensible platform that supports diverse data integration needs across different use cases.

It already supports multiple data sources, batch processing, real-time synchronization, and CDC.

Looking ahead, I believe it will continue to evolve in areas such as:

  • Expanding the connector ecosystem
  • Strengthening data transformation capabilities
  • Improving fault handling
  • Enhancing ecosystem integration

Open Source Culture & Personal Growth

Q13: How has open source influenced your career?

A: It has influenced me in two major ways.

First, it broadened my technical perspective. In company projects, decisions are often driven by specific business needs. In open source, designs must work across different use cases, systems, and organizations. This leads to a more comprehensive understanding of system design.

Second, it deepened my understanding of software engineering and collaboration. In open source, a feature goes through idea proposal, design discussion, review, and iteration before merging. This process emphasizes design and communication, not just coding.

Working with developers from different countries and backgrounds also brings fresh perspectives.

For me, the biggest gain is the opportunity to collaborate in an open environment and solve problems with talented engineers.

Q14: How would you summarize the spirit of open source in one sentence?

A: Based on my experience, the most valuable aspect of open source is that it provides a space for long-term participation and growth.

I started as a user, using tools to solve problems. Then I began contributing small fixes, and gradually got involved in feature development and core system design.

Looking back, it’s a journey from user → contributor → maintainer.

In a company, knowledge often stays within a team. In open source, your work can be seen, used, and improved by many others. As the project grows, so do the people involved.

So if I had to summarize it in one sentence:

Open source is not just about sharing code—it’s about growing together with the community.