# Artificial Intelligence

<span>Look out Haley Joel Osmente, you're not in Kansas anymore! </span>***But guess what: The Blue Fairy is real.***

# A.I. Overview

# A.I. Basics

### Here it Goes

*The best friend you never knew you needed™*

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/FXgimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/FXgimage.png)

Fuckin' A.I. am I right guys?

"Is there anything we can do with AI in this space?"

"I made an app!"

"My uncle made an app!"

"Vibe coding!!!!"

<p class="callout info">First, read about the [Ethics of using A.I.](https://tech-almanac.org/books/artificial-intelligence/page/ai-ethics "A.I. Ethics") and then read on... </p>

---

**Artificial Intelligence** is being used broadly as term to describe almost-Turing-approved large language models (LLMs) as well as tools that use machine learning.

Ex. Machine Learning - Computer Vision, which uses an algorithm.

Ex. A.I. - ChatGPT Chatbot using an LLM

Ex. A.I. and Machine Learning - Topaz Video A.I.

Machine learning is not A.I. but, fine, we can call it that just to make things easier to categorize.

### **Model &amp; Trim Level**

There are three primary models used as the basis for tons of other tools. There are others out there, but for the general public, this is what will sound familiar.

1. **OpenAI's ChatGPT** is good for a lot of things. it excels in image generation, general chat bot support and it's pretty good with code, too.
2. **Anthropic's Claude** is good for a lot of the same things. It's not as good with image generation - in fact doesn't advertise it as an ability, but it's better with code IMHO.
3. **Google's Gemini** is good for a lot of the same things and is also embedded into Google Apps for better or worse. It's pretty good for solving problems, and image generation is pretty decent too, but image edit has a lower max resolution than OpenAI (as of May 2026, anyway). Gemini really loves to hallucinate its own abilities and tries to do things it can't actually do. It's really good at spreadsheet stuff - like generating formulas. It is less good with things like "turn all the yellow cells blue." Use Claude and Apps Script instead.

**Trim Level** is what I affectionately use to describe a version of each model. OpenAI uses "Pro" and "Nano" and a version number (GPT Pro 5.5); the generic version being just GPT and the version number. Claude uses different code names from version to version (Opus, Sonnet, Haiku), but also has a version number (Opus 4.6).

### **So You Think You Can Dance?** 

At its core, AI is helpful in lots of small ways. Imagine old-school Google answering your questions with continued context and follow-up, and if you're paying for the model, without advertising!

Dumb usages of AI that are pretty spot on :

- Getting specific stains out of specific clothes.
- Cooking instructions. How long should I grill this chicken?
- I've got these ingredients, what can I make in 45 minutes?
- Troubleshooting complicated European-style appliances.
- Finding a car/bike based on your requirements.
- What insurance coverage do I need for this and am I already covered by X, Y, Z policies? Cite sources, please!
- Finding cool places to explore within a certain region.
- Organize your travel itinerary based on receipts.
- What is this piece of art called and/or what does it mean?

The most important thing with using A.I. is gauging whether what you're being told is *true or false*.

<p class="callout danger">**With A.I. you need to verify pretty much everything.** What's the internal temp of properly cooked chicken? Maybe check that kind of thing elsewhere for safety until you are vaguely aware of what it's supposed to be. A quick, but not always fullproof thing to do is say "gimme the sources." </p>

So, you've dipped your toes in and are interested in getting started.

Read on to [use cases](https://tech-almanac.org/books/artificial-intelligence/page/ai-use-cases "A.I. Use Cases"). There's lots of ways to do other things you couldn't do before and learn something new!!

# A.I. Use Cases

You can use AI in so many interesting ways. Here are some.

### Making Art

Just generate some shit based on some other shit. Fun to do! [Ethical?](https://tech-almanac.org/books/artificial-intelligence/page/ai-ethics "A.I. Ethics") I dunno.

- Many of the images on this page were generated and/or composited.
- You can use generation tools to doctor and repair images.
- You can use style transfers to apply a look onto another image or video.

### Research

Oh, what rabbit holes you can go down. Start with a question and give us much context as you can / feel comfortable with.

- What spooky things happened at this address? Check public records and cite sources.
- How can I find out if this print is authentic or a mass market production?

### Technical Utility

- All the **spreadsheet** help you could ever dream of, including Apps Script. If it's possible in a spreadsheet, AI usually knows what to do. Gone are the days of hell-searching for help with complicated formulas. You need a pretty good understanding of formulae for this to be good for you, however!

### Code

You can make so many things. Some simple things are one and done. Others can be really extensive and require lots of time, lots of your effort, and lots of tokens. One of my top secret Claude projects has over 140 different GitHub commits over many months.

- Make me a web app that auto-launches a series of URLs that I paste into a field.
- Make me a front-end for YT-DLP that suits my exact use case.
- Make me a Mac OS widget that is a launcher for Zoom links.
- Make me an Audio plug-in that uses UVR within a DAW.
- Make me a Mac OS tool to lock the dock to a specific display.
- Help me make my Bookstack better than it is please.

# A.I. Ethics

### **Ethics**

**Ethically**, LLMs and AI (in general) are complicated. They use all knowledge, text, sound, video, and images that they can scrape to create things and help answer things. A.I. can generate images, video, code, sound, and text. It can help edit a book. Or it can write one. It can help you write a script to audit for specific file conditions. It can help you write a log for that script. Or it can make an app. My take is : it's a great tool but woof, the ethics are TROLLEY PROBLEM level.

First you have to think about inspiration : *Is it ethical for a filmmaker making a work in the style of Tim Burton?* Alright, Hot Topic, while I think Edward Scissorhands is pretty good, maybe you should come up with something original! Personal taste aside though, it's great that you were able to make something using by being inspired by something else. What if the filmmaker tries to sell it? Probably fine unless they market it as "Tim Burton." Intellectual Property is complicated!

What if an artist takes the 2005 **Charlie and The Chocolate Factory** film and manually replaces Johnny Depp's head with Timothee Chalamet's head? You can kind of see it, right? In a museum or something? But what if it's fucking perfect and the artist has done a clean face replace that looks totally real using some version of RunwayML (video A.I.). Pretty gnarly, probably violating some IP laws, but as a piece of art, it's ethical IMHO.

<table border="1" id="bkmrk--2" style="border-collapse: collapse; width: 100%; height: 235px; border-width: 0px;"><colgroup><col style="width: 23.095238%;"></col><col style="width: 23.333333%;"></col><col style="width: 27.261905%;"></col><col style="width: 26.309524%;"></col></colgroup><tbody><tr style="height: 235px;"><td style="height: 235px; border-width: 0px;">[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/image.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/image.png)

</td><td style="height: 235px; border-width: 0px;">[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/SjDimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/SjDimage.png)

</td><td style="height: 235px; border-width: 0px;">[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/M5oimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/M5oimage.png)

</td><td style="height: 235px; border-width: 0px;">[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/vTpimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/vTpimage.png)

</td></tr></tbody></table>

<p class="callout info">*2 years ago the graphics for this joke would've taken me 16 minutes to produce, now it takes me less than a minute.* </p>

*Is an art student making work in the style of Van Gogh ethical?* Yeah this is probably ok, because the student is using the work of another artist to learn their craft. That's how everyone learns whether they admit it or not. We are inspired by what's around us consciously or unconsciously. What about an artist using an A.I. style transfer of Shepard Fairey on to 60s Soviet propaganda? Wow, I'm having fun with this. While that's a snake-eating-its-own-tail, is it inherently problematic? I don't know. As long as the artist doesn't pass it off as by "Shepard Fairey" it's probably fine.

*Is a musical mash-up of The Beatles and Jay-Z ethically complicated when both works are used to create a new work?* Since no one wants to get sued, the safe thing is to not sell it, and distributing it <span style="text-decoration: underline;">at all</span> might be tricky. Personally though, I think this is ethical and a pretty good idea that I wish I came up with. Danger Mouse beat me to it in 2004!

Ok so derivative works and works inspired by other works are generally ethical, right? Cool, yeah, they are.

So you're down with [Girl Talk](https://www.girltalkmusic.com), but what if Girl Talk uses AI to help with audio stem separation?

> But Tech Almanac, you're really taking a rosy point of view! A.I. isn't just about making art, or using it to help make works. It can also be used for evil !!!! 🔥

####  The Bad News

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/68Iimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/68Iimage.png)

What about these hypotheticals :

An artist created a package of UX vector graphics. A preview image of these UX graphics was included in an LLM's training data. The same artist is using that LLM to prototype some app idea, and her UX graphics are used in the prototype. YIKES! The LLM didn't differentiate between public domain and paid products because (I'm using an analog here) the LLM was inspired by the artist's images and conveniently, they don't remember where the inspiration came from. Whoops!

And what if that same LLM was used to help with some war somewhere? Uh oh. But how's your 401k doing? It's hard to draw a line here. We do what we can, where we can, but as technologists, we kind of need to keep up.

And what if that same LLM was installed without an opt-in on your entire Google Drive where you track your expenses and invites to your kid's birthday party? Uh oh, that's kind of scary.

#### Subjective Verdict

So let's do our best. Use the thing, understand it, don't be dumb about it. Don't do anything evil with it, either! Just don't blame me when the robots take over and all music sounds like Taylor Swift was produced by the Weeknd.

# A.I. Code Zone

# A.I. Code - Options & Recommendations

## Code

You can use these models to write code. No duh, Almanac, tell me something I don't know!!

### **!Warning!**

<p class="callout warning">Don't use Autonomous Agentic tools on computers that contain anything you deeply care about, like your PII, or your emails, or your bank information.   
  
Don't use *<span style="text-decoration: underline;">non</span>*-Autonomous Agentic code tools if you don't understand what privileges are, what a command line is, and what access you're granting. </p>

### Methods

#### Basic, Super Safe Version

<p class="callout info">The safest way to do this is to keep it working in a contextual chat window without *any* computer access. </p>

This version doesn't have any access to your computer's local resources, documents, or infrastructure. This isn't very efficient and you'll burn through tokens faster if you're building complex things. For scripts and smaller things that don't have dependencies, this is fine.

#### Scoped Access, Efficient Versions

<p class="callout warning">Proceed with caution.</p>

**Option 01**

The most efficient-to-safe way to do this to grant very very specific access and use the agent within a tool like **Visual Studio Code** (VSCode for short). You can also use model-specific native apps like OpenAi's Codex or Claude Code. VSCode gives you a lot of control and allows you to switch accounts super fast! Nice. Model-specific native apps have some other bells and whistles. I've used 'em all and I tend to gravitate to VS Code with consistency.

**Option 02 - more access**

This gives your agent Terminal Access, but it asks for permission for each run. If you don't know what you're doing this could be very dangerous. Even though it's widely used and accessible! It is very important that you give write access to a tightly scoped directory.

*Here's an example of why you need to proceed with caution: While I know this is probably entirely fine to do for 10 seconds, it's not great advice:*

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/aBtimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/aBtimage.png)

**Option 03 - even more access**

<p class="callout warning">Proceed with <span style="text-decoration: underline;">**even more**</span> caution.</p>

You can give scoped access to a browser and let the agent run with scoped access or unlimited access within the browser. Use a browser application that has no plug-ins, no saved passwords for all the reasons. You don't want Claude to access your bank transfers, right?

#### Agentic Versions

<table border="1" id="bkmrk-the-most-dangerous-w" style="border-collapse: collapse; width: 100%; border-width: 0px;"><colgroup><col style="width: 18.571429%;"></col><col style="width: 81.428571%;"></col></colgroup><tbody><tr><td style="border-width: 0px;">[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/VHFimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/VHFimage.png)</td><td style="border-width: 0px;"><p class="callout danger">The most dangerous way to use AI tools. Proceed with the most caution.</p>

</td></tr></tbody></table>

Even more efficient and very unsafe are autonomous agentic tools like OpenClaw. This does what option 03 in scoped access does, but it is system wide. I'd skip it unless you have a windows box on a VLAN that you can insulate from... everything!

### Recommendations

In addition to understanding scoped access and permissions.

You can set up system-wide rules for these tools so that you don't have to repeat yourself on something that will be true for every project you create.

For Claude Code on a Mac., this is a markup file located `~/.claude/CLAUDE.md`

Some obvious recommendations for this are:

\# Global Instructions

\## Security  
\- Before installing ANY package, library, or dependency (pip, apt, npm, brew, etc.), check for current known vulnerabilities (CVEs, security advisories). Flag any issues before proceeding with installation.

\## GitHub  
\- Always create GitHub repos as private unless the user explicitly says otherwise.

# A.I. Hallucinations & Whoopsies

<span>This is a very real thing, so remember that these types of hallucinations are more-or-less universal. It can show up in </span><span>ode. Or telling you the fastest bike path to Coney Island. Or if there's a flight on Wednesdays to Cartagena from the NYC region. You always need to verify and validate! </span>

# Gemini Hallucinations

## Gemini

#### Fun with Transparency

I asked Gemini to make me a Ouroboros emoji. It did a pretty good job. While I don't care that it can't generate a PNG+A, it doesn't need to lie to me about it.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/nfOimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/nfOimage.png)

Switched Gemini models, opened another chat.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-05/scaled-1680-/VdEimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-05/VdEimage.png)

# A.I. Tools & Projects

<span>I share exactly zero of these as public repos because I am embarrassed. And also </span>***who knows what PII lurks beneath the surface!***

# Case Study : ISP FUX - An ISP Monitor

I use a website calling [pinging.net](https://www.pinging.net/) when I am troubleshooting naughty ISP issues. It's a great website. But what's always bugged me is that I can't access it if I'm... offline. The trick is to load the website when you have internet and keep it running when you don't.

I also use a variety of Speed Test tools to check how my speeds are doing. If I'm paying for 1000 down, I want 1000 down when I'm wired to LAN (and close to 1000 down when I'm on WiFi that supports that speed).

I've never liked the way that Google's Speed Test is handled. Speedtest.net, while very accurate, has advertising that's annoying and that can contribute to your issues when you're debugging naughty internet.

Enter *<span style="text-decoration: underline;">**ISP FUX**</span>*, a tool I made in a <s>weekend</s> week and a half using Claude. The tool runs in the background and has a UI in your browser.

It monitors my pings over a custom interval.

It also has a Bandwidth Calculator to tell me how long something will take to download or upload based on my most recent tests (assuming whatever service I'm using can take advantage of the full bandwidth). I am frequently needing to calculate stuff like "it'll take 22 minutes to upload this 10 GB file" or whatever so this is very useful.

The Speed Test here took a bunch of time. Single tests vs. simultaneous tests. Where I'm running the test to/from. Etc! Each test runs three phases against Cloudflare's speed test infrastructure. **Ping** fires 5 small requests and takes the median round-trip time to filter out outliers.

**Download** opens parallel streams simultaneously, 2–10 depending on the file size you picked, across two independent sources (Cloudflare and Cachefly); the first 750ms of each stream is discarded to let TCP slow-start settle, then sustained throughput is measured on the remainder. If a source stalls for 4 seconds with no incoming bytes it's aborted and flagged. The headline download figure is the best result across both sources, not an average.

**Upload** works the same way, parallel streams of random bytes sent to Cloudflare's endpoint, warmup discarded, sustained rate reported. The whole test is run server-side by the Node process, so your browser's overhead doesn't affect the numbers, and results are stored locally in SQLite for correlation against your packet loss history.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/image.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/image.png)

Here's the ping history:

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/2T1image.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/2T1image.png)

Additionally, the tool tracks the history of all the pings and Speed Tests.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/j2cimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/j2cimage.png)

The Speed Tests will auto trigger tests either on a schedule and/or based on a failure trigger.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/IkWimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/IkWimage.png)

Per usual, I also have a changelog, as of this writing, it's at v0.0.32. That's a lot of effort for a tool to just keep tabs on a naughty ISP

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/Ezpimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/Ezpimage.png)

