Apple's HEIC (High-Efficiency Image Container) is great for saving space, but not so great for compatibility. Many APIs and libraries are optimized for older, more universal formats like JPEG. The beauty of Python is its vast ecosystem of libraries that can solve almost any problem. This little script was the key that unlocked the entire project.Apple's HEIC (High-Efficiency Image Container) is great for saving space, but not so great for compatibility. Many APIs and libraries are optimized for older, more universal formats like JPEG. The beauty of Python is its vast ecosystem of libraries that can solve almost any problem. This little script was the key that unlocked the entire project.

From 50 Pages of Handwritten Notes to a Digital Manuscript with Python and AI

2025/10/27 12:51

We’ve all got them. The notebooks filled with scribbled ideas, the half-finished projects, the “someday” repositories gathering digital dust. For three years, my “someday” project was a 50-page, handwritten draft of a novel. It was a tangible thing, a stack of paper in a box, but the activation energy required to turn it into a working digital manuscript always seemed just out of reach.

Then, life threw a serious curveball a health scare that came with a flurry of heavy, clinical words. I won’t dwell on the details, but it became a powerful, personal forcing function. The concept of "someday" was suddenly replaced with the urgency of "right now." The project was no longer a hobby; it was a mission.

It was time to digitize. My plan was simple: take photos of each page with my iPhone and feed them into a modern AI with vision capabilities to transcribe the text. What could be easier?

The First Roadblock: Apple’s HEIC Problem

As any developer knows, the gap between a simple plan and a working execution is where the real work happens. I quickly took high-resolution photos of all 50 pages, but when I tried to upload them, I hit an immediate wall.

The native iOS camera format, HEIC (High-Efficiency Image Container), is great for saving space. It’s not so great for compatibility. Many APIs and libraries, including some of the most powerful vision models, are optimized for older, more universal formats like JPEG.

My seamless AI pipeline was blocked at the first step. Manually converting 50+ images was a non-starter. This wasn't a time for tedious tasks; this was a time for building. So, I did what any developer does when faced with a repetitive, boring problem: I wrote a script to fix it.

The Python Script That Unlocked Everything

The beauty of Python is its vast ecosystem of libraries that can solve almost any problem. In this case, Pillow (the friendly fork of PIL) and the pillow-heif library were the perfect tools for the job.

The goal was simple: point a script at a folder of .heic files and have it spit out high-quality JPEGs in another folder. This little script was the key that unlocked the entire project.

# A simple, effective script to batch convert HEIC files to JPEG from PIL import Image import pillow_heif import os # --- Configuration --- # The folder where my iPhone photos were stored image_folder_path = '/home/j/Desktop/book_notes' # The destination for the converted files converted_folder_path = '/home/j/Desktop/book_notes/converted' # --- End Configuration --- # Create the destination folder if it doesn't exist os.makedirs(converted_folder_path, exist_ok=True) print('start the process yo') try: # A clean one-liner to find all .heic files, case-insensitively get_the_files = [f for f in os.listdir(image_folder_path) if f.lower().endswith('.heic')] print(f"Found {len(get_the_files)} this many yo") for filename in get_the_files: print(f"Processing: {filename}") # Construct the full path to the source file _path = os.path.join(image_folder_path, filename) # Create the new JPEG filename jpeg_filename = os.path.splitext(filename)[0] + '.jpg' jpeg_path = os.path.join(converted_folder_path, jpeg_filename) print(f"Converting {filename} -> {jpeg_filename}...") # Read the HEIF file heif_file = pillow_heif.read_heif(_path) # Create a Pillow Image from the data image = Image.frombytes( heif_file.mode, heif_file.size, heif_file.data, 'raw', ) # Save the image as a JPEG with high quality image.save(jpeg_path, "JPEG", quality=95) except Exception as e: print(f"An error occurred: {e}") print('you be done yo!')

This script worked flawlessly. In a matter of seconds, my incompatible photo library became a clean, ordered set of JPEGs, ready for the AI.

The Real Surprise: AI as a Story Editor

With the conversion done, I batch-uploaded the JPEGs to a vision-enabled LLM. This is where the true magic of modern AI became apparent.

Here’s the thing: in my haste, I hadn’t uploaded the images in the correct order. Page 1 might have been followed by page 15, then page 3. I was expecting to get back a jumble of transcribed text that I would have to painstakingly reassemble.

What I got back was astonishing.

