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.

You May Also Like

Superstate Launches SEC‑Approved Tokenized Share Issuance on Ethereum and Solana

Superstate Launches SEC‑Approved Tokenized Share Issuance on Ethereum and Solana

Superstate introduced a new pathway that brings public equity issuance onto blockchain networks through a regulated structure. The firm now enables SEC-registered companies to sell new tokenized shares directly to investors on Ethereum and Solana. The move signals a shift toward faster capital formation as firms search for more efficient fundraising channels. Moreover, the development arrives as U.S. regulators accelerate experiments that merge traditional finance with blockchain infrastructure. Consequently, the launch positions Superstate at the center of efforts to modernize how public companies raise money and maintain shareholder records.Direct Issuance Targets Faster Funding and Instant SettlementThe Direct Issuance Program lets issuers receive capital in stablecoins while investors receive tokenized shares in real time. This structure allows companies to manage shareholder updates instantly through Superstate’s regulated transfer agent system. Additionally, the program supports existing share classes or new digital-only classes, giving companies more flexibility in how they engage investors.Superstate expects the first offerings to launch in 2026. The firm argues that companies need issuance rails that match global capital flows and deliver immediate settlement. Hence, the appeal of stablecoin-based transactions grows as markets demand more certainty and speed. The approach may also help smaller issuers reach investors who prefer blockchain-based assets with transparent lifecycle tracking.Regulators Accelerate Blockchain ExperimentsRegulators under the Trump administration encourage more crypto-financial innovation, which strengthens interest in tokenized securities. Both the SEC and CFTC now advance guidelines that reduce uncertainty around digital issuance. Moreover, large issuers and fintech firms continue to test onchain models that integrate with compliance tools and custodial systems.Earlier efforts by Galaxy and Sharplink involved tokenizing existing shares for onchain holding. However, those initiatives did not raise new capital. Superstate now extends that foundation by enabling primary issuance that interacts directly with blockchain liquidity.Programmable Securities Unlock New Use CasesTokenized shares issued through the program can include programmable features that update governance or distribution rules automatically. Besides, the digital structure allows integrations with onchain settlement, portfolio management, and institutional custody providers. These features may attract investors seeking assets that combine regulatory protection with efficient blockchain execution.Superstate intends to open its offering to both retail and institutional buyers after KYC checks. Consequently, the initiative may reshape how issuers approach capital formation and how investors access regulated digital securities.
Share
Coinstats2025/12/11 03:16
XRP triggert patroon dat voorafging aan eerdere 7000% stijging

XRP triggert patroon dat voorafging aan eerdere 7000% stijging