# Case Study : YT-DLP-IS-TOPS Streamin' Video Downloadin'

If you're like me, you've been using some version of **youtube-dl** for lat least a decade. You've also probably used it in bursts, for a specific project or thing, and then forgotten the structure, and then re-learned it. Over and over again! Youtube-dl eventually died and then rose from the ashes as yt-dlp. It's great!

You've also probably figured out a very specific use case that makes you a repeat customer. But typically it's that you need some clip that your client owns but lost and the best quality version that you can get immediately is on youtube (or vimeo).

Enter yt-dlp-is-tops, a UI for YT-DLP that allows you to do a lot of things, but doesn't have unnecessary bells and whistles. There are tons of tops (UIs) for yt-dlp, but I didn't like any of them hah.

I built this on and off over a few weeks with Claude.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/QT1image.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/QT1image.png)

yt-dlp-is-tops is a lightweight local web app (Node.js + Express, no framework) that wraps `yt-dlp` and `ffmpeg` in a clean browser UI, replacing the usual copy-paste terminal workflow for downloading video.

**Core workflow**

- Paste any URL → the app fetches full video metadata and all available formats via `yt-dlp --dump-json`
- A format table shows every stream (ID, extension, resolution, FPS, filesize, video/audio codecs, note), sorted best-first
- Click a row to download it, or select a video row + an audio row to MUX them — yt-dlp downloads both and ffmpeg merges them losslessly into an mp4