The AI didn't just perform Optical Character Recognition (OCR). It understood the context. It recognized page numbers, chapter headings, and the narrative flow of the text. It not only transcribed the handwriting with incredible accuracy but also re-ordered the disparate image inputs into a perfectly sequential document.

This is a monumental leap from the transcription tools of just a few years ago. We've moved from simple character recognition to contextual understanding. The AI wasn't just a typist; it was acting as a developmental editor.

From Raw Text to a Fine-Tuned Model: The Road Ahead

This initial transcription is the 80/20 solution. It gets me 80% of the way there with 20% of the effort. But it’s just the beginning. My forcing function has not only pushed me to start this project but to think about the entire pipeline from end to end.

Here’s my raw project plan from my notes—the real road map for turning this into a serious, long-term asset.

# PROJECT ROADMAP # 1. Convert Images (DONE) # - Python script handles the HEIC -> JPEG bottleneck. # 2. Load to Database # - Store the raw text and corrected versions for training. # 3. Run Basic LLM for 80/20 (DONE) # - Get the initial transcription. # 4. Make Corrections # - Manually review and correct the AI's output to create a "golden dataset." # 5. Load to Fine-Tune LLM # - Use the corrected text to fine-tune a model specifically on my handwriting and narrative style. # - Infrastructure thought: A Digital Ocean droplet or similar cloud VM with a 16-32GB GPU should be sufficient for this. Need to price this out. # 6. Train # - Run the fine-tuning process. Train multiple versions and compare results. # 7. Test # - Feed the fine-tuned model new handwritten pages and test its accuracy against the base model.

\n Conclusion

A personal crisis can be a powerful lens, clarifying what’s truly important. For me, it was the catalyst to finally stop thinking about a project and start building it. But the journey also revealed how incredibly advanced and accessible the tools at our disposal have become.

A simple Python script solved a frustrating compatibility issue. A modern LLM did more than just transcribe; it understood narrative structure. And the path forward to building a custom-trained model on my own data is no longer the exclusive domain of large tech companies. It's a tangible, achievable project for any developer with a clear goal.

You don't need to wait for a crisis to create your own forcing function. Find that project you've been putting off, identify the first technical hurdle, and write the script that gets you past it. The tools are here. The technology is ready. You just have to start.

Disclaimer: The articles reposted on this site are sourced from public platforms and are provided for informational purposes only. They do not necessarily reflect the views of MEXC. All rights remain with the original authors. If you believe any content infringes on third-party rights, please contact service@support.mexc.com for removal. MEXC makes no guarantees regarding the accuracy, completeness, or timeliness of the content and is not responsible for any actions taken based on the information provided. The content does not constitute financial, legal, or other professional advice, nor should it be considered a recommendation or endorsement by MEXC.
Share Insights

You May Also Like

Tom Lee verwacht recordstijging S&P 500 door perfecte storm van marktfactoren

Tom Lee verwacht recordstijging S&P 500 door perfecte storm van marktfactoren

