AI Practice Case Study  ·  ServAuto Internal

How a Non-Technical Business Person
Used AI to Automate a Workflow

From a single meeting recording to a system that runs every morning at 8:00 AM — automatically.

📅 Live since May 2026
🏪 3 stores covered
⚙️ Runs daily, no manual trigger
📊 Real-time daily data processing

Where It Started

A real frustration from a colleague's day-to-day work.

😮‍💨

Manual work every month-end

Installation records had to be manually filtered and sorted to calculate each technician's commission — time-consuming and error-prone.

🏪

Three separate stores

PJ, Balakong, and Glenmarie each had data in different tables, each with slightly different rules.

🔍

Repair orders needed manual review

The same licence plate could mean a new install or a warranty repair — two very different commission scenarios.

Zi.Li, who handled this every month, asked: "Can we automate this?"

Who Was Involved

Two people and one AI tool. No IT department, no dedicated tech team.

👩

Zi.Li  ·  Business Owner

Domain expert. Provided business logic and verified the final output was correct.

👤

Thomas  ·  Project Driver

Business person, zero coding background. Communicated requirements and drove the AI tools.

🤖

Claude  ·  AI Execution

Structured the requirements doc, explored the data, wrote and debugged all code.

Step by Step

No programming knowledge required. Click any step to read more.

1
Requirements Discovery Thomas × Zi.Li meeting — full session recorded with Lark Minutes
+

A face-to-face session to walk through the complete commission logic: which positions are included, hours per installation position, how MaxShield products are treated, how OT is determined.

Since there was a lot to cover, Lark Minutes was used to auto-record and transcribe the session.

💡 Tip: No note-taking needed. Start Lark Minutes before the meeting, export the TXT file afterwards.
2
AI Processing Meeting transcript given to Claude — structured requirements doc produced
+

The exported TXT file was uploaded to Claude, asking it to extract: business process, calculation rules, data sources, and edge cases (e.g. how to handle repair orders).

📄 Output: A commission rules doc covering standard products (RM3/hr), MaxShield (extra RM2/hr), and OT double-rate logic.
3
Human Validation Requirements doc sent back to Zi.Li — confirmed correct before proceeding
+

The AI-generated doc needed to go back to the business owner for verification: Is the process right? Can we find the data sources? Is anything missing?

Some back-and-forth clarified a few ambiguous points — e.g. that HeatShield and ClearShield are treated the same as standard products.

⚠️ Key principle: AI output is a "draft." Business validation is the "final version." Skipping this step is risky.
4
AI Development Confirmed requirements handed to Claude Code — implementation begins
+

The requirements doc and Lark Base table links were given to Claude Code, with instructions to explore the data structure and write the calculation program.

🔧 This phase was fully AI-led. Thomas's role was "does this result look right?" — not "tell AI how to write code."
5
Iteration Issues found → fixed → re-validated, several rounds (see next section)
+

The program didn't run correctly on the first try. Each issue surfaced through real data and had a clear business meaning behind it.

🔄 Important mindset: Errors aren't failures — they're the AI telling you what's really in the data.
6
Go Live Scheduled task set up — runs automatically every morning at 8:00 AM
+

A daily scheduled task was configured. Every morning the system automatically syncs repair records → calculates commissions for all three stores → writes results to Lark Base.

Key design decision: The program only reads from existing tables. Results go to a newly created output table. Original data is never modified.

✅ Zi.Li reviewed the first run and confirmed the numbers matched her manual calculations.

The Step That Connects AI to Lark

Before any code was written, the AI program needed permission to access Lark's data. Thomas set this up independently — no IT support needed.

In one sentence: A Lark App is like an access badge for your automation program — it lets the program read and write Lark Base tables just like a logged-in colleague.
1

Create an App on the developer portal

Log in to the Lark Developer Platform, create a custom app. Similar to signing up for any account.

2

Request Bitable read/write permissions

Enable "Read Bitable Data" and "Write Bitable Data" in the app's permission settings, then publish.

3

Add the app to your Bitable

Open the target Bitable → "···" → "Add App." The app can now access that table.

4

Hand the credentials to the AI

Copy the App ID and App Secret, tell Claude Code: "Use these to access Lark."

💡

