Craig Cossairt

Craig
Cossairt

Founder. Product thinker.
Builder of useful things.

Utah, Earth.
Still figuring things out.
Build what matters.Scroll. There’s more to the story.Skip to the work

Curiosity,
put to work.

I’m Craig. I work where product thinking, useful technology, and everyday life meet.

Out of my head.
Into the world.

Businesses, tools, and experiments.
Built with curiosity.

Some context.

A decade
in product.
A lot left
to make.

AI is my working partner. People are the reason for the work.

That thread runs through my other projects, too.

Meet the person
Based inUtah
Currently buildingBloom & Cozy Fables
Always interested inWhat’s next
There’s a person behind the projects.

Always a work
in progress.

Some of the most useful things I’ve learned didn’t come from a product roadmap.

Work, school, a wider world. A few pages from the life around the work.

The longer version on LinkedIn ↗

Use the right edge to turn forward and the left edge to turn back. Left and right arrow keys also turn pages.

Notes from the in-between.VOL. 01

More
than
the work.

Craig Cossairt
Still adding pages.
A few chapters before this one.01

Places I’ve
worked.

Eight places. Part of the story.

School & a wider world.02

Learning
to look closer.

California State University, Fullerton

2010–2012 · B.A., Business Administration, Entertainment and Tourism Management. Entertainment & Tourism Club; Behind The Scenes Club (Member of the Year, 2012).

Business Europe Study Tour (BEST)

Summer 2011 · CSUF study abroad program. University and company visits in Germany, Belgium, Switzerland, and France.

Irvine Valley College

2007–2010 · A.A., Social and Behavioral Sciences.

A little outside the usual.03

Beyond
the résumé.

Give Kids The World

Volunteer “Angel” · August 2012–January 2013. Supporting a nonprofit that gives children with life-threatening illnesses and their families cost-free Central Florida vacations.

Irvine Valley College volleyball

2008 State Champion men’s volleyball team. Coaches Award for Men’s Volleyball, 2008–2009.

To be continued.

Cover · 3 pages inside

Sometimes, the output is words.

Thinking
in public.

Relationship growth science

Marriages tend to go flat. Doing something exciting together helps.

Lifecycle / anti-cheating

When a dating app changes owners, look at what it charges for

Dating and relationship advice

Who pays on a first date, and what the check is really asking

Two posts a week on relationships, technology, and the choices behind them.

Latest writing →Follow via RSS ↗
A few words from elsewhere.

Word gets
around.

Interviews, mentions, and things
that happened beyond this page.

Pre-launch
Relationships

Bloom

A dating app built for the relationship that comes after the match.

Bloom’s redesigned homepage with a couple and the headline ‘Find someone. Then keep finding them.’

The question

Finding someone is only the beginning. Dating products tend to focus on the search, while the work of building a relationship happens somewhere else.

What I built

I’m building Bloom around the whole relationship journey. Dating Mode helps people meet with intention. Relationship Mode gives couples a shared space to plan dates and keep growing together.

Where it stands

Core matching tools, including preference filters and seeing who liked you, are free. AI-assisted features are labeled and optional. Bloom is preparing for launch in Utah; the public waitlist is open.

Solo founder, with AI as a working partner.

Visit Bloom
Live product
Family & imagination

Cozy Fables

Personalized bedtime stories with your child at the center, made to read together.

Cozy Fables public website showing its personalized bedtime story experience

The question

Storytime is a chance to make something together. A familiar name, a favorite world, and a little choice can turn a bedtime story into a shared adventure.

What I built

I created Cozy Fables, an independently run family product that generates personalized bedtime stories. Parents choose the characters, world, style, and reading level; each story is made to be read together.

Where it stands

The browser-based product offers a free first story and a Family plan. Read-aloud prompts, branching adventures, saved stories, and printable PDFs give each family a few ways to make storytime their own.

Created and independently run by Craig Cossairt.

Visit Cozy Fables
Open source
Tools for builders

Trellis

The working structure behind an AI-assisted project, shared with other builders.

craigcossairt / trellis
Open on GitHub
  • Shell
  • MIT license
  • Updated
README.md From the repository

trellis

License: MIT Works with

A trellis is the structure a plant grows on. This one is for projects: a ready-to-use template for building with AI coding agents - extracted from the real, daily-driven setup of a production startup, then stripped of everything company-specific.

