Kinplan: collaborative known-donor planning

Kinplan: collaborative known-donor planning

Live · Ongoing

Founded, designed and built a bilingual planning product with independent answers, shared review and a question-level AI guide that keeps decisions with participants.

Founded, designed and built a bilingual planning product with independent answers, shared review and a question-level AI guide that keeps decisions with participants.

Kinplan: collaborative known-donor planning project preview

Before the
shared plan

Try the review

How would you like to stay in contact?

Alex · Intended parent

“I’d like to share an update each year, and stay open to more contact.”

Sam · Known donor

“I’m open to updates. I haven’t decided how involved I want to be.”

Interactive explanation of the product approach. Fictional people and answers; this is not a captured product screen.

Designing agreement without erasing difference.

Kinplan helps intended parents and known donors work through expectations separately, compare them and review shared decisions. I founded the product and own its direction, interaction design, requirements and AI-assisted implementation, September 2026–present.

Inspect the captured screens

Explore the AI discussion flow

The design constraint

A shared form makes it easy to record one answer before everyone has expressed a view. I designed independent answers followed by comparison and discussion. “Still exploring” or “To discuss” keeps uncertainty visible rather than turning it into agreement.

Keep the original answer

In the fictional test below, the donor chose occasional agreed contact while the parents preferred updates through the parents. The original selections are retained. Completing a questionnaire means someone has answered, not that everyone agrees.

Actual Kinplan questionnaire from 21 October 2026, showing fictional donor and parent contact choices that differ

Show what was agreed together

Either side can propose a shared term. Each side accepts it separately. The accepted term is shown beside the donor’s original answer, with a route back to shared review. This avoids silently replacing someone’s earlier perspective with the eventual resolution.

Actual Kinplan screen from 21 October 2026: original fictional donor answer above a separately labelled agreed term and reopening guidance

Confirmation belongs to a version

Answer completion, acceptance of a shared term and final review are separate states. An open disagreement blocks final confirmation. Saving a later change reopens affected topics and clears final confirmations, while unaffected accepted terms remain recorded. A review confirmation is not a signature.

Actual Kinplan overview from 21 October 2026, showing a fictional completed questionnaire and separately confirmed parent and donor reviews

What testing changed

Early testers found navigation unclear and encountered a cookie-consent interaction blocking access in an affected browser. I added clearer hierarchy, a welcome walkthrough and an essential-only consent fallback. The affected experience was successfully retested; task-level details and a completion-rate comparison were not retained.

A separate recorded product walkthrough on 21 October 2026 completed the parent and donor questionnaires with a deliberate contact disagreement. Final confirmation stayed blocked until both sides accepted a structured resolution; each side then confirmed the version separately. These are controlled tests with fictional participants, not customer adoption results.

That review also exposed a gap: a reopened questionnaire showed the original answer without its accepted shared term. I added the “Agreed together” context and reopening guidance shown above. The follow-up walkthrough checked both roles, English and French, and navigation across a section boundary.

Make the next action understandable

The welcome walkthrough explains navigation, undecided answers and the effect of later edits before asking people to work through sensitive questions. It is optional and can be reopened from “How to navigate”.

Actual Kinplan navigation walkthrough captured 1 November 2026 using fictional first name Alex

Evidence notes

Questionnaire, accepted-term and overview screens are retained captures of fictional hosted tests from 21 October 2026; the interface has continued to evolve. The navigation walkthrough was captured 1 November 2026. The state rules, historical test evidence and early tester feedback are identified separately. Kinplan remains an early-stage product; these checks do not establish commercial traction.

AI product design · Guided reflection

Help people think. Leave the answer with them.

I designed the guide as a sounding board inside the questionnaire. It explains possibilities, builds on the conversation and makes space for uncertainty. Selecting answers, saving them and accepting shared terms remain participant actions.

Explore the recorded flow

Start with room for uncertainty.

“Still exploring” is a valid questionnaire state. “Why this matters” offers an everyday example, then opens guidance tied to this exact question.

