K0k1man.com is my place. An environment where I am the CEO, SEO, Designer, Project Manager and whatever other hat I might need to wear in order to get my ideas live.
It is a Python, Flask environment with Jinja and Javascript running the front end templates. Here, I can practice, test and learn.
This /notes module is a content editor connected to my Python tools. First post. Let's see where this goes.
For years, I've built several websites and online experiences for employers and clients. I guess now it is my turn and I will implement on this website several ideas and approaches that I was not allowed elsewhere.
Automation, digital marketing, inter-connecting my tools, using external APIs and a content publishing system with A.I. Visibility, Chunks and RAG in mind… And it all started with CS50 Yellow Duck ;-)
CS50 and the Hook
I have been curious about CS50 for a while, but I never had time. A layoff in late 2024, gave me the time and the motivation. I signed up for CS50 and everything changed…
CS50 starts with C. Not Python, not JavaScript. C. Raw memory management, pointers, segmentation faults. For someone coming from digital marketing, this was a great learning experience. It was not easy at all and I must confess that I thought about quitting around weeks 5 and 6
The course structure is well organized. Each week builds on the last. The pedagogical escalation…. content getting harder slowly not to freak you out… Week 1 you're writing Hello World in C. By Week 5 you're implementing data structures from scratch.
I had spent years working with tools, applications and systems: CMS platforms, ad platforms, analytics data flows, etc. Never really understanding what was happening underneath. CS50 pulled back the curtain. Suddenly the black boxes were not so mysterious anymore.
The final project is yours to define. I built the first version of the URL Scanner, a Python tool that fetches a page and extracts SEO signals. Rough, limited by the CS50 Codespace environment, but the idea was there. I couldn't get Lighthouse to cooperate with the server, couldn't import half the libraries I wanted. But it worked well enough to show me what was possible on a real server with real tools.
Now the concept of building my own tools was not so farfetched and "what I could build with my own infrastructure" is what k0k1man.com is all about.
My Python Tools / Projects
The URL Scan Tool
Users add a URL to an input box and my application scans that URL and extracts several interesting datapoints that help understand the page and hopefully weed out problems to fix and improve that page's performance. The URL Scanner became the first real tool, and it lives on the site today, significantly expanded from that CS50 rough draft.
A.I. Visibility Tool
Search is no longer just Google. LLMs like ChatGPT, Perplexity, and Gemini are crawling, chunking, and retrieving content in ways that traditional SEO tools don't measure. The A.I. Visibility Tool compares what a standard crawler sees against what an AI crawler actually retrieves: Surfacing the gap between what you published and what gets fed into a RAG pipeline. If your content isn't structured for retrieval, it won't get cited. This tool shows you why.
Vector Index Builder
RAG systems don't read pages, they retrieve semantically indexed text embeddings. The Vector Index Builder takes any content, splits it into semantically meaningful chunks, embeds them into a local Chroma vector index, and lets you test retrieval quality before your content goes anywhere near a production LLM. Built because I needed to understand what AI actually sees when it reads my own site.
/notes Publishing System
Current CMS platforms were built for Google's crawler. This one was built with LLM retrieval in mind from the start. Every note is chunked for RAG, embedded into a vector database, tagged with AI retrieval metadata, and structured so both human readers and AI crawlers can navigate it independently. It is the infrastructure running this article right now.
Journalism + Digital Marketing + Programming
I feel like a hybrid professional: Graduated in Journalism, have many years of experience in online publishing and digital marketing and now am dabbling into coding with A.I.
I am not a developer who learned marketing, not Journalist who programs or a marketer who uses tools. I am someone who understands these different worlds well enough to build the bridge between them.
This gives me a systemic perspective from content creation to data extraction and campaign execution. When a campaign breaks, I can trace it from the ad platform back to the tracking implementation back to the raw HTML.
When A.I. Entered the Picture
The whole "A.I. can program" wave occurred while I was on CS50, stuck on week 5 or 6 and I confess it was very demotivating... Why even learn? Should I push through CS50? Suddenly, Programming was no longer a great career choice. Or at least that is what you would conclude by all the doomsday scenarios, articles and social media posts.
In my case, I knew I was not a programmer and never really had that intention... But I knew that this knowledge would add to my skillset and make me a better rounded digital marketing professional. So I plowed through many nights to get my CS50 Certificate.
While doing so, I tried connecting to the Lighthouse API for URL Scan and man... that was painful. Turns out that CS50 Codespace server and Google Lighthouse did not work well together... or I could not make it happen.
So, A.I. started slowly, was a progression... It started with the CS50 duck giving me pointers here and there. That is when I saw the full potential of having this on my own server, where I could import the best, most advanced Python libraries to help me build these tools with AI helping strategize the build.
Journalist. Digital marketer. Now building my own Python tools with AI. It took a layoff, a Harvard course, and a rubber duck to connect the dots.