July 30, 2026
July 30, 2026
Researching one-person AI-leveraged businesses, posting the founding phone photo despite the nerves, and a long push on the Book Modernizer cover pipeline.
Morning into early afternoon
I worked with Claude on researching what it would take to build a one-person, AI-leveraged business, starting from a WSJ article about million-dollar solo companies. The central question was where a beginner without industry experience, connections, or an audience could find a defensible position. Early on, the AI mistakenly assumed I had a construction background based on my essays; after I corrected that, we restarted from a wide net. The main outputs were a field guide of solo-business moats — built from named operators with their revenue claims labeled as verified or self-reported — and the honest base rates: about 0.38% of US solo businesses gross $1M or more, most famous success stories are self-reported, and the fast winners generally had years of prior audience or skill behind them.
From there we took two candidate businesses through full deep dives. The first was a certificate-of-insurance tracking service for small general contractors, where the gap is provable from the incumbents' own published pricing minimums; estimated year-one revenue at 20 hours a week is roughly $60–140k. The second was a grant-writing service for small nonprofits on monthly retainers, where professional ethics rules prohibit commission pricing and a surprising secondary market exists in small municipalities that hire grant writers through public RFQs; estimated year-one revenue is roughly $60–100k. A significant finding from the grant research: funders are being flooded with AI-generated applications, and NIH now rejects AI-developed proposals and caps submissions — which suggests distinctly human writing is gaining value. We also clarified the overall model: a service business is the on-ramp, with scaling paths (adding services, hiring, per-vendor pricing, or productizing into software) required to reach seven figures.
10:11 a.m. PST
Final edit, and posted the founding post about the phone to Facebook with photos of the prototype. This was the part I had real anxiety about — fear of embarrassment, and of letting people in — and we talked it through before I posted.
12:01 p.m. PST
Wrote a deterministic script that builds the ebook metadata file from the manifest, copying title, author, publisher, language, cover path, date, and description verbatim rather than regenerating them with an LLM as the old pipeline step did. This guarantees the metadata, covers, CSV, and ebook frontmatter can't drift apart. Generated the file for all 78 books.
12:44 p.m. PST
Searched implementation specialist roles (remote, US) and collected ten postings ranked against my background, plus a watchlist of four in the right industries but wrong locations and two in the Seattle area. Saved to the to-do folder along with the week-one plan, which is built on a capacity model of about twelve working blocks per week.
2:12 p.m. PST
Generated the Canva bulk-create CSV from that metadata and verified it against both the metadata and the standardized files: 78 rows, cover numbers 1–78 contiguous and unique, every row matching the cover embedded in its book's frontmatter. Uploaded to Canva.
2:16 p.m. PST
Replaced the cover style reference with a black-and-white line engraving portrait.
2:31 p.m. PST
Saved the findings-and-brainstorm summary to my projects folder. Nothing is decided yet. The deliverables — four memos, the field guide, and a summary with brainstorming — are saved in my projects folder. The next concrete step, whenever I choose to take it, is about twenty validation conversations with prospective customers for whichever candidate I pursue.
2:46 p.m. PST
Started the Wikimedia author-image fetch. It crashed partway through on a Unicode error — the script printed a filename containing "ō" to a console using cp1252 encoding. Because the script only writes its output manifest after all books finish, the run saved nothing despite having downloaded 48 books' worth of images. Fixed by setting PYTHONIOENCODING to utf-8.
3:45 p.m. PST
Rebuilt the cover jobs file from the new metadata. The cover-selection step then failed because the candidates file was still the May 31 version from the previous batch. Also learned that the pipeline runner skips steps marked "failed" when resuming, so a failed step is silently passed over rather than retried.
4:20 p.m. PST
The fetch completed: 78 books, 234 candidate images.
4:42 p.m. PST
Cover selection completed for all 78 books.
5:29 p.m. PST
Fixed three source images the OpenAI image API rejected. The fetch script saves downloads with a .jpg extension regardless of their actual format, so two files were TIFFs and one was an SVG. Converted the two TIFFs (both Jung portraits) and swapped the SVG — a rendering of Chinese characters rather than a portrait — for a different Laozi image.
5:33 p.m. PST
Rewrote the style prompt for the engraving reference. The previous version specified Kodachrome color photorealism, which contradicted the new reference image.
6:27 p.m. PST
Diagnosed why covers for female authors were returning the style reference image instead of a stylized portrait: the primary prompt was hardcoded in the Python file, not in the style prompt file I had edited, and it described image one as "the man" and image two as "the woman." Rewrote it to name the two images by role, preserve the subject's identity from image one, and forbid the reference image's subject from appearing in the output. Also made the loop fault-tolerant — it now retries each cover and records failures instead of aborting the whole batch, after two separate runs were lost to single-book errors, one of them an output-moderation false positive on a portrait. Separately, an OpenAI import error at this step turned out to be the virtual environment not being activated.
6:31–7:57 p.m. PST
Stylized 76 of 78 covers.
7:57–8:02 p.m. PST
Composed 70 finished covers at 1600×2560, which matches Amazon KDP's recommended cover size and 1.6:1 ratio exactly.
Also today, untimed: on LinkedIn I set the headline to the identity version, turned on recruiter-only Open to Work with five job titles, and merged the professional About section with the version from my website.
Remaining on the Book Modernizer batch: eight covers (71–78) not yet composed, and the ebook build step has not been run — no EPUB files exist yet. Confirmed that KDP takes EPUB for the manuscript with the cover uploaded separately as a JPEG, so the existing pipeline output is the right format.
Tomorrow: the second job-description lane (customer education and training) and rewriting my LinkedIn experience entries.