The fictional participant has selected “Still exploring” manually. Opening the guide sends no form answer and changes no selection.

Actual contact question with “Still exploring” selected
Hosted product · fictional data · 1 November 2026

Build on the conversation.

The first reply distinguishes updates, time together and everyday decisions. When the participant asks about practical arrangements, the next reply moves to who initiates contact, how it is arranged and how a change would be discussed.

“A broad description of contact can leave practical details open: who initiates it, how it is arranged and how a change would be discussed.”

Actual two-turn AI conversation showing a new practical distinction
Hosted product · fictional data · 1 November 2026

Stop asking when the person is still unsure.

After “I still do not know,” the guide stops the reflective questioning. It explains how to leave the point open and bring it to a conversation between participants.

“You can leave this open for now. Use ‘Still exploring’ in the questionnaire and bring the question to a conversation between the parents and donor. You can return to it after that discussion.”

Actual guide response that leaves the decision open without another question
Hosted product · fictional data · 1 November 2026

The conversation ends. The answer stays yours.

“Back to Kinplan” returns to the question. The original “Still exploring” selection is still checked. The conversation clears when closed; there is no proposed answer to accept and no automatic saving.

Hosted verification checked the selection before and after the conversation, then reopened the guide to confirm that the chat was cleared.

Actual return to the unchanged questionnaire after closing the AI guide
Hosted product · fictional data · 1 November 2026

Context without overreach

The guide receives the question topic and a limited recent conversation. It does not infer someone else’s intentions or consent.

Continuity without pressure

Follow-ups move to an unexplored practical distinction. Continued uncertainty gets a way to leave the point open, rather than another question.

Control stays explicit

The guide never chooses, applies or saves an answer. AI processing is disclosed, and closing the guide clears the conversation.

Verified on the hosted product with fictional data: contextual launch, a non-repeating follow-up, continued uncertainty, unchanged selection and chat clearing. English and French choice-boundary checks were also verified live; automated regressions cover both parent and donor roles. These are controlled product checks, not adoption results or an independent usability study.

What changed, and how AI fits the build

Answer requests previously entered the same neutral fallback repeatedly. I made the boundary explicit, added history-aware grounding and gave repeated choice requests a clear return to the questionnaire. The guide still cannot select an answer.

The user-facing guide is separate from AI-assisted development. I use AI tools to implement React and TypeScript and work through states; I retain responsibility for the product decisions, boundaries and review.

Trust across the whole experience.

English and French carry through questions, guidance and documents. Preparation, review and eventual signatures remain distinct. Kinplan does not provide legal or medical advice, determine parentage or guarantee enforceability.

Explore the visual system and build
Demo language

A warm system. Clear decisions.

Warm colour and expressive threads make a sensitive process approachable. Reusable controls keep questions, guidance and feedback clear in English and French.

Kinplan’s original multicolour thread mark
kinplan
Thoughtful beginnings.
Clear intentions.

Georgia for a human, editorial voice.
System sans for clear questions and actions.

Why this matters

Making room for different expectations gives everyone a clearer place to begin.

An interactive specimen of the product’s visual language.

Ivory#F7F1E3
Ink#234D49
Muted#52635C
Accent#315F58

A hierarchy for clarity.

A clear hierarchy separates the topic, question and guidance.

Your family, your way.

What matters most to you?

There’s room to think it through together.

Choose “to discuss” when you’re still deciding.

Controls with a purpose.

One primary action, clear alternatives and unmistakable selection states.

How would you like to begin?

Each participant confirms their own perspective.

Helpful in every state.

Keep labels visible and make the next step specific.

The name you’d like us to use in your welcome.

Validation example

Enter the name you’d like us to use.

Illustrative error state.

Changes saved
Design system guidance

A hierarchy for clarity.

Expressive headings introduce the topic. Plain-language questions carry the task. Supporting text explains the decision without competing for attention.

Controls with a purpose.