This one-time setup can power many future automation projects

Attendance tracking, inventory checks, order summaries, report generation — anything that needs automated access to Lark Bitable can reuse the same mechanism.

What the Machine Actually Does

Where the data comes from, how it's processed, and where it ends up.

Lark Base
Installation records (3 stores)
Calculation Engine
Python Agent
Commission Output
New output table
CMS Sales Records
Repair source
Repair Cache
Local sync

Runs at 8:00 AM daily  ·  Read-only on existing data  ·  Results written to new table

Discovering Problems, Then Solving Them

Each time, the business person noticed "something looks wrong." The AI traced the cause and fixed it. No technical knowledge needed on our end. Click to see what happened.

Blue = what the business person did
Green = what the AI handled
Finding #1 Some records shouldn't count toward commission — but the program didn't know that
+

Looking through the first run results, Thomas noticed a few licence plates appeared more than once in the same month — likely return visits for repairs, not new installations.

👤 What I did

"These entries look like repair orders — they shouldn't count toward commission."

🤖 What the AI handled

Designed an automatic filtering mechanism. Cases it couldn't resolve were compiled into a review list for Zi.Li.

Finding #2 One product type was showing RM 0 commission for everyone
+

The program ran without errors, but the MaxShield (premium product) column showed RM 0 for every person — impossible, since there were confirmed MaxShield installations that month.

👤 What I did

"MaxShield can't all be zero — we had MaxShield orders this month."

🤖 What the AI handled

Investigated the actual data, found the root cause, corrected the program. Numbers came back correctly.

Finding #3 Each run was taking close to 5 minutes
+

During testing, every run took 4–5 minutes to produce results. If the daily run always took that long — and needed to be re-run — that wasn't practical.

👤 What I did

"Each run takes 5 minutes — that's not usable in practice."

🤖 What the AI handled

Redesigned the data retrieval approach. Runtime dropped from 5 minutes to a few seconds.

Finding #4 Everyone's numbers were consistently lower than expected
+

Zi.Li compared the output against her manual calculations — every person's number was lower, not by a little. It felt like an entire category hadn't been included.

👤 What I did

"Everyone's number is less than what I calculated — feels like a whole section is missing."

🤖 What the AI handled

Found the missing base rate layer, added it back. Numbers matched the manual calculations.

🎯

The core skill: being able to judge whether a result is right or wrong

No databases, no APIs, no code. Just enough business knowledge to say "something's off here" — then hand it back to the AI.

What Changed

From "manually compiled once at month-end" to "real-time daily processing of new records."

3
Stores covered
PJ · BLK · Glenmarie
Daily
Real-time processing
of new records
8 AM
Automatic run
no trigger needed
0
Manual operations
under normal conditions
Daily updates lay the groundwork for what comes next
🔧

Technicians: track your own commission anytime

No need to wait until month-end. Every day's work counts that day — real-time visibility into monthly accumulated commission. Clear and transparent.

🏪

Store managers: daily team performance at a glance

Data refreshes daily. No manual compiling — check the whole team's installation volume and commission status whenever needed.

If You Want to Do Something Similar

The most valuable lessons from this project. Click to expand.

🎙️ Record your meetings, use AI to structure the requirements
+

Start Lark Minutes recording → export TXT → hand to Claude to structure into a doc. Three steps that save significant time and ensure nothing gets missed.

Always have a business person validate what AI produces
+

AI output is a draft, not a final answer. Every step — requirements doc, calculation logic, run output — needs the person who knows the business best to confirm it.

🔒 Never let AI modify your original data
+

Have the program read existing tables as read-only, and write results to a newly created table. Even if something calculates incorrectly, your source data stays intact.

🐛 Errors are information, not failures
+

Every error has a reason. Paste the error message to AI and it can usually tell you exactly what went wrong — then fix it.

🚀 Get it running first, optimise later
+

The first version doesn't have to be perfect. Running + roughly correct + not breaking original data — hit these three marks and start using it. Optimise once you discover real issues.

The Project Continues

Employee commission calculation is just Chapter One.

External Partner Store Settlement Automation

ServAuto collects full payment on behalf of partner stores, then pays each store a service fee based on a Rate Card. Next: automate this monthly reconciliation as well.

In Progress →