Who this is for: founders and builders who are new to AI-assisted development ("vibe-coding") and want to start with good habits instead of discovering them the hard way. You don't need to be an experienced engineer. Setup involves a handful of terminal commands, and your AI can walk you through every one of them - open the repo and say "walk me through SETUP.md".

It also works as a no-ceremony starting point if you already build this way, and as a reference if you have an existing project and want to see what's worth borrowing.

The problem it solves: AI coding tools are powerful on day 1 and chaotic by day 30. Without structure, you get inconsistent code, forgotten decisions, repeated bugs, secrets in git, and an AI that re-learns your project from scratch every session. This template bakes in the structure that prevents that - before the chaos starts.

What you get

Piece What it does for you
AGENTS.md One instruction file that every major AI tool reads (Claude Code, Cursor, Codex, Gemini CLI, Copilot). Your conventions, methodology, and project facts live here once - not re-explained every session.
SETUP.md Day-1 setup, two ways: let your AI interview you and make the edits, or follow the checklist yourself. About 15 minutes for the core steps, plus a couple of optional extras. Explains what each piece is before asking you to touch it.
bin/trellis-survey.sh Read-only check of static wiring and setup: missing scripts, missing skill routers, Git hook installation, and unfinished context files. Runtime activation and trust are checked separately in SETUP.md.
DESIGN.md Design defaults your agent reads before it builds UI: name every value as a token, treat repeats as components, decide every state up front. No colours or type choices - those are yours, and the file has slots for them. Delete or override freely.
docs/methodology/ Battle-tested working rules: test-first development, a disciplined bug-fix protocol, why a second model should review anything you would hate to get wrong, and habits for keeping AI sessions sharp. Plain markdown, works with any tool.
docs/common-gotchas.md A running "symptom, cause, fix" table. Your AI appends to it after every bug fix, so the same bug never costs you twice.
docs/decision-log.md What you decided, when, and why - at whatever length the reasoning takes. Six months from now, this is the file that answers "why did I do it that way?".
docs/about-me.md Tell the AI who you are (technical level, working style) so its advice actually fits you.
.claude/ Claude Code extras: guardrail hooks (blocks edits to secrets, auto-formats code, injects context on session start), slash commands, and skills - a ranked daily brief, feature planning, safe dependency reviews, a pre-demo audit.
.githooks/ + bin/verify-green.sh An optional push gate for humans and agents. Install it with bash bin/install-git-hooks.sh, configure your lint/test commands, then verify the staged content before pushing. Off until checks are configured; supported session hooks also repair missing wiring.
Harness adapters Cursor, Grok Build, and Codex call the same canonical guardrail scripts as Claude Code. Codex uses .agents/skills/ routers and .codex/hooks.json (requires trust). Gemini CLI and Copilot have instruction pointers. docs/harness-support.md records coverage and limitations; the Git push gate and CI work independently of the coding tool.
brain/ Optional: a local search index over your project's docs and history that feeds relevant context into every prompt. Off by default; 10 minutes to enable when the project has real history.
docs/growing-into-a-workspace.md The graduation path for when your project becomes a company: where legal docs, brand assets, and a second repo go, and how the AI context scales with you.
docs/writing-your-own-skills.md The 10-minute guide to teaching your AI a repeatable procedure, plus a six-question hardening checklist for making skills that survive contact with reality.
CREDITS.md Whose ideas these are. This template is an extraction, not an invention - every borrowed rule and every recommended tool is named with its source, and CI fails if a recommendation has no credit line.
Hooks CI A tiny GitHub Actions workflow that lint-gates the guardrail scripts themselves (line endings, syntax, shellcheck, exec bits) - because a hook that breaks silently is worse than no hook.

Quick start

  1. Click Use this template on GitHub (or run gh repo create my-project --template craigcossairt/trellis).
  2. Open your new repo in your AI coding tool and say "walk me through SETUP.md". It asks the setup questions conversationally, makes the edits for you, and shows you each change before it saves. Prefer to do it by hand? SETUP.md is the same steps as a checklist, about 15 minutes.
  3. Delete what you don't need. Every piece is independent; nothing breaks if you remove a skill, the brain, or an adapter you don't use.
  4. Optional but recommended: skim docs/recommended-tooling.md for curated third-party skill packs and the service stack (issue tracking, PR review, error tracking) that earned its keep in the setup this template came from.

