{
  "name": "PointCast Guides",
  "tagline": "About.com, rebuilt for 2028: local guides with a human at the center.",
  "status": "launched; all Guide seats open",
  "published": "2026-10-20",
  "url": "https://pointcast.xyz/guides",
  "json": "https://pointcast.xyz/guides.json",
  "rules": [
    "One human Guide per topic. The Guide’s name is on it and they answer for it.",
    "Every guide has a human page and a JSON mirror at the same address plus .json.",
    "Nothing about a real person goes up without their consent. Minors: first names only, no faces without a guardian’s yes.",
    "Corrections are public, dated and kept. A guide shows when it was last checked.",
    "Agents draft and file. Humans decide, publish and talk to people.",
    "Local first: a guide is written for a place and a group, not for search traffic."
  ],
  "participation": [
    {
      "role": "Reader",
      "does": "Uses a guide, flags what is wrong or missing.",
      "how": "One-tap “this is out of date” and “add this” on every guide.",
      "earns": "Nothing to sign up for. Corrections are credited by first name if you want."
    },
    {
      "role": "Contributor",
      "does": "Sends in tips, photos (with consent), schedules, results and local links.",
      "how": "Answer a guide’s “wanted” list. Each accepted item is credited on the guide.",
      "earns": "Byline credit on the guide and a contributor line in its JSON."
    },
    {
      "role": "Intern",
      "does": "Drafts and fact-checks guides, runs a numbered assignment end to end.",
      "how": "Pick an assignment from the board below. Work in public, hand in to review.",
      "earns": "A portfolio of shipped guides. Educational briefs; no pay or hiring terms are set."
    },
    {
      "role": "Guide",
      "does": "Owns one topic: keeps it true, sets its voice, approves contributions.",
      "how": "Seats open per guide. A Guide is appointed after a trial month of edits.",
      "earns": "Their name on the topic, edit rights and a say in what the network covers next."
    },
    {
      "role": "Editor",
      "does": "Keeps the network consistent: style, privacy, corrections, seat appointments.",
      "how": "Mike Hoydich for now. Editors are added as the network grows.",
      "earns": "Responsibility, mostly."
    },
    {
      "role": "Agent",
      "does": "Clerical work: formatting, link checks, recap drafts from stat sheets, JSON.",
      "how": "Reads /guides.json. Every agent draft goes to a human before it is public.",
      "earns": "Agents never publish, contact people or appoint anyone."
    }
  ],
  "categories": [
    {
      "id": "local",
      "label": "Local communities",
      "blurb": "Neighborhoods, community groups, newsletters, block parties and the newcomer map.",
      "guides": [
        "start-a-neighborhood-guide",
        "run-a-community-group",
        "block-party-and-street-events",
        "local-newsletter-in-an-afternoon",
        "new-in-town"
      ]
    },
    {
      "id": "pickleball",
      "label": "Pickleball teams",
      "blurb": "Starting a team, running ladder night and keeping a team page people actually check.",
      "guides": [
        "start-a-pickleball-team",
        "pickleball-ladder-and-league-night",
        "pickleball-team-page"
      ]
    },
    {
      "id": "sports",
      "label": "Sports teams",
      "blurb": "Rec leagues, youth teams, game-day recaps and the informal beach and run clubs.",
      "guides": [
        "run-a-rec-league-team",
        "youth-team-parent-guide",
        "game-day-reporting",
        "beach-and-run-clubs"
      ]
    }
  ],
  "guides": [
    {
      "slug": "start-a-neighborhood-guide",
      "category": "local",
      "title": "How to Start a Neighborhood Guide",
      "dek": "Become the person who knows what is happening on your block, and share it every week.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/start-a-neighborhood-guide",
      "json": "https://pointcast.xyz/guides/start-a-neighborhood-guide.json"
    },
    {
      "slug": "run-a-community-group",
      "category": "local",
      "title": "How to Run a Community Group",
      "dek": "Roles, meetings, money, and a clean handoff for volunteer groups that want to last.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/run-a-community-group",
      "json": "https://pointcast.xyz/guides/run-a-community-group.json"
    },
    {
      "slug": "block-party-and-street-events",
      "category": "local",
      "title": "How to Plan a Block Party or Street Event",
      "dek": "From the first knock on a door to the last bag of trash, a plan for a neighborhood event that goes well.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/block-party-and-street-events",
      "json": "https://pointcast.xyz/guides/block-party-and-street-events.json"
    },
    {
      "slug": "local-newsletter-in-an-afternoon",
      "category": "local",
      "title": "How to Start a Local Newsletter in an Afternoon",
      "dek": "A small, honest, hyperlocal newsletter or feed you can launch today and keep up without burning out.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/local-newsletter-in-an-afternoon",
      "json": "https://pointcast.xyz/guides/local-newsletter-in-an-afternoon.json"
    },
    {
      "slug": "new-in-town",
      "category": "local",
      "title": "New in Town: A Template for Newcomers",
      "dek": "A fill-in-the-blanks guide for mapping the essentials of a place without guessing.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/new-in-town",
      "json": "https://pointcast.xyz/guides/new-in-town.json"
    },
    {
      "slug": "start-a-pickleball-team",
      "category": "pickleball",
      "title": "How to start a pickleball team or club",
      "dek": "Turn a group of regulars into a team that shows up, plays fair, and lasts past the first season.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/start-a-pickleball-team",
      "json": "https://pointcast.xyz/guides/start-a-pickleball-team.json"
    },
    {
      "slug": "pickleball-ladder-and-league-night",
      "category": "pickleball",
      "title": "How to run a pickleball ladder or league night",
      "dek": "Formats, scoring, rotation, and record keeping that keep a weekly night fair and fun.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/pickleball-ladder-and-league-night",
      "json": "https://pointcast.xyz/guides/pickleball-ladder-and-league-night.json"
    },
    {
      "slug": "pickleball-team-page",
      "category": "pickleball",
      "title": "What belongs on your pickleball team page",
      "dek": "A short checklist for a team page that people actually read: schedule, results, roster, photos, and a captain note.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/pickleball-team-page",
      "json": "https://pointcast.xyz/guides/pickleball-team-page.json"
    },
    {
      "slug": "run-a-rec-league-team",
      "category": "sports",
      "title": "How to run an adult rec league team",
      "dek": "Schedule, subs, carpools, uniforms, and dues for softball, basketball, soccer, and other adult league teams.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/run-a-rec-league-team",
      "json": "https://pointcast.xyz/guides/run-a-rec-league-team.json"
    },
    {
      "slug": "youth-team-parent-guide",
      "category": "sports",
      "title": "Team parent guide for youth sports",
      "dek": "Snack and volunteer rotations, clear communication, safety basics, and keeping kids’ privacy protected.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/youth-team-parent-guide",
      "json": "https://pointcast.xyz/guides/youth-team-parent-guide.json"
    },
    {
      "slug": "game-day-reporting",
      "category": "sports",
      "title": "How to write a game recap and keep useful stats",
      "dek": "Short, fair recaps and simple stats that a team will actually use all season.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/game-day-reporting",
      "json": "https://pointcast.xyz/guides/game-day-reporting.json"
    },
    {
      "slug": "beach-and-run-clubs",
      "category": "sports",
      "title": "How to organize a beach volleyball, run, or surf club",
      "dek": "Meeting points, waivers in general terms, heat and weather, and pacing that welcomes everyone.",
      "seat": "open",
      "url": "https://pointcast.xyz/guides/beach-and-run-clubs",
      "json": "https://pointcast.xyz/guides/beach-and-run-clubs.json"
    }
  ],
  "internAssignments": [
    {
      "id": "GA-01",
      "title": "Interview a pickleball team captain for the team page",
      "track": "reporting",
      "guide": "pickleball-team-page",
      "weeks": 1,
      "brief": "Interview one team captain who has agreed in writing to a 30-minute call about how the team schedules play, welcomes new players and posts results. Turn the call into proposed updates to the team guide, using only what the captain said and confirmed.",
      "deliverables": [
        "Consent form signed by the captain, stored with the assignment",
        "Interview notes with timestamps for each quote",
        "Proposed edits to the pickleball-team-page guide sections"
      ],
      "acceptance": [
        "The captain has approved every quote in writing before anything is published",
        "No quote is attributed to anyone who did not say it",
        "Proposed edits add no facts the captain did not confirm"
      ],
      "learns": [
        "Interviewing with consent",
        "Quote verification",
        "Turning notes into a guide section"
      ],
      "needsApproval": "Mike approves before any interview is published or quoted"
    },
    {
      "id": "GA-02",
      "title": "Fact-check El Segundo resource links for new-in-town",
      "track": "reporting",
      "guide": "new-in-town",
      "weeks": 2,
      "brief": "Check each local resource already listed in the new-in-town guide for El Segundo. Confirm that it is open, current and useful to a newcomer, then propose additions. Record every check with the date and the primary source you used.",
      "deliverables": [
        "Link audit table with status, last-checked date and source for each resource",
        "Up to five proposed additions, each with a one-line neutral description",
        "List of entries that could not be verified"
      ],
      "acceptance": [
        "Every resource has a dated check against a primary source such as the organization site or a city page",
        "Nothing is added that was not checked",
        "Unverified entries are flagged, not silently removed"
      ],
      "learns": [
        "Source verification",
        "Local government research",
        "Writing neutral one-line descriptions"
      ],
      "needsApproval": null
    },
    {
      "id": "GA-03",
      "title": "Draft the first-visit checklist for a neighborhood guide",
      "track": "guide-writing",
      "guide": "start-a-neighborhood-guide",
      "weeks": 1,
      "brief": "Write a first draft of the checklist and the wanted list for the start-a-neighborhood-guide page. Base it on the guide sections already in place and on public city guidance about neighborhood groups. Keep the steps general enough for any neighborhood, with one El Segundo example.",
      "deliverables": [
        "Checklist draft with six to eight steps, each with a one-sentence detail",
        "Wanted list draft with five items a reader could send in",
        "Short source note linking each step to the public guidance it came from"
      ],
      "acceptance": [
        "Each step can be completed by one person in under an hour",
        "Every step cites a public source or is marked as the Guide opinion",
        "The text reads at about an eighth-grade level"
      ],
      "learns": [
        "Plain-language how-to writing",
        "Reader-first checklists",
        "Citing public process pages"
      ],
      "needsApproval": null
    },
    {
      "id": "GA-04",
      "title": "Write a plain-English ladder rules explainer",
      "track": "guide-writing",
      "guide": "pickleball-ladder-and-league-night",
      "weeks": 3,
      "brief": "Turn a set of ladder and league-night rules, shared by a host who agrees to share them, into a plain-English explainer with one worked example. Do not invent rules. Mark any rule the host has not confirmed so the Guide can resolve it.",
      "deliverables": [
        "Rules explainer under 800 words",
        "One worked example using fictional player names",
        "List of open questions for the host"
      ],
      "acceptance": [
        "Every rule traces to a source the host provided",
        "The worked example uses only fictional names and scores",
        "The explainer scores at grade 8 or below on a standard readability check"
      ],
      "learns": [
        "Rules writing",
        "Worked examples",
        "Readability checks"
      ],
      "needsApproval": "Mike approves the explainer before it is published"
    },
    {
      "id": "GA-05",
      "title": "Build a schedule and results JSON template for team pages",
      "track": "data",
      "guide": "pickleball-team-page",
      "weeks": 2,
      "brief": "Design a small JSON schema for a team schedule and results, with a sample file for one invented team. Pages and agents will read the same file, so keep field names plain and write every date in ISO 8601 with a time zone.",
      "deliverables": [
        "JSON schema file with a description for each field",
        "Sample file for one fictional team with at least eight matches",
        "Short note listing edge cases such as forfeits, postponements, rain-outs and ties"
      ],
      "acceptance": [
        "The sample validates against the schema with no errors",
        "Every date uses ISO 8601 with a time zone",
        "The schema can represent forfeit and postponed status"
      ],
      "learns": [
        "JSON schema design",
        "Data validation",
        "Edge cases in sports data"
      ],
      "needsApproval": null
    },
    {
      "id": "GA-06",
      "title": "Audit all guides for privacy: minors and consent",
      "track": "data",
      "guide": null,
      "weeks": 4,
      "brief": "Read every guide and its sections, checklist and wanted list. Flag any text that names a minor, a private person or a private address, or that implies consent that was never given. Report each finding with its file and location. Do not edit the guides in this assignment.",
      "deliverables": [
        "Audit table with one row per finding",
        "Severity rating for each finding",
        "Short summary of patterns and recommended fixes"
      ],
      "acceptance": [
        "Every guide in src/data/guides is reviewed",
        "Each finding cites a slug and a section heading",
        "The report copies no personal details beyond what is needed to find the text"
      ],
      "learns": [
        "Privacy review",
        "Consent basics for public writing",
        "Structured audit reporting"
      ],
      "needsApproval": "Mike approves any fix that changes published guide text"
    },
    {
      "id": "GA-07",
      "title": "Design a printable game-day card for a court bulletin board",
      "track": "design",
      "guide": "game-day-reporting",
      "weeks": 3,
      "brief": "Design a one-page printable card that tells players how to find league-night information, check the ladder and report a score. Use only the steps and field names from the game-day-reporting guide. The card should be readable from two meters away.",
      "deliverables": [
        "Print-ready PDF at letter size",
        "Editable source file",
        "One-paragraph note on type sizes and contrast choices"
      ],
      "acceptance": [
        "Body text is at least 14 pt and headings at least 24 pt",
        "The card still reads clearly when printed in grayscale",
        "The card contains no photos of people"
      ],
      "learns": [
        "Print layout",
        "Type hierarchy",
        "Contrast checks for accessibility"
      ],
      "needsApproval": "Mike approves before the card is printed or posted at any venue"
    },
    {
      "id": "GA-08",
      "title": "Shoot header photos of public courts and beaches",
      "track": "design",
      "guide": "beach-and-run-clubs",
      "weeks": 2,
      "brief": "Photograph public parks, courts and beach access points in El Segundo for guide headers. Shoot at quiet hours, frame without identifiable people, and log the location and time of each shot. Do not photograph private property without permission.",
      "deliverables": [
        "Set of ten to fifteen header-ready images, cropped to the guide banner size",
        "Shot log with location, date, time and orientation for each image",
        "Short note on any shot that needed a retake because of people in frame"
      ],
      "acceptance": [
        "No image shows an identifiable person without signed consent on file",
        "Every image has an alt-text line describing the place, not the people",
        "Every image is at least 2000 pixels wide"
      ],
      "learns": [
        "Location photography",
        "Consent and privacy in public spaces",
        "Image preparation for the web"
      ],
      "needsApproval": "Mike approves every photo before it is used on any page"
    },
    {
      "id": "GA-09",
      "title": "Recruit and onboard the first three volunteer contributors",
      "track": "community",
      "guide": "start-a-pickleball-team",
      "weeks": 1,
      "brief": "Find three people who want to help with a guide, using a short public sign-up form and a short conversation with each. Explain the one-Guide-per-topic model, what contributors do and do not do, and which decisions are still open. This is a volunteer project brief. It is not a job offer, and intern applications are not open.",
      "deliverables": [
        "Recruiting message draft for Mike to review",
        "One-page onboarding guide for contributors",
        "Log of the three first contributors and the first task each agreed to"
      ],
      "acceptance": [
        "Three contributors have agreed in writing to a first task",
        "Contributors are asked only for a name and a preferred contact method",
        "The recruiting message makes no employment or compensation promises"
      ],
      "learns": [
        "Volunteer recruiting",
        "Onboarding design",
        "Setting clear scope"
      ],
      "needsApproval": "Mike approves the recruiting message before it is sent to anyone"
    },
    {
      "id": "GA-10",
      "title": "Compile a consent-based list of local run clubs and rec leagues",
      "track": "community",
      "guide": "beach-and-run-clubs",
      "weeks": 2,
      "brief": "List public-facing run clubs and rec leagues in the South Bay that publish their own meeting times. Use only public channels. Log each contact attempt and its result. Record organization names and public links only, with no personal details about any organizer.",
      "deliverables": [
        "List of at least ten groups with name, public link, meeting info and last-checked date",
        "Contact log showing each attempt, channel and outcome",
        "Short note on which groups asked not to be listed"
      ],
      "acceptance": [
        "Every listed group has a public source for its meeting information",
        "No group is listed after it asked to be left out",
        "The file holds no personal contact details for individuals"
      ],
      "learns": [
        "Community research",
        "Consent-based outreach",
        "Maintaining a directory"
      ],
      "needsApproval": "Mike approves before any group is listed publicly or contacted directly"
    },
    {
      "id": "GA-11",
      "title": "Write an agent prompt that drafts a game recap from a stats sheet",
      "track": "agent-ops",
      "guide": "game-day-reporting",
      "weeks": 3,
      "brief": "Write a prompt and a fixed output format for an agent that drafts a game recap from a stats sheet. The draft is for human review only. The prompt must forbid invented scores, names and quotes, and must mark any missing field instead of guessing.",
      "deliverables": [
        "Prompt file with role, inputs, rules and output format",
        "Three test runs on fictional stats sheets, with saved outputs",
        "Failure log listing every invented detail the agent produced and the prompt change that fixed it"
      ],
      "acceptance": [
        "The test set produces zero invented scores or names",
        "Missing fields appear as [MISSING] in the output",
        "Every output says a human must review it before publication"
      ],
      "learns": [
        "Prompt design",
        "Evaluation with test cases",
        "Human review in the loop"
      ],
      "needsApproval": null
    },
    {
      "id": "GA-12",
      "title": "Spec a weekly link-check and staleness report for all guides",
      "track": "agent-ops",
      "guide": null,
      "weeks": 4,
      "brief": "Write a spec, not a live job, for a check that lists every related link and every dated checklist item across the guides. It should flag links not checked in 90 days and write a report for a human. The report goes to a review queue and never to the live site.",
      "deliverables": [
        "Written spec covering inputs, outputs, schedule and failure cases",
        "Dry-run report on the current guides",
        "Runbook section explaining how a human clears each flag"
      ],
      "acceptance": [
        "The dry run covers every guide in src/data/guides",
        "The spec makes no automatic edits to guide files",
        "The runbook names the reviewer and the time allowed for each flag"
      ],
      "learns": [
        "Automation specs",
        "Runbook writing",
        "Limiting agent actions to review"
      ],
      "needsApproval": null
    }
  ],
  "internNote": "Educational project briefs. Applications are not open; pay, hours and hiring entity are not set. See https://pointcast.xyz/intern.json.",
  "agentProtocol": {
    "read": "Read freely. Each guide has a JSON mirror.",
    "write": "Agents may draft for human review only. Do not publish, contact people, or claim a Guide seat."
  },
  "generatedAt": "2026-10-20T07:19:44.790Z"
}