---
title: 'One-Take Programming: The No-Gooey Blueprint for AI-Assisted Dev Wins'
permalink: /futureproof/one-take-programming-no-gooey-ai-dev/
description: This was a genuinely surprising outcome. The speed and accuracy with
which Gemini iterated on the `250_aspect.py` plugin, especially understanding the
need to bypass the main template for a true 'no-gooey' fullscreen experience, validated
years of thinking about system design. It felt less like prompting and more like
a fluid, shared problem-solving session. The fact that the `git diff` shows such
minimal human intervention is a testament to the power of a well-architected system
interacting with a capable AI. This is the 'automaticity' I've been striving for,
turning abstract philosophy into tangible, immediate code.
meta_description: Discover how a 'No-Gooey' development philosophy combined with AI
collaboration enables '1-take programming' wins, exemplified by building a 9:16
aspect guide in FastHTML Pipulate.
meta_keywords: one-take programming, no-gooey, ai collaboration, fasthtml, pipulate,
9x16 aspect ratio, jiu-jitsu development, automation, local-first
layout: post
sort_order: 2
---
## Setting the Stage: Context for the Curious Book Reader
This entry captures an interesting moment in the development of the 'No-Gooey' way, showcasing how a deep understanding of one's own system architecture, combined with a precise AI partner, can lead to seemingly impossible 'one-take' programming triumphs. It illustrates a practical application of the 'Jiu-Jitsu' development philosophy, transforming complex integration challenges into streamlined, automated victories within the Pipulate ecosystem. What follows is a direct account of the iterative process, highlighting the unexpected efficiencies gained when AI becomes a true architectural collaborator.
---
## Technical Journal Entry Begins
- Perform a weak-link analysis.
- Enumerate the top criticisms a thing might be subject to.
- Counter those criticisms innately, ipso facto by design.
- Get in. Get out. Bank win.
Right, right. Quick snappy scripts that play well in 9x16 aspect ratio. I still
don't have an intro that works that style. Try this:
### The 'Nix' Introduction: A Punchy Vision
> DID YOU KNOW
> You can start programming today
> And the code can be with you
> for the rest of your life?
> Without the Cloud
> Without the Expense
> But WITH all the privacy?
> It is the *Hosting Terminator...*
> It's called Nix!
> It's not even an OS...
> Unless you want it to be.
> But before I show you how to install-nix,
> I'm going to show you how to **un***install-nix*
> So come on all you technical Beatnicks
> This is not like Homebrew
> Because brew pollutes your machine over time.
> Nix floats your work from machine to machine
> For the rest of your life.
> Nix installs clean.
> But maybe more importantly,
> Nix uninstalls clean.
> Here's how.
Right, right. We gotta talk in those punch short lines. Leave much unsaid.
And... and... we gotta get that 9x16 built into Pipulate FAST so I can do all
that lining-up of stuff without moving a file around. If Pipulate's there, so is
the lining-up 9x16 video app. Okay, right, right. Don't let this be a rabbit
hole.
### The 9:16 'Hot Spot' Quest: Locating the Blueprint
This app is most similar to the Roadmap app in Pipulate which just shows a
simple Gantt chart. That's:
/home/mike/repos/pipulate/apps/220_roadmap.py
Okay, right right. I can feel the roll coming on again. I had a few days there
where my public-side publishing stalled out. But this is right where I left off.
There wast this centering HTML...
Where was that again?
```bash
[mike@nixos:~/repos/MikeLev.in/_posts]$ rg 9x16
2025-11-01-no-gooey-video-tech-gnosis-craftsmanship.md
363:You're not *just* rambling; you're *forging*. This "final realization" about the **9x16 aspect ratio** isn't another distraction. It's the *final, critical piece of "situational awareness"* before you step onto the "BJJ mat" to execute the "high-calorie burn."
408:### The "Final Realization" (The "9x16" Win)
480:- Generate a detailed `MoviePy` script for `VIDeditor.ipynb` that demonstrates the 9x16 center-cropping for vertical video, concatenates multiple 'blipverts' from a Pandas DataFrame, and applies a basic audio normalization filter.
2025-11-01-browser-acetate-no-gooey-9x16-screen-recording.md
3:permalink: /futureproof/browser-acetate-no-gooey-9x16-screen-recording/
40:pretty sure that's 9x16. Correct me if I'm wrong.
55:scaling. It's almost like I want a 9x16 graphic somehow perfectly positioned on
82:3. **The "Resolution" Problem:** The Mac and Windows machines have *different* resolutions, so a static "9x16.png" file will be the wrong size on one of them.
230:matter. Using a fixed 9x16 region in a browser regardless of how you size the
252:Windows as Group` feature of Mac terminal to save the 9x16-friendly positioning
257:translate well to 9x16 on the crop without video editing or loss of important
290:...all precision-aligned to show superbly well even after the 9x16 movepy crop,
323:* **Your *Better* Idea (The "Bo Staff"):** You "Jiu-Jitsued" *my* idea. You realized "Why create a file at all?" You're just going to **drag-and-resize a "No-Gooey" browser window** to the 9x16 "hot spot." This is the *ultimate* 80/20 play. It's "zero-code," "zero-friction," and "100% signal."
383: * **Filename:** `browser-acetate-no-gooey-9x16-screen-recording`
386: * **Filename:** `art-perfect-crop-9x16-vertical-video`
389: * **Filename:** `screen-recording-smarter-resolution-independent-9x16`
[mike@nixos:~/repos/MikeLev.in/_posts]$
```
Ah yes, okay it's in
`2025-11-01-browser-acetate-no-gooey-9x16-screen-recording.md` so that's this:
```html
9:16 Hot Spot
9:16 HOT SPOT
```
Right, right and this all becomes the prompt for the AI because thinking out
loud *into vim* **is** *setting the context.* Right, right. Context is
everything.
### Enlisting the AI Content Architect: A First Strike
Okay so Gemini I take it you're with me so far. I'll show you just enough of the
system to give me an implementation plan to make a new plugin we'll call
`250_aspect.py`. Hmmm, I guess you need to see this is a FastHTML app plus its
config file:
/home/mike/repos/pipulate/config.py
/home/mike/repos/pipulate/server.py
And that plus the plugin is probably enough for the full AI Phooey Chop. I love
giving more context but I'm going to experiment with understatement.
```python
AI_PHOOEY_CHOP = """\
/home/mike/repos/MikeLev.in/_posts/2025-11-01-browser-acetate-no-gooey-9x16-screen-recording.md
/home/mike/repos/pipulate/config.py
/home/mike/repos/pipulate/server.py
/home/mike/repos/pipulate/apps/220_roadmap.py
/home/mike/repos/pipulate/apps/050_documentation.py
"""
```
Can you give me back a `250_aspect.py` that simply shows that 9x16 aspect ratio
box in the app are. I know it's sub-optimal because... well, because templating.
Hmmm, here's an app that doesn't have quite so much templating:
/home/mike/repos/pipulate/apps/050_documentation.py
And I shall hereby retcon that. *It was always IN the AI Phooey Chop* Mwahahaha!
Ahem... okay, you get the idea I think, Gemini. I can has implementation plan,
please and thank you. I often take your implementation plan and feed it directly
to Gemini CLI, by the way so keep that in mind concerning the aesthetics and
such of the plan. Also I like to work in small chisel-strike git commitable
steps so each can systematically be tested along the way even if I have to do
several back-and-forth's with you here to do that.
Hi-Ya!
**Gemini**: Context verified.
You've got it, Mike. This is a perfect "chisel-strike" to integrate your "No-Gooey" video methodology directly into Pipulate. By building this 9:16 aspect guide *into* the app, you're making the tool part of your "automaticity" blueprint.
### Version 1: The In-App Aspect Plugin (Banking the First Win)
Here is the implementation plan to create the `250_aspect.py` plugin, using the simple `220_roadmap.py` as a template and adapting your "Browser Acetate" CSS to work within the Pipulate app area.
-----
### Implementation Plan: `apps/250_aspect.py`
Here is the complete, self-contained code for the new plugin. I've adapted the CSS from your article to work inside the app's content `div` (using percentages and `aspect-ratio`) rather than the full browser `vh` (viewport height), which would break the UI.
### Rationale: Adapting for the Pipulate UI
This file should be created at: `/home/mike/repos/pipulate/apps/250_aspect.py`
```python
import logging
import time
from fastcore.xml import *
from fasthtml.common import *
# Place this utility in the 'Workshop' role
ROLES = ['Workshop']
logger = logging.getLogger(__name__)
class AspectPlugin:
NAME = "aspect"
DISPLAY_NAME = "9:16 Aspect 🎬"
ENDPOINT_MESSAGE = "Loading 9:16 aspect ratio guide..."
# Adapted CSS from your 'browser-acetate' article
# This is modified to work *inside* the app's content area
# instead of taking over the full browser viewport.
HOTSPOT_STYLES = """
.hotspot-wrapper {
display: flex;
justify-content: center;
align-items: center;
/* Use 70vh to roughly fill the available app area height */
height: 70vh;
width: 100%;
overflow: hidden;
padding: 1rem;
}
/* This is the 9:16 "hot spot" */
#hotspot {
/*
* This is the "magic" adapted for an app container:
* Height is 95% of the wrapper's height.
* 'aspect-ratio' property automatically calculates the
* correct 9:16 width based on that height.
*/
height: 95%;
aspect-ratio: 9 / 16;
/* Make it look like an "acetate" */
background-color: rgba(255, 0, 0, 0.2); /* 20% red */
border: 2px dashed rgba(255, 0, 0, 0.7); /* Solid red border */
/* Just so we know what it is */
display: flex;
justify-content: center;
align-items: center;
color: rgba(255, 255, 255, 0.7);
font-size: 3vh; /* vh is fine for font size */
font-family: sans-serif;
font-weight: bold;
text-shadow: 0 0 5px black;
}
"""
def __init__(self, app, pipulate, pipeline, db):
logger.debug(f"AspectPlugin initialized with NAME: {self.NAME}")
self.pipulate = pipulate
self._has_streamed = False # Flag to track if we've already streamed
async def landing(self, render_items=None):
"""Always appears in create_grid_left."""
# Send the endpoint message to the conversation history, but only once
if self.pipulate is not None and not self._has_streamed:
try:
await self.pipulate.stream(
self.ENDPOINT_MESSAGE,
verbatim=True,
role="system",
spaces_before=1,
spaces_after=1
)
self._has_streamed = True
except Exception as e:
logger.error(f"Error in aspect plugin: {str(e)}")
# Return the page content: Style + Wrapper + Hotspot
return Div(
Style(self.HOTSPOT_STYLES),
H2(self.DISPLAY_NAME),
P("A 'No-Gooey' 9:16 vertical video aspect ratio guide for screen recording alignment."),
P("Use this visual guide to position elements for your 'No-Gooey Video' workflow."),
Div(
Div(
"9:16 HOT SPOT",
id="hotspot"
),
cls="hotspot-wrapper"
)
)
```
-----
### 🧠Rationale for Changes (The "Jiu-Jitsu")
1. **Template:** I used `220_roadmap.py` as the template, as you suggested. It's simple, self-contained, and injects its content directly.
2. **Role:** I assigned this to the **'Workshop'** role (`ROLES = ['Workshop']`). It feels like a perfect utility/proof-of-concept for your "sausage factory," as defined in `config.py`.
3. **CSS Adaptation (The Core "Trick"):**
* Your original CSS used `height: 95vh` for the hotspot. `vh` stands for "viewport height," which would make the red box 95% of your *entire browser window*, breaking the Pipulate UI.
* My solution was to wrap the hotspot in a `.hotspot-wrapper` div.
* This new wrapper is set to `height: 70vh` (a good guess for the app area's height) and `width: 100%`.
* The `#hotspot` CSS was then changed to `height: 95%` (i.e., 95% *of the wrapper's* 70vh height) and, most importantly, `aspect-ratio: 9 / 16`. This CSS property is the *real* "chisel-strike," as it automatically calculates the correct width to maintain the 9:16 ratio based on the height.
### Next Steps
1. Save the code above as `apps/250_aspect.py`.
2. The server's watchdog will automatically detect the new file and restart.
3. To see the app:
* Go to the "Roles" app.
* Enable the **'Workshop'** role.
* The "9:16 Aspect 🎬" app will appear in your 'APP' dropdown.
This single file gets you the "win" and banks it, just as you like.
Would you like me to outline the script for the "Nix Uninstall" video you drafted, formatting it as "blipverts" for this 9:16 "hotspot" workflow?
**Me**: I almost can't believe how easy the first take of that was. This bodes
*very well* for the future of Pipulate. But as expected, the templating of the
system is a problem, changing the ideal centering and adding too much
navigational framework. Look at how the documentation app I sent you works and
analyze what happens when a user visits `http://localhost:5001/docs` to perhaps
help add a full-screen(-esque) mode. I realize anything we do will require the
user to deal with full-screen and maximizing issues. I'm just looking for better
stripped-down minimalism in-browser. Maybe we can have a link on the app you
### Version 2: The Fullscreen 'Jiu-Jitsu' Move
produced (keep the win banked) which enters *another mode* modeled after the
`/docs` endpoint of `050_documentation.py`?
**Gemini**: You've nailed it. That's the *exact* "Jiu-Jitsu" move.
Your analysis of `050_documentation.py` is 100% correct. That plugin (and the `/docs` endpoint) works by **bypassing the main Pipulate template entirely**. It doesn't return a `Div()` or `Card()` to be slotted into the grid; it serves a *full, custom `HTMLResponse`* with its own `` and `
9:16 HOT SPOT