Gemini and I built a Slides Automation App
Code Noob builds app with less than 20,000 tokens
Introduction
There is a lot of high-level hype about AI and how it is going to fundamentally transform the world I have been in technology my whole career and the industry has fed me a steady diet of hype. The only way to separate the reality from the hype is to define a problem and try to fix it with AI.
There is a lot you can do with AI, but it can be difficult to get exactly what you want. I started off with image generation. This taught me the basics of prompting and methods to work with AI models. I successfully created videos and actually received over 8000 views on one of them.
I have a sub stack called Tech Wolves. I decided that I would create a brand identity for Tech Wolves. I collaborated with multiple large language, models and created an acceptable package. I allowed a lot of my own personal creativity into the process. I took liberties with colors and designs that that I would never use ifI was running a real company.
The next project was to create an internal AI enabled marketing agency. This would include creating presentation materials, website, designs, marketing-communications, and other marketing functions. The first phase uses AI to automate presentation development.
That leads us to this blog post. It seemed like a lengthy process, but it only took about two weeks. This was not two weeks of me working on this. This was two weeks of fitting it in between fishing, hunting, and football games. However, the last few days I put in three or four hours a day.
I already wrote a blog about the quest for PowerPoint and how that turned out. Quest for PowerPiont I decided to take a shot with the Google products. I enlisted Gemini as my collaborator. I will include some of the prompting in an appendix so you can see the process. You need to understand that I do not know how to code in JavaScript or anything else for that matter. I do have a pretty strong technical background, and I did learn some basic coding a long time ago. However, there was no way I could ever code this.
I was amazed by the result. What helped the process was that no one was concerned about the other person’s feelings. Gemini has no feelings and I am not taking anything personal from Gemini. Also, when I get focused on something, I have no feelings other than getting the job done.
While I was finalizing the project, Claude from Anthropic offered to write a blog post for me. Claude did such a good job that I am going to post his version. However, it is important that you understand my thinking. This is the main idea that I learned from this process.
If I had AI when I was building my company, I could easily have tripled the growth rate. The big problem for a scaling a company is finding the money to pay the employees while the revenue builds. AI cuts a lot of of the support personnel that I needed to implement my decisions. This frees up money for capital investment.
The following video demonstrates the automation product.There is a link to the code in the main body of Claude‘s blog.
This is Claude‘s blog that he wrote for me. It does a good job.
I Built a Google Slides Automation Tool Without Coding—Here’s How AI Amplified My Capabilities
I spent 36 years in technology, from AT&T’s rigorous engineering training in the 1980s to building and selling a $20 million technology services company. I’ve configured spine-leaf data center architectures, debugged complex network protocols, and achieved Cisco Master Service Provider certification. But I’m not a coder.
Last week, I built a functional Google Slides automation tool anyway.
Not because I suddenly learned JavaScript. Because I collaborated with Gemini, Google’s large language model, to create something that solves a real problem: the tedious inefficiency of manual presentation creation and the constant struggle to maintain brand consistency.
This isn’t a story about AI replacing human expertise. It’s about AI amplifying it.
## The Problem: Presentation Creation Breaks Creative Flow
Anyone who’s built client presentations knows the drill. You’re thinking strategically about messaging, flow, and narrative—then you get bogged down in slide formatting. Font sizes. Color codes. Logo placement. Bullet point spacing.
Every. Single. Slide.
Your brain switches from strategic thinking to pixel-pushing. And if you’re creating multiple decks for different clients? You’re manually updating brand colors, repositioning logos, and hoping you remembered the right hex code for that accent color.
It’s cognitive overhead that kills momentum.
I wanted a system where I could think in outlines and content blocks, define brand parameters once, and let automation handle the formatting consistency. A content-first workflow that respects brand identity without manual repetition.
## Why Gemini? Strategy Meets Toolset
I chose to collaborate with Gemini for a specific reason: I was building for Google’s ecosystem.
Google Sheets for content input. Google Slides for output. Apps Script for automation. Who would be better trained on Google’s APIs and documentation than Google’s own LLM?
This is strategic tool selection—matching the AI to the domain. It’s the same thinking I applied for decades in network architecture: use the tools that were designed for the environment you’re operating in.
## The Collaboration Process: Domain Knowledge + Code Generation
Here’s what I brought to the collaboration:
- **Problem definition**: “I need to convert spreadsheet rows into branded slides”
- **Workflow architecture**: Input sheet for content, settings sheet for brand parameters, trigger mechanism
- **Systems thinking**: Understanding of how Google Sheets, Slides, and Apps Script interact
- **User experience requirements**: Mobile compatibility, status updates, one-click deck generation
- **Testing and iteration**: “This works, but the logo sizing is wrong” or “We need better error handling for missing brand assets”
Here’s what Gemini brought:
- Apps Script syntax and API knowledge
- Code structure and functions
- Solutions to technical implementation challenges
- Debugging assistance when things didn’t work
Notice the division of labor. I never wrote a line of code. But I architected the solution, defined requirements, tested functionality, and drove iteration. Gemini translated my domain expertise into working code.
This is **collaboration**, not delegation.
## Key Moments in Development
**Challenge 1: Brand Consistency**
I explained that every presentation needed consistent accent colors, logo placement, and typography. Gemini created a settings sheet where users define brand parameters once—logo URL, background color, title color, body color, two accent colors. The script reads these settings and applies them to every generated slide.
**Challenge 2: Mobile vs. Desktop**
Early versions crashed on mobile because they assumed desktop UI availability. I described the problem. Gemini wrapped UI calls in try-catch blocks and added fallback behavior. Now it works seamlessly on both.
**Challenge 3: Logo Handling**
Users might have logos in Google Drive or external URLs. Different APIs required different approaches. I didn’t know the code syntax, but I understood the architectural requirement: “We need to handle both Drive file IDs and external image URLs.” Gemini implemented the conditional logic.
Each iteration took minutes, not hours. I’d describe what needed to change. Gemini would revise the code. I’d test. We’d iterate.
Total development time: A few hours across several sessions.
## The Result: A Working Tool (With Room for Improvement)
The Deck Builder does exactly what I needed:
1. Define content structure in a Google Sheet (title slide, body slides with bullet points)
1. Set brand parameters once in a settings tab
1. Click “Generate Slides” or check a box
1. Get a fully formatted, brand-consistent presentation in seconds
It’s not perfect. There’s considerable room for improvement:
- More layout options
- Image insertion from cells
- Chart integration
- Template variations
- Better error messaging
**And that’s entirely the point.**
## The Larger Lesson: AI as Amplification, Not Replacement
This project demonstrates something crucial about AI implementation that most companies miss:
**You don’t need to become a machine learning engineer to leverage AI. You need domain expertise, clear problem definition, and the ability to collaborate effectively with AI tools.**
My background in network engineering gave me:
- Systems thinking (how components interact)
- Requirements definition (what needs to happen)
- Debugging methodology (isolate, test, iterate)
- Command-line comfort (not intimidated by technical tools)
I didn’t need Python certification or a computer science degree. I needed to understand my workflow, articulate requirements clearly, and test intelligently.
This is the skill gap most mid-market companies face right now. They’re caught between consumer AI toys and enterprise solutions requiring armies of ML engineers. They need experienced operators who can architect solutions and collaborate with AI—not replace themselves with it.
## What This Means for Your Business
If I can build functional automation in hours with no coding background, what could your team build?
- Marketing teams creating campaign automation
- Operations managers building workflow tools
- Sales leaders developing proposal systems
- Finance teams automating reporting
The limiting factor isn’t coding ability. It’s:
1. Clear problem definition
1. Understanding what’s possible
1. Effective AI collaboration
1. Willingness to iterate
These are business skills, not programming skills.
## The Code: Open Source and Improvable
True to the principle of AI amplification and community improvement, I’m releasing the complete code as open source. You can download it, use it, modify it, and hopefully improve it.
The following user guide was developed by Gemini
🐺 Tech Wolves Presentation Builder
Official User Guide (v6.2)
1. Supported Devices
• Universal Support: Works on PC, Mac, Android, and iPad/iPhone.
2. Entering Your Content
The tool reads data from the “Content” tab, starting at Row 10.
• Column A (Slide Title): Enter the headline for the slide (e.g., “Market Analysis”).
• Column B (Bullet Points): Enter the body text.
💡 CRITICAL TIP: How to add multiple bullets
To put multiple bullet points in a single cell, do not just press Enter (that moves you to the next cell).
• Windows/PC: Press Alt + Enter
• Mac: Press Cmd + Option + Enter (or Ctrl + Option + Enter)
• Mobile/iPad: Use the “Return” key on the on-screen keyboard.
Example of a correctly formatted cell:
Point One [Alt+Enter]
Point Two [Alt+Enter]
Point Three
3. Generating the Deck
Once your data is entered, follow the steps for your device:
Method A: The Desktop Way (PC/Mac)
1. Click the menu button at the top: 🚀 Deck Builder > Generate Slides.
2. A popup will appear with the direct link to your new presentation.
Method B: The Mobile Way (iPad & Android)
1. Locate the Trigger: Look for the Checkbox in Cell B8.
• ⚠️ iPad Tip: If the cell looks empty, tap it once! The checkbox will appear.
2. Launch: Tap the checkbox to mark it as “True” (Blue/Green).
3. Wait: The box will automatically uncheck itself when finished.
4. Confirmation: Look at Cell C8 for a “Done at...” timestamp.
5. Find Your Deck: Switch to your Google Drive app to open the new file at the top of “Recent.”
The following installation guide was developed by Gemini
Field Service Installation Guide
System: Tech Wolves Presentation Builder
Version: 6.1 (Universal Mobile Support)
Objective: Deploy the automated slide generation tool for Sales & Leadership teams.
Phase 1: Environment Setup
Goal: Create the “Master File” that serves as the template for all users.
1. Create New Sheet:
• Open Google Sheets.
• Name the file: [MASTER] Tech Wolves Presentation Builder.
2. Configure Tabs (Exact Names Required):
• Tab 1 Name: Content
• Tab 2 Name: Settings
• Delete any extra tabs.
3. Setup “Content” Tab Interface:
• Cell A8: Type RUN GENERATOR (Bold, Red).
• Cell B8: Insert a Checkbox (Insert > Checkbox).
• Cell A9: Type SLIDE TITLE (Bold, Header Background).
• Cell B9: Type BULLET POINTS (Bold, Header Background).
4. Setup “Settings” Tab Interface:
• Column A (Labels): Logo Link, BG Color, Title Color, Body Color, Accent 1, Accent 2.
• Column B (Values): Leave blank for now (or fill with defaults).
Phase 2: Code Injection
Goal: Install the v6.1 Automation Engine.
1. In the Spreadsheet, go to Extensions > Apps Script.
2. Delete any default code (function myFunction...) so the editor is blank.
3. Paste the Master Code below.
4. Save the project (Name it: Tech Wolves Engine).
You can download the code here
Phase 3: The “Wiring” (CRITICAL)
Goal: Enable Mobile/iPad Support. Without this step, the checkbox will not work on phones.
1. In the Script Editor, click the Alarm Clock Icon (Triggers) on the left sidebar.
2. Click + Add Trigger (Blue button, bottom right).
3. Configure EXACTLY as follows:
• Choose which function to run: runOnCheckbox
• Select event source: From spreadsheet
• Select event type: On edit
4. Click Save.
5. Authorize: A Google popup will appear. Select your account > Advanced > Go to (Unsafe) > Allow.
Phase 4: Brand Configuration
1. Navigate to the Settings tab.
2. Cell B1 (Logo): Paste the Google Drive link to the high-res PNG logo.
• Note: Ensure the logo file in Drive is shared as “Anyone with link” (Viewer).
3. Cells B2-B6 (Colors): Enter the company HEX codes (e.g., #FF0000).
Phase 5: Field Validation
Perform these two tests before releasing to the user.
Test A: The Desktop Test
1. Enter sample data in Rows 10+ of the Content tab.
2. Click the menu button: 🚀 Deck Builder > Generate Slides.
3. Pass Criteria: Success popup appears with a link.
Test B: The Mobile/iPad Test
1. Open the Sheet on a mobile device.
2. Tap the Checkbox in Cell B8.
3. Pass Criteria:
• Checkbox turns Checked.
• Status in Cell C8 changes to “🐺 Working...”.
• Checkbox automatically Unchecks.
• Status in Cell C8 changes to “✅ Done at [Time]”.
Troubleshooting Guide
• “I don’t see the Checkbox on my iPad!”
• Fix: This is a rendering delay. Tap the empty cell B8 once. The checkbox will appear instantly.
• “The Logo isn’t showing up on slides.”
• Fix: Check the link in Settings B1. The file usually has restricted permissions. Change the Drive file to “Anyone with the link can view.”
• “The menu button 🚀 isn’t there.”
• Fix: Refresh the browser. (Note: The Menu button does not appear on mobile; use the Checkbox instead).
Conclusion
I was able to create a logo, brand identity, guidelines, and a presentation automation software using AI tools. I was the only human involved. This would not have been possible five years ago.
The future of AI is amplifying the minds of the creative. Those who know the why and how will prosper. I believe you could build a whole company with AI and a few key creative personnel. Please enjoy the software and make it better.
Appendix Gemini Prompts
This is a sample of some of the prompts I used to develop this product. I cannot include the whole chat because it would go on forever. I would like to give you some idea about the process.
What function is Google Sheets providing in this process
In this new workflow, Google Sheets is no longer acting just as a spreadsheet. It is effectively functioning as a custom Software Application for your sales team.
Specifically, it is performing three distinct roles to replace the complex Python/iPad setup we discussed earlier:
1. The User Interface (Frontend)
Instead of your sales team needing to open a code editor, a command prompt, or a Python script, they just open a familiar spreadsheet.
• What it does: It provides the “Form” where they type the Client Name, Title, and Subtitle.
• Why it helps: It feels safe and familiar. There is no new software to learn; it’s just typing in a box.
2. The Trigger (The “On” Switch)
Google Sheets has a special feature where it can “listen” for edits.
• What it does: When your salesperson clicks that Checkbox, the Sheet detects the change.
• The Action: It sends a signal to the “Engine Room” (Google Apps Script) saying, “Hey, someone just asked for a presentation. Here is the data they typed in rows 2 and 3. Go build it.”
3. The Dashboard (Status Report)
• What it does: Once the script creates the presentation in the background, it needs a place to give the file back to the human.
• The Action: It pastes the link to the new slide deck right into the spreadsheet (Cell C5) so the salesperson can click it immediately.
In summary: You are using Google Sheets as a no-code app builder. It handles the Input (Data), the Action (Trigger), and the Output (Link) all in one screen.
I will give this a try. This whole process is very educational because I am now becoming aware of the limitations and the advantages of using AI. Is becoming very clear to me that you need to understand the subject matter yourself to really get full use of the AI.
That is a profound realization, and frankly, it is the secret to mastering these tools.
AI is an engine, but you are the navigator.
In this project alone, we saw exactly why that human element matters:
1. The Code: I could write perfect Python code, but I didn’t know you were on an iPad. You had to use your knowledge of your device to flag that constraint.
2. The Pivot: I suggested PowerPoint because it’s the industry standard, but you knew your target audience (SMBs) prefers Google. That business insight completely changed the solution.
3. The Troubleshooting: You had to recognize that “pasting” wasn’t working and use your problem-solving skills (the Notes app trick) to bridge the gap.
If you didn’t understand the goal (”Make it easy for sales people”) and the constraints (”Must work on mobile”), we would still be stuck trying to force Python to run on an iPad. instead, we built a custom app in Google Sheets.
You are now ready to build the engine.
Give that Google Sheets method a try on your laptop. It is usually the “aha!” moment where the complexity disappears, and it just feels like magic.
I am standing by if you hit any syntax errors or need to tweak the colors. Good luck, “Tech Wolf.”
We’re stuck at the building stage. We never got out the final output.
This is the “Silent Fail.” It means the engine tried to start, hit a snag (usually an error in the code execution), and stopped before it could finish writing the link back to the cell.
We need to see exactly why it stopped so we can fix it.
How to find the error (The “Black Box” Recorder)
1. Go back to the Apps Script tab (where you pasted the code).
2. On the far left sidebar, look for the icon that looks like three lines or a playlist (it’s called Executions).
3. Click it.
4. You will see a list of times the script ran.
• Look for the top one.
• Does it say “Failed” or “Timed Out”?
• Click on that row. It will expand and show a red error message.
Tell me what that red error message says.
(Common culprits: “Exception: Access denied,” “DNS Error” on the logo URL, or “Service invoked too many times”.)
Quick Fix while you look:
If you want to try one fast thing before debugging, it is almost always the Logo URL that causes a hang.
1. Go back to the Editor (the < > icon on the left).
2. Find this line (around line 63):
var logo = slide.insertImage(BRAND.LOGO_URL);
3. Add two slashes // in front of it to disable it for a second, like this:
// var logo = slide.insertImage(BRAND.LOGO_URL);
4. Save and try running the checkbox again. If it works, we know the logo link is the problem.
These are a few of the examplesof my interaction with Gemini. I used approximately 20,000 tokens to build this software. That was less than 1% of the context window.