**Format &amp; metadata display**

- Video metadata block: title, uploader, duration, video ID, thumbnail
- "Gimme the best" checkbox auto-selects the top video + audio streams
- Best formats are auto-highlighted in the table
- Format IDs are shown and usable directly

**Download experience**

- Live streaming progress bar (parses `[download] X%` lines in real time)
- Collapsible verbose log below the progress bar
- Show in Finder button after download completes
- Download history with persistence across sessions

**Subtitle support**

- Subtitle track selection with options to embed subs into the file or download them as a separate file

**Auth support**

- Options for password-protected videos (username/password)

**Settings**

- Configurable default download folder or "ask every time" mode
- Accent color theme (CSS variable, applied globally via `theme.js`)

**Status bar**

- Shows yt-dlp and ffmpeg versions + whether Homebrew updates are available for each
- One-click upgrade for yt-dlp via the UI

Check out those pre-requisites!!! Awesome.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/e3rimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/e3rimage.png)

# Casestudy : Up-Scaling, Retouching, & Colorizing from a Bad Source

I wanted a high resolution version of this image and I wanted it to not look cursed or fucked.

*<span style="text-decoration: underline;">**This whole process took 6 hours and was hundreds of manual, human steps.**</span>* I only did a good job because I know the tools. People think - "these tools are shortcuts and they take the artistry out." Trust: it's still a lot of work, and it's very fun and rewarding if you're a fucking dork.