De bekende beursstrateeg Tom Lee van onderzoeksbureau Fundstrat verwacht dat de Amerikaanse aandelenmarkt zich opmaakt voor een stevige eindsprint in 2025. Volgens hem creëren vier belangrijke factoren de perfecte omstandigheden voor een grote uitbraak van de S&P 500 nog vóór het einde van het jaar. Check onze Discord Connect met "like-minded" crypto enthousiastelingen Leer gratis de basis van Bitcoin & trading - stap voor stap, zonder voorkennis. Krijg duidelijke uitleg & charts van ervaren analisten. Sluit je aan bij een community die samen groeit. Nu naar Discord Komende 10 weken cruciaal In een interview met CNBC zegt Lee dat de komende tien weken cruciaal zijn. “We bevinden ons in de laatste fase van het jaar, op een moment dat niet alleen de winstcijfers sterk zijn, maar de Amerikaanse centrale bank ook op het punt staat om te versoepelen,” aldus Lee. “Daarbij komt nog dat de zorgen over een mogelijke overheidssluiting waarschijnlijk zullen afnemen en dat de markt recent al een flinke correctie heeft verwerkt.” Volgens de strateeg zorgt die combinatie van factoren voor een ideale voedingsbodem voor een zogenoemde year-end chase, een periode waarin beleggers massaal terug de markt in stappen uit angst om verdere stijgingen te missen. “Ik denk dat de S&P 500 tegen het einde van het jaar minstens op 7.000 punten kan sluiten. En eerlijk gezegd vind ik dat nog een voorzichtige inschatting,” zegt Lee. De S&P 500, de toonaangevende index van de grootste Amerikaanse beursbedrijven, staat momenteel rond de 6.800 punten. Een stijging naar 7.000 zou neerkomen op een winst van ongeveer 3 procent in slechts enkele weken tijd. Vier pijlers voor een beursrally Volgens Lee rust zijn optimisme op vier pijlers: sterke winstcijfers, een nieuw Fed-beleid, afnemende marktonrust en de doorbraak van kunstmatige intelligentie (AI) in het bedrijfsleven. Sterke winstcijfers: Tot nu toe hebben bijna negen op de tien bedrijven in de S&P 500 beter dan verwachte kwartaalresultaten gemeld. Dat sterkt beleggers in hun overtuiging dat de Amerikaanse economie veerkrachtiger is dan gedacht, ondanks hogere rentes en geopolitieke spanningen. Renteverlagingen in zicht: De Federal Reserve heeft de rente sinds 2022 fors verhoogd om de inflatie te bestrijden, maar signalen wijzen nu op een versoepeling van het beleid. Volgens Lee kan dat het sentiment op de markten een flinke impuls geven. Lagere rentes verlichten de druk op huishoudens en bedrijven en maken aandelen aantrekkelijker ten opzichte van obligaties. Minder marktonrust: Na een piek in de volatiliteitsindex VIX begin oktober is de spanning op de markten afgenomen. Lee wijst erop dat een deel van de hefboomposities al is afgebouwd, wat ruimte schept voor nieuwe instroom van kapitaal. De impact van kunstmatige intelligentie: Volgens Lee speelt ook AI een steeds belangrijkere rol in het bedrijfsleven. “De zichtbaarheid rond AI is toegenomen,” zegt hij. “Bedrijven beginnen echte opbrengsten te zien en stellen hun investeringsplannen voor 2026 bij. Dat zal de productiviteit en winstgroei verder aanjagen.” Welke crypto nu kopen?Lees onze uitgebreide gids en leer welke crypto nu kopen verstandig kan zijn! Welke crypto nu kopen? De rentes zijn officieel omlaag voor het eerst sinds 2024, heeft Fed-voorzitter Jerome Powell vorige week aangekondigd, en dus lijkt de markt klaar om te gaan stijgen. Eén vraag komt telkens terug: welke crypto moet je nu kopen? In dit artikel bespreken we de munten die in 2025 écht het verschil kunnen… Continue reading Tom Lee verwacht recordstijging S&P 500 door perfecte storm van marktfactoren document.addEventListener('DOMContentLoaded', function() { var screenWidth = window.innerWidth; var excerpts = document.querySelectorAll('.lees-ook-description'); excerpts.forEach(function(description) { var excerpt = description.getAttribute('data-description'); var wordLimit = screenWidth wordLimit) { var trimmedDescription = excerpt.split(' ').slice(0, wordLimit).join(' ') + '...'; description.textContent = trimmedDescription; } }); }); Optimisme, maar niet zonder risico’s Hoewel Lee bekendstaat om zijn optimistische kijk op de markt, erkennen veel analisten dat zijn scenario niet onrealistisch is. De combinatie van meevallende inflatie, sterke bedrijfsresultaten en technologische vooruitgang vormt een stevige basis voor een stijging. Toch blijft het risico bestaan dat geopolitieke spanningen, tegenvallende economische data of een terugslag in AI-aandelen het sentiment kunnen drukken. Toch blijft Lee positief. “De Amerikaanse economie blijft verbazingwekkend veerkrachtig, en de markt heeft de recente correctie goed verteerd. De ingrediënten voor een rally zijn aanwezig,” besluit hij. Als zijn voorspelling uitkomt, zou dat de S&P 500 op een nieuw recordniveau brengen en mogelijk ook een positief effect hebben op andere markten, waaronder goud, Bitcoin en wereldwijde aandelenindices. Best wallet - betrouwbare en anonieme wallet Best wallet - betrouwbare en anonieme wallet Meer dan 60 chains beschikbaar voor alle crypto Vroege toegang tot nieuwe projecten Hoge staking belongingen Lage transactiekosten Best wallet review Koop nu via Best Wallet Let op: cryptocurrency is een zeer volatiele en ongereguleerde investering. Doe je eigen onderzoek. Het bericht Tom Lee verwacht recordstijging S&P 500 door perfecte storm van marktfactoren is geschreven door Thom Derks en verscheen als eerst op Bitcoinmagazine.nl.
Share
2025/10/27 20:16