One primary action moves the task forward. Secondary actions offer a way back. Labels stay visible, and a selected answer is shown through both colour and a native control.

Helpful in every state.

A field’s label explains what to enter. Help text adds context; an error gives a specific next step. Colour supports the message rather than carrying it alone.

Language, layout and accessibility

English and French
Controls grow with their labels. Translation includes help, errors and confirmation states.
Space and rhythm
Related content sits close together; larger gaps separate questions and sections. Common spacing steps are 8, 16, 24, 32 and 48 pixels.
Keyboard and focus
Native inputs, visible labels and a clear focus indicator keep the route through the page understandable.
Motion with restraint
The threads add personality at transitions. Reduced-motion preferences keep the content available without the movement.

One mark. Two perspectives.

Garden and Drawn explore the same six themes, then gather into the Kinplan logo.

Motion principles

This comparison loops the product’s original paths on a shared clock; product transitions remain finite. Pause freezes both styles and the welcome. Reduced-motion preferences start with still illustrations.

Make a connection.

Two perspectives, one conversation.

Garden
Drawn

Auto-cycling · both styles share one clock

A welcome in two languages.

Hand-drawn lettering flows into the mark and back again.

Welcome ↔ Kinplan

A little levity.

Familiar planning friction becomes a playful invitation to talk.

Campaign approach

The humour comes from everyday moments—the “quick” catch-up or a tiny question with a long answer—while treating people and their family arrangements with care.

Art direction, copy and natural English/French adaptations share one system across square, portrait and landscape formats.

Campaign examples
Enlarged project artifact

Implementation and tools

Full technology stack

Interface and application

React 19 · TypeScript · Next.js App Router conventions through Vinext and Vite · Tailwind CSS 4 · Base UI and Radix/shadcn primitives · Lucide icons · React Hook Form · Zod · next-themes · date-fns · libphonenumber-js.

Data, identity, and integrations

SQLite with Drizzle ORM and a D1-compatible database binding in the managed ChatGPT Sites runtime · Supabase Auth · jose for token handling · Web Crypto for protected session and plan data · Resend transactional email · Stripe Checkout and webhook integration · pdf-lib with fontkit for document generation.

AI and delivery

Cloudflare Workers AI with Llama 3.1 8B Instruct for bounded assistance · ChatGPT/Codex for AI-assisted implementation and iteration · ESLint, TypeScript checks, production builds, automated fixtures, and axe-core accessibility checks. The managed Sites deployment is distinct from the separate Cloudflare migration investigations.

Discovery and operations

Google Search Console · Google Analytics and consent-aware Microsoft Clarity integration · Ahrefs Site Audit · PageSpeed Insights/Lighthouse · WAVE · Schema.org validation · UptimeRobot · a separate Cloudflare Workers availability monitor with D1 state and Healthchecks.io heartbeat. Tool readings are dated observations, not continuous certification.

Selected artifacts

Independent questionnaire choices · fictional hosted test, 21 October 2026Different contact preferences remain recorded as separate perspectives. An answer is not agreement.
Accepted term beside the original answer · fictional hosted test, 21 October 2026The accepted shared term is visible without overwriting the donor’s original choice. Editing it reopens the affected topic and clears final confirmations.
Completed answers and separate confirmations · fictional hosted test, 21 October 2026The overview distinguishes answer completion from review confirmation. These are application confirmations, not signatures.
Optional navigation walkthrough · fictional first name, 1 November 2026The walkthrough explains how to move through questions, leave room for uncertainty and return later.
Public homepage · English
Donor invitation · English · fictional data
Donor invitation · French · fictional data
Version history with before-and-after changes · fictional component preview

Let’s make
it real.

Let’s make
it real.

Product ownership, from the difficult question to the working release. Based in Montréal. Open to remote roles, selective projects, and relocation for the right adventure.

Product ownership, from the difficult question to the working release. Based in Montréal. Open to remote roles, selective projects, and relocation for the right adventure.