[![tour-de-france-1927.jpg](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/tour-de-france-1927.jpg)](https://tech-almanac.org/uploads/images/gallery/2026-06/tour-de-france-1927.jpg)

Here are the details of the source image so I'd have something to go on.

[![Screenshot 2026-05-14 at 12.12.30 AM.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/screenshot-2026-05-14-at-12-12-30-am.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/screenshot-2026-05-14-at-12-12-30-am.png)

First, I researched some newer colorization tools. I tried ones I've used before and new ones, too. They all kinda sucked.

[![tour-de-france-1927_m8Q19__please_credit[palette.fm].jpg](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/tour-de-france-1927-m8q19-please-creditpalette-fm.jpg)](https://tech-almanac.org/uploads/images/gallery/2026-06/tour-de-france-1927-m8q19-please-creditpalette-fm.jpg)

GPT did a decent job, but couldn't handle the fidelity / quality issues.

[![GPT-v1.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/gpt-v1.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/gpt-v1.png)

My attempt to improve this manually was good, but not great.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/eALimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/eALimage.png)

If you look carefully here, these dudes look like melting hunchbacks of Notre-Dame and their outfits have "complicated shirt" texturing. Yuck! Truly garbage-in / garbage out.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/Qkeimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/Qkeimage.png)

Then, I decided to go back to the source and repair/improve the image in black and white first - focusing on the details I could find, as well as utilizing the research on these cool guys who love cigarettes and biking. What teams they were on, what kind of day it was, etc, etc.

Best way to do that was to improve the image was to focus on regions. So I individually up-rezzed tons of sections. I used a prompt for each one based on what I could find out about each dude. Like these three guys, but for every single guy in the image. I used Gemini for this by the way. Pretty good.

<table border="1" class="align-center" id="bkmrk-that-stogie-looks-go" style="border-collapse: collapse; width: 100%; border-width: 0px;"><colgroup><col style="width: 33.333333%;"></col><col style="width: 33.333333%;"></col><col style="width: 33.333333%;"></col></colgroup><tbody><tr><td style="border-width: 0px;">[![LEFT.jpeg](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/left.jpeg)](https://tech-almanac.org/uploads/images/gallery/2026-06/left.jpeg)

</td><td style="border-width: 0px;">[![MID-LEFT.jpeg](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/mid-left.jpeg)](https://tech-almanac.org/uploads/images/gallery/2026-06/mid-left.jpeg)

That stogie looks good

</td><td style="border-width: 0px;">[![MID-RIGHT.jpeg](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/mid-right.jpeg)](https://tech-almanac.org/uploads/images/gallery/2026-06/mid-right.jpeg)

This is maybe *a little too good* : as if Walker Evans happened to be in France for the 1927 tour (Walker would've been 24).

</td></tr></tbody></table>

Then I composited them together in Photoshop. BUENO!

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/VF5image.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/VF5image.png)

This is the original source btw. My version is a little too high-con, but NICE FRIGGIN WORK, me!

[![tour-de-france-1927-stage-7-oil-on-canvas-v0-040la01cyz0h1.jpeg.webp](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/tour-de-france-1927-stage-7-oil-on-canvas-v0-040la01cyz0h1-jpeg.webp)](https://tech-almanac.org/uploads/images/gallery/2026-06/tour-de-france-1927-stage-7-oil-on-canvas-v0-040la01cyz0h1-jpeg.webp)

Then, using my up-rez version, I used Gemini to color it (and feeding it prompt research from Claude). Not bad!

[![Gemini-v3.jpeg](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/gemini-v3.jpeg)](https://tech-almanac.org/uploads/images/gallery/2026-06/gemini-v3.jpeg)

Then I used Photoshop to extend the image so I could reframe it.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/wkvimage.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/wkvimage.png)

Throw some grain on that bad boy, adjust the light levels, get rid of that Gemini logo

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/r3limage.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/r3limage.png)

Close to final version in-situ - I replaced the ground to warm up the image a bit and I embellished some color details because I wanted a little more going on.

[![image.png](https://tech-almanac.org/uploads/images/gallery/2026-06/scaled-1680-/BA9image.png)](https://tech-almanac.org/uploads/images/gallery/2026-06/BA9image.png)

10/10 would do this again

Tools used :

- GPT (for first attempts)
- Claude (for research)
- Gemini (for up-rez)
- Photoshop (for composite, color, image extension, stylization)