Back to work
Rosco

Better pet parenting, backed by a breed knowledge graph

Rosco is a self-initiated concept for a mobile app that gets to know your dog — breed, age, geography, history — and uses a breed knowledge graph to tell pet parents what to watch for and how to care, before problems arise.

Role
Self-initiated · Product, Design & Build
Platform
Mobile-first (iOS)
Space
Consumer · pet care
News (left), a personalized home feed with proactive alerts (center), and community (right).

The concept

An app that actually knows your dog

Rosco is a mobile-first app built on a simple premise: the more it knows about your dog — breed, age, geography, medical history — the better it can help you care for them.

It uses that profile to surface what to watch for and when, bringing the right guidance to pet parents at the right moment instead of waiting for them to go looking.

The problem

Pet parents don't know what they don't know

Most people learn to care for a dog reactively — usually once something is already wrong.

They don't know what to look for at a given age, what's more common in their region, what an early symptom actually looks like, or the everyday skills that would make parenting easier. The information exists, but it's scattered, generic, and hard to act on.

The design challenge

An enormous amount of data, made simple

This is where the project got interesting. Behind Rosco sits a breed knowledge graph — each breed's traits mapped to the conditions they're prone to, shaped by age, geography, and history.

That's a dense, technical body of medical information. The design challenge was to hide almost all of it — to turn a complex knowledge graph into a calm consumer app that simply tells you the one thing worth knowing today.

Onboarding builds the profile one simple question at a time; the home feed turns the graph into proactive nudges — “allergies are on the rise,” an upcoming vet reminder — and RoscoAI lets parents ask anything and get answers grounded in their own dog.

A fragment of the graph — the kind of dense, sourced structure the app distills into a single calm suggestion.

A closer look

From onboarding to everyday guidance

The whole experience hangs off one deceptively simple question — what breed is your dog? — which quietly unlocks the entire knowledge graph behind the scenes.

One simple question — breed — drives everything
RoscoAI — ask anything, grounded in your dog
Trusted, relevant guidance

The system underneath

A self-learning breed knowledge graph

The knowledge graph is only useful if it stays current and comprehensive — no small task across hundreds of breeds and conditions.

So I started building the backend to grow itself: a system that uses LLMs and veterinary data to source, structure, and expand its own per-breed database over time, rather than relying on someone to hand-maintain it.

That's the part that makes the consumer experience possible — the simplicity on the surface depends on a lot of automated work underneath.

The self-learning loop — the backend finds gaps, extracts and validates new claims, writes them back to the graph, and tunes its own priorities.

My role

Zero to one, solo

Rosco is self-initiated and fully designed by me, and it's a past exploration rather than a shipped product.

It's the kind of problem I'm drawn to: taking something conceptually hard — an enormous, technical dataset — and shaping it into something an everyday pet parent would actually want to use. I designed the full experience and prototyped the system that would feed it.

Built

  • Self-learning breed knowledge base (LLMs + veterinary data)

Designed

  • Onboarding
  • Personalized home feed
  • RoscoAI
  • News & articles
  • Community

Under the hood

The models behind the pipeline

The ingestion pipeline runs on Ollama Cloud through a slot proxy, routing each phase to the model best suited to it.

Think

  • Gap analysis + query planning
  • gpt-oss:120b-cloud

Extract

  • Structured claim extraction
  • deepseek-v3.1:671b-cloud

Synthesize

  • Wiki prose generation
  • deepseek-v3.1:671b-cloud

Judge

  • Publish-gate editorial scoring
  • deepseek-v3.1:671b-cloud

Fallback

  • Any unspecified phase
  • deepseek-v3.1:671b-cloud