i Kennisgeving: Dit artikel bevat inzichten van onafhankelijke auteurs en valt buiten de redactionele verantwoordelijkheid van BitcoinMagazine.nl. De informatie is bedoeld ter educatie en reflectie. Dit is geen financieel advies. Doe zelf onderzoek voordat je financiële beslissingen neemt. Crypto is zeer volatiel er zitten kansen en risicos aan deze investering. Je kunt je inleg verliezen. XRP laat opnieuw hetzelfde koerspatroon zien dat in 2017 leidde tot een stijging van meer dan 7000%. De nieuwe vergelijking die rondgaat op X laat zien dat de huidige structuur bijna een-op-een lijkt op die van toen. Wanneer gaat Ripple stijgen en hoe serieus is deze technische setup? 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 Ripple koers toont dezelfde golven als in 2017 De grafieken van 2017 en nu lijken opvallend veel op elkaar. Je ziet dezelfde golfbewegingen, dezelfde rustfase en dezelfde neerwaartse afronding van de vierde golf. In 2017 volgde daarna de grote doorbraak. 🚨𝐁𝐑𝐄𝐀𝐊𝐈𝐍𝐆: 𝐗𝐑𝐏 𝐉𝐮𝐬𝐭 𝐄𝐧𝐭𝐞𝐫𝐞𝐝 𝐭𝐡𝐞 𝐒𝐚𝐦𝐞 𝐏𝐚𝐭𝐭𝐞𝐫𝐧 𝐭𝐡𝐚𝐭 𝐋𝐞𝐝 𝐭𝐨 𝐭𝐡𝐞 𝟕,𝟒𝟓𝟐% 𝐑𝐚𝐥𝐥𝐲 𝐢𝐧 𝟐𝟎𝟏𝟕 👀🔥 A new side-by-side chart shows XRP’s 𝟐𝟎𝟐𝟓 𝐬𝐭𝐫𝐮𝐜𝐭𝐮𝐫𝐞 𝐢𝐬 𝐚𝐥𝐦𝐨𝐬𝐭 𝐢𝐝𝐞𝐧𝐭𝐢𝐜𝐚𝐥 𝐭𝐨 𝟐𝟎𝟏𝟕 — same… pic.twitter.com/14uIZQxRus — Diana (@InvestWithD) December 7, 2025 De Ripple koers laat nu precies dat punt zien. De steun rond de zone van ongeveer twee dollar blijft tot nu toe sterk. De weerstand rond $ 2,20 blijft hard, maar dat was in 2017 niet anders. Diana herkent het patroon meteen. Niet omdat het perfect moet zijn, maar omdat de structuur gelijk is. Lees ook ons artikel over Solana dat XRP provoceert met ‘589’ en illustratie — wat zit hierachter? Wanneer gaat Ripple stijgen? Alles draait op dit moment om de zone boven $ 2,20. Zolang XRP daar niet doorheen sluit met kracht, blijft de Ripple koers vlak. In de grafiek zie je dat elke poging om boven deze weerstand te komen snel wordt teruggeduwd. Dat maakt de beweging traag en voorzichtig. Steun en weerstand + EMA’s XRP koers – bron: TradingView De RSI staat neutraal. Dat betekent dat er ruimte is voor een stevige beweging zodra de koers richting de weerstand loopt. In 2017 brak die beweging pas los na weken van dezelfde zijwaartse fase. Het is dus geen zwakte, maar een periode waarin kopers en verkopers elkaar in evenwicht houden. Bekijk hier de Ripple koersverwachting voor de lange termijn. Praat mee op onze socials! Chat met onze experts via Telegram, geef je mening op Twitter of "sit back and relax" terwijl je naar onze YouTube-video's kijkt. Chat met ons Geef je mening Bekijk onze video's Ripple kopen blijft vooral een patroon spel Veel handelaren die nu Ripple kopen doen dat vanwege het patroon. Ze kijken minder naar het nieuws en meer naar de vergelijking met 2017. De grafiek laat namelijk zien dat XRP in beide jaren rond hetzelfde punt draaide voordat de grote stijging begon. Toch blijft de markt bewust rustig. De fundamentals zijn sterker dan in 2017, maar de Ripple koers laat dat nog niet zien. Dat maakt het patroon interessant, maar niet automatisch explosief. Het is vooral een technische reden om XRP strak in de gaten te houden. Voor de liefhebbers hebben we een lijst samengesteld met crypto’s die gaan stijgen naast XRP. Wat gaat de Ripple koers doen als de weerstand eindelijk breekt? De weerstand van $ 2,20 is het niveau dat alles kan openzetten. Komt er volume achter, dan kan XRP snel richting $ 3,00 – $ 3,50 bewegen. Pas boven die zone ontstaat ruimte voor een grotere stijging, vergelijkbaar met de verticale fase uit 2017. Zakt de Ripple koers onder de steun rond $ 2,00, dan duurt het langer voordat het patroon opnieuw kracht krijgt. De structuur blijft dan staan, maar de uitbraak schuift verder vooruit. Voor nu staat XRP precies op het punt waar de rally van 2017 ook begon. De grafiek klopt, het sentiment is voorzichtig positief en de markt wacht op de eerste candle die laat zien welke kant het opgaat. Nieuwe altcoin met snelgroeiende community Als het patroon van 2017 zich herhaalt, kan een XRP rally een algehele bull run ontketenen. In het verleden hebben we gezien dat memecoins zoals Dogecoin hier het meeste van profiteren. Dat maakt het een interessant moment om te kijken naar het laatste lid van de Doge familie met een snelgroeiende community. Maxi Doge ($MAXI) is het “bro gym” neefje van Dogecoin en zit vol met Red Bull, testosteron, pre-workout en 1000x leverage. Het is voor degenen die de eerste rally’s van DOGE, WIF en SHIB gemist hebben. Vroege investeerders kunnen nu al hun $MAXI tokens staken tegen het hoge jaarlijkse rendement van 72%. Hier is al massaal gebruik van gemaakt, want er staan al meer dan 10 miljard $MAXI tokens vast in het stakingsysteem. Je hebt nog even de tijd om je eerste $MAXI tokens te bemachtigen voor de huidige lage prijs. Bij elke nieuwe fase van de presale hoort namelijk een nieuwe prijsverhoging. Nu naar Maxi Doge i Kennisgeving: Dit artikel bevat inzichten van onafhankelijke auteurs en valt buiten de redactionele verantwoordelijkheid van BitcoinMagazine.nl. De informatie is bedoeld ter educatie en reflectie. Dit is geen financieel advies. Doe zelf onderzoek voordat je financiële beslissingen neemt. Crypto is zeer volatiel er zitten kansen en risicos aan deze investering. Je kunt je inleg verliezen. Het bericht XRP triggert patroon dat voorafging aan eerdere 7000% stijging is geschreven door Christiaan Kopershoek en verscheen als eerst op Bitcoinmagazine.nl.
Share
Coinstats2025/12/11 03:16