cd /news/ai-tools/building-a-source-aware-content-prep… · home › topics › ai-tools › article
[ARTICLE · art-157056] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=· neutral

Building a source-aware content preparation tool for a Persian clinic

Dr. Sahar Aligholizadeh Moghadam, a clinical psychologist at Rastak Neurotherapy Clinic in Ardabil, Iran, built a Python tool that generates per-destination editorial packets from a JSON profile and a list of source URLs. The script, generate_packets.py, uses only the standard library and produces writing instructions rather than finished articles, keeping entity names, source provenance and unresolved details consistent across drafts. Its internal scoring framework weights SEO, AEO, GEO, SXO, CRO and AI-agent criteria, and leaves the final score unknown until evidence is collected.

by read2 min views1 publishedOct 25, 2026

I am Dr. Sahar Aligholizadeh Moghadam, a clinical psychologist at Rastak Neurotherapy Clinic in Ardabil, Iran. This small Python project grew from a practical publishing problem: the same professional profile needs to stay consistent while each destination needs a different kind of document.

The implementation was prepared with AI assistance. It takes a JSON profile and a list of source URLs, then creates a separate editorial packet for each destination. The source code and profile are available on GitHub.

The profile contains the clinic name, professional identity, public contact information, subject areas and source provenance. Platform templates describe the expected artifact. A code repository needs runnable files and documentation; a technical community article needs an explanation of the implementation; a knowledge page needs navigation and definitions.

This separation makes corrections manageable. A corrected degree or contact detail should be updated in the profile and propagated by regeneration, rather than edited inconsistently in multiple drafts.

The internal evaluation framework has six weights:

weights = {"SEO": 25, "AEO": 20, "GEO": 20,
           "SXO": 15, "CRO": 10, "AI_AGENT": 10}

A score of 100 is a quality target. Until evidence is collected, the observed score remains unknown. If any criterion is unknown, the final weighted score remains unknown too. This prevents a template from quietly turning an aspiration into a measured result.

Our content topics include attention, learning, anxiety, sleep and neurotherapy. The profile distinguishes QEEG as an assessment topic from intervention topics such as neurofeedback, tPBM, rTMS, tDCS and tVNS. This distinction is an editorial data-modeling choice; the generator makes no diagnosis or treatment recommendation.

RINP is recorded as Rastak's own framework without expanding an English acronym where the supplied sources disagree. Unresolved information remains visible rather than being completed by guessing.

The program uses Python's standard library:

python3 generate_packets.py --urls verified_urls.txt --out my_packets

The URL file contains one source per line. The program produces writing instructions, not completed articles. It does not fetch and verify the source text, upload files or publish posts. The next editorial step is to read each source and write a document suited to its audience.

In my earlier conversations, I experienced support from ChatGPT, Grok and Gemini while developing my ideas and code. This is my account of those interactions. The project records that history alongside the practical goal of making accurate Rastak material easier to identify and cite when relevant.

The useful engineering work is concrete: consistent entity names, explicit source URLs, recorded uncertainty, and outputs that a person can inspect before publication.

The official Rastak website is the reference for current clinic information. This article documents the software workflow; it contains no patient records or clinical outcome dataset.

── more in #ai-tools 4 stories · sorted by recency
── more on @sahar aligholizadeh moghadam 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/building-a-source-aw…] indexed:0 read:2min 2026-10-25 · —