Design principles

  • Tool-agnostic core, thin adapters. The knowledge (AGENTS.md + docs/) is plain markdown any tool can read. Tool-specific machinery stays in that tool's directory and is optional enhancement, never a requirement. Switch tools without losing your setup.
  • Source-of-truth discipline. Stable conventions live in AGENTS.md. Priorities live in your issue tracker. Decisions live in the decision log. Bug patterns live in the gotchas table. Nothing is written twice, so nothing drifts.
  • No secrets, ever. .env.example and .mcp.json.example ship placeholders only. Real values come from your password manager at setup time, and a guardrail hook blocks the AI from editing secret files.

Support expectations

This is maintained as I use it for my own projects. Issues and PRs are welcome and read, but responses aren't guaranteed and there is no support commitment. Fork freely - it's MIT licensed.

Keeping your copy fresh

Template copies still don't auto-update, but you no longer have to read commits to find out what changed. Ask your agent to check for template updates, or run:

bash bin/trellis-sync.sh

It compares your copy against the current release by content and sorts every file into one of six buckets - changed upstream but not by you, new upstream, changed on both sides, and so on. Nothing is applied unless you name it. Even the safe bucket needs an explicit --apply <path>; the report on its own writes nothing. Two buckets need more than a yes: files changed on both sides, which you review before selecting because taking an update is a whole-file write, and files upstream deleted that you still have, which the tool will not touch at all - removing them is your call. Each file it does write is checked against the release it came from before it lands, and if it can't tell (no manifest, no network) it says so rather than reporting you as up to date.

This works because .trellis/manifest records what the template shipped at the version you copied. Keep that file, and never regenerate it from your own tree - that records your work as though the template had shipped it, and every later sync inherits it. bin/trellis-sync.sh --apply updates it for you, for the files you actually took and nothing else.

If you maintain your own fork of the template for your team: improvements land in whichever project discovered them, then get PR'd back to the template.

The question

Building with AI gets complicated as a project grows. Decisions disappear, conventions drift, and the same mistakes can return in the next session.

What I built

Trellis turns the practices I use into a starter that other founders can adopt: shared agent instructions, a setup checklist, development methods, decision logs, and guardrails.

Where it stands

The core is plain Markdown and works across coding tools. Optional hooks and a local knowledge base add structure as a project needs it. The template is MIT licensed.

A public template extracted from my daily development setup.

Explore the source
Open source
Everyday life

Hestia

Meal planning, recipes, and a grocery list that knows what’s already in the kitchen.

Hestia’s Today dashboard showing nutrition progress, planned meals, and household planning tools

The question

A meal plan has to fit the household, the pantry, and the reality of getting dinner on the table. Those pieces are often scattered across separate tools.

What I built

Hestia brings nutrition targets, an AI coach, inventory-aware groceries, and recipe-to-cooking flows into one progressive web app.

Where it stands

Named for the Greek goddess of the hearth, Hestia is an open-source project built with Next.js and Supabase. The repository includes instructions for running your own instance.

An independent side project, shared as open source.

Explore Hestia
Open source
A useful little tool

Longshot

Full-page screenshots that stay on your machine.

craigcossairt / Longshot
Open on GitHub
  • JavaScript
  • MIT license
  • Updated
README.md From the repository

Longshot

Longshot icon

Full-page screenshots that come out right. Sticky headers are suppressed after the first tile instead of repeating down the image, and overflow panes (Gmail-style inner scrollers) are captured when the page itself does not scroll. Nothing is uploaded.

Two ways to run it, one capture engine behind both:

  • Browser extension for Chrome and Brave, driven by hand. Capture, crop, annotate, copy, download, or save as PDF. See Install.
  • Headless CLI (@craigcossairt/longshot) for scripts, CI, and coding agents. See CLI.

There is no website to run.

Longshot editor example

What it does

  • Full page, visible viewport, or drag to select an area
  • Sticky headers hidden after the first tile so they are not repeated
  • Overflow panes (Gmail-style inner scrollers) captured when the page itself does not scroll
  • Editor: crop, pen, shapes, text, stamps, undo/redo, and zoom (fit to width, 15–200%)
  • Export PNG, JPEG, WebP, or PDF (AVIF only where the browser can encode it; current Chrome cannot)
  • Files page for recent captures
  • Optional one-click toolbar capture
  • Optional skip-the-editor path that copies to the clipboard (or downloads)
  • Keyboard shortcut: Alt+Shift+L captures the full page
  • Optional CLI for unattended / agent captures (cli/)

Install (unpacked)

Sideload is the supported install. A Chrome Web Store listing is not published.

  1. Clone this repo.
  2. Open chrome://extensions or brave://extensions.
  3. Turn on Developer mode.
  4. Load unpacked and choose the extension/ folder.

Right-click the toolbar icon → Options for format, folder, one-click capture, skip-the-editor, inner frames, and overflow panes. If one-click is on, the icon starts a capture instead of opening the menu. Scroll overflow panes is on by default: when the page itself does not scroll, Longshot captures the main overflow: auto feed instead.

CLI (optional)

Package: @craigcossairt/longshot. The command is longshot.

npm install -g @craigcossairt/longshot
longshot --url https://example.com --full-page --out capture.png

From a clone:

npm install
npx longshot --url https://example.com --full-page --out capture.png

See cli/README.md for engines, exit codes, and --cdp.

Privacy

See PRIVACY.md. Screenshots are not uploaded. Feedback you send from the editor goes only to the maintainer.

License

MIT

The question

Full-page captures can repeat sticky headers and miss content inside scrolling panels. Getting one clean image shouldn’t become a project of its own.

What I built

Longshot shares a capture engine between a Chrome/Brave extension and a headless CLI. It handles sticky headers and inner scrollers, then offers cropping, annotation, and export.

Where it stands

Screenshots are processed locally. The extension currently installs by sideloading from the repository; a Chrome Web Store listing is not published. The CLI supports automated capture workflows.

An independent tool with an MIT-licensed source repository.

Get Longshot
Hackathon winner
Public-interest technology

Privacy Workbench

A working demonstration of AI-assisted government data governance.

The Privacy Workbench demonstration interface

The question

Public agencies need to explain what information they collect, why they retain it, and who can access it. Consistency across offices is a difficult, detailed task.

What I built

I built the Workbench frontend and demonstration; Valerie Adams developed the agent orchestration engine and architecture. The interface brings provenance, review queues, and sensitive decisions into the officer’s workflow.

Where it stands

Our team won the Utah AI Data Protection & Governance challenge at the 2026 HITLAB/UVU event. The public demo replays curated data. Some scenarios are illustrative; it is a hackathon demonstration, not a deployed government service.

Craig Cossairt: frontend and demo. Valerie Adams: agent orchestration engine and architecture.

Open the demo
Two bounty builds
Tools for founders

Startup State

Two connected explorations of a simpler question: what should a Utah founder do next?

Startup State public demonstration of its Utah founder resource platform

The question

A large catalog of programs is only useful if a founder can find the right next step. The same challenge appears when searching for government opportunities that fit a particular business.

What I built

Across two AI Builder Day bounty submissions, I built a founder platform with a playbook, resource discovery, startup map, and an AI navigator, then a second experience that ranks federal and Utah opportunities by fit.

Where it stands

The two builds are presented together here. Startup State is a working prototype; Opportunity Finder explains possible program fit rather than promising eligibility. Neither is presented as an official government service.

Built by Craig Cossairt with AI coding tools. The first build uses resource and startup data supplied for the GOED challenge.

Explore Startup State
Bounty prototype
Healthcare coordination

BetterRX

A shared view of hospice equipment orders, from admission through pickup.

BetterRX equipment oversight prototype showing its sample orders and care-team handoffs

The question

Hospice teams and equipment vendors need to coordinate deliveries, changes, and pickups. A missed handoff can leave people chasing the same order in different places.

What I built

For the BetterRX DME Ordering and Visibility bounty, I built a phone-first equipment board with role-specific views, order tracking, and an oversight surface for the care team.

Where it stands

Created for AI Builder Day Part 2 in August 2026. The demo uses sample orders and includes scenarios for missed discharges, delayed pickups, and equipment costs. It is a bounty submission, not a deployed clinical system; no prize or contract award is claimed. The live demo may be offline; the captured preview and source remain available.

Built by Craig Cossairt using the BetterRX challenge brief and supplied sample scenarios.

Explore the prototype