<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://tend2thrive.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://tend2thrive.com/" rel="alternate" type="text/html" hreflang="en" /><updated>2026-08-03T18:39:50+00:00</updated><id>https://tend2thrive.com/feed.xml</id><title type="html">Tend2Thrive</title><subtitle>The professional relationship manager. Grow your network like a garden.</subtitle><author><name>McDoCo, LLC</name></author><entry><title type="html">When the room is the app</title><link href="https://tend2thrive.com/blog/2026/08/01/when-the-room-is-the-app/" rel="alternate" type="text/html" title="When the room is the app" /><published>2026-08-01T00:00:00+00:00</published><updated>2026-08-01T00:00:00+00:00</updated><id>https://tend2thrive.com/blog/2026/08/01/when-the-room-is-the-app</id><content type="html" xml:base="https://tend2thrive.com/blog/2026/08/01/when-the-room-is-the-app/"><![CDATA[<p>Our first event hit the cold-start problem: there were never quite enough people active on the app at the same moment for matchmaking to surface anything.</p>

<p>This isn’t that surprising. They were at an event. Their attention was on the panel, or on the person in front of them - which is exactly where it should be. Asking someone to stop, pull out their phone, and build a profile in the middle of a networking event is asking them to be a little bit rude to the room.</p>

<p>But that’s exactly where the people are. Tend2Thrive is a networking app - it’s worth nothing without other people on it, and the cheapest density I’ll ever find is a room already full of them. So the moment I most need someone to sign up is the moment they can least afford to look down.</p>

<p>That’s the bind, and my answer was to move the work off the event entirely: networking that opens before it starts, ephemeral accounts so you can join without signing up, chat so a connection has somewhere to go afterwards. During the event itself Tend2Thrive should be an <em>augmentation</em> - it should help, not hurt. Show the value beforehand, and the app only has to do the light thing while you’re there.</p>

<p>So we decided to stop competing with the room, and become the room instead.</p>

<h2 id="our-first-virtual-networking-event">Our first virtual networking event</h2>

<p>We treated it just like a real event - at a scheduled time, for a scheduled duration. But instead of a large Zoom call, we simply had a gallery: folks could browse each other’s avatars, names, and headlines, then privately indicate whether they were interested in meeting. If both sides agreed, a chat would open.</p>

<p>A deliberately small group, with some promising numbers:</p>

<table>
  <thead>
    <tr>
      <th style="text-align: center">Joined</th>
      <th style="text-align: center">Matched</th>
      <th style="text-align: center">Connected</th>
      <th style="text-align: center">Messages</th>
      <th style="text-align: center">Conversations</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center">8</td>
      <td style="text-align: center">6</td>
      <td style="text-align: center">5</td>
      <td style="text-align: center">171</td>
      <td style="text-align: center">6</td>
    </tr>
  </tbody>
</table>

<p>Eight people is a small room. But three quarters of it found someone worth meeting, five of those became real connections, and at an average of thirty-odd messages apiece these weren’t superficial exchanges.</p>

<p>Promising, and humbling, because it means my initial direction was off. Six weeks of building my way around a competition for attention, and what finally won it was removing the thing I was competing with. I’d treated the physical room as a given and the app as whatever had to fit around it - the same mistake I made when I decided nobody wanted another chat app.</p>

<p>I could have found this out in an afternoon - open a Zoom, put eight people in it, introduce them by hand. But I don’t think I’d have had the idea before I had the pieces. A virtual happy hour is chat, plus presence, plus a card people can read before they’ve met, plus mutual matching - it’s just what fell out when I set those next to each other. Cheap validation is good at testing a hypothesis and bad at producing one.</p>

<h2 id="whats-next">What’s next</h2>

<p>You may notice you can’t sign up on this site anymore. There’s a waitlist instead - and the waitlist resolves into a networking event.</p>

<p>That’s the same move as everything above. Signing up on your own drops you into an empty app, which is the cold-start problem in miniature: one person, no room. Arriving as a group means there are people there the moment you show up. So the queue isn’t really a queue - it’s the guest list.</p>

<p>If that sounds like a good evening, <a href="/#waitlist">join the waitlist</a>.</p>

<p>We’ll keep running physical events too. I still think there’s real value in browsing who’s in a room and gauging mutual interest up front, rather than leaving it to the luck of who you happen to stand next to.</p>]]></content><author><name>Matt Connors</name></author><summary type="html"><![CDATA[We ran our first fully virtual networking event this week. Eight people, 171 messages, and a problem I'd been solving from the wrong end.]]></summary></entry><entry><title type="html">From a contact to a conversation</title><link href="https://tend2thrive.com/blog/2026/07/23/from-a-contact-to-a-conversation/" rel="alternate" type="text/html" title="From a contact to a conversation" /><published>2026-07-23T00:00:00+00:00</published><updated>2026-07-23T00:00:00+00:00</updated><id>https://tend2thrive.com/blog/2026/07/23/from-a-contact-to-a-conversation</id><content type="html" xml:base="https://tend2thrive.com/blog/2026/07/23/from-a-contact-to-a-conversation/"><![CDATA[<p>Sign up, set up your profile - we’ll even suggest what to add - and then: “…now what?”</p>

<p>For too long the answer was <em>wait for an event</em>. That’s where Tend2Thrive earned its keep: scan, match, meet the room. But making a connection is just the start - you still have to grow it into something meaningful. So this week turned to <em>tending</em>: what a relationship becomes after you meet.</p>

<h2 id="every-contact-is-now-a-conversation">Every contact is now a conversation</h2>

<p>Initially, I really didn’t want to build chat. Every messaging app does it better than I could, so shipping my own felt redundant - vain, even. Users asked for it; I decided I knew better and filed the feedback under “not for us.”</p>

<p>Then <em>The Lean Startup</em> opened with a team certain nobody wanted yet another instant-messaging client. They were wrong - and not for the reason they assumed. That’s the trap: rejecting a feature is easy; interrogating <em>why</em> is the work, and I’d skipped it. My objection fell apart. Chat wasn’t product padding to look complete - it was the missing “now what.” It solved problems I already had, and the contact-specific timeline was already the right shape. I’d just been refusing to put words in it.</p>

<p>Now a contact isn’t a static card - it’s a <strong>thread</strong>: your in-person sightings, private notes, and messages, in one chronological story.</p>

<ul>
  <li><strong>Messaging, built in.</strong> Once connected, you can talk - freeform, one-to-one, in the thread that already holds your history.</li>
  <li><strong>An inbox that’s just your people.</strong> An unread dot on Contacts, the latest message on every row - your address book doubles as your inbox, most-recent first.</li>
  <li><strong>Suggestions in the thread.</strong> A profile detail someone offers you - or you offer them - shows up inline to accept or dismiss. Each side sees only its own half, so an offer never leaks back how the other person responded.</li>
  <li><strong>Blocking, done honestly.</strong> Blocking keeps the history you share but cuts off new messages, visibility, and any future match.</li>
</ul>

<h2 id="your-profile-is-a-lanyard">Your profile is a lanyard</h2>

<p>The biggest rethink was how you share <em>yourself</em>. The old model stacked three privacy tiers - nobody / contacts / connections - on every field. A maze, and nobody understood what counted as a contact versus a connection. So we dropped it, and picked up a metaphor.</p>

<p>Now, think of your profile as a <strong>lanyard</strong> - the badge you wear into a room. Every field sits at one of three levels:</p>

<ul>
  <li><strong>Public</strong> - printed on the front, readable before you’ve even met: others at the same event, matchmaking you’ve opted into. Your photo, name, and headline start here, so you’re recognizable.</li>
  <li><strong>On card</strong> - handed over the moment you meet, like a business card: they scan your code, or you match.</li>
  <li><strong>Off</strong> - private until you hand it to one person, one at a time.</li>
</ul>

<style>
.ly-fig { margin: 1.9rem auto; max-width: 20rem; font-family: system-ui, -apple-system, sans-serif; }
.ly-fig * { box-sizing: border-box; }
.ly-row { display: grid; grid-template-columns: 3.1rem 1fr; column-gap: 0.55rem; align-items: stretch; }
.ly-tag { display: flex; align-items: center; justify-content: flex-end; text-align: right; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.05em; }
.ly-tag--pub { color: #004F99; }
.ly-tag--card { color: #00BA00; }
.ly-tag--off { color: #8a94a0; }
.ly-clip { width: 54px; height: 13px; border-radius: 7px 7px 0 0; background: #004F99; position: relative; margin: 0 auto -1px; }
.ly-clip::after { content:""; position:absolute; left:50%; top:4px; transform:translateX(-50%); width:22px; height:4px; border-radius:999px; background:#fff; }
.ly-band { background:#eef4fb; border:1px solid #d3e2f0; border-left-width:4px; border-bottom:none; padding:0.85rem; display:grid; justify-items:center; gap:0.3rem; }
.ly-band--pub { border-left-color:#004F99; border-top-left-radius:12px; border-top-right-radius:12px; }
.ly-band--card { border-left-color:#00BA00; }
.ly-avatar { width:78px; height:78px; border-radius:50%; object-fit:cover; border:3px solid #fff; background:#dbe7f4 center/cover no-repeat; display:flex; align-items:center; justify-content:center; font-size:2.2rem; }
.ly-name { font-size:1.2rem; font-weight:700; color:#004F99; line-height:1.2; }
.ly-headline { font-size:0.82rem; color:#555; margin-top:-0.15rem; }
.ly-fields { width:100%; display:grid; gap:0.32rem; margin-top:0.2rem; }
.ly-field { display:flex; align-items:center; gap:0.5rem; font-size:0.8rem; min-width:0; }
.ly-field-k { flex:none; color:#555; }
.ly-field-v { flex:1; text-align:right; color:#004F99; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ly-foot { background:#00BA00; color:#fff; text-align:center; font-weight:800; font-size:0.66rem; letter-spacing:0.16em; padding:0.42rem; border:1px solid #d3e2f0; border-left:4px solid #00BA00; border-top:none; border-bottom-left-radius:12px; border-bottom-right-radius:12px; }
.ly-off { margin-top:0.55rem; }
.ly-off .ly-band { border:1px dashed #c2ccd6; border-left-width:4px; border-left-color:#b6bfc9; border-radius:10px; background:#f5f7fa; padding:0.6rem 0.85rem; justify-items:stretch; gap:0; }
.ly-off-row { display:flex; align-items:center; gap:0.5rem; font-size:0.8rem; }
.ly-off-k { color:#8a94a0; flex:none; }
.ly-off-v { flex:1; text-align:right; color:#5a6470; font-weight:700; }
.ly-cap { grid-column:2; font-size:0.68rem; color:#8a94a0; text-align:center; margin:0.35rem 0 0; font-style:italic; }
.ly-figcap { text-align:center; font-size:0.74rem; color:#555; margin-top:0.7rem; font-style:italic; line-height:1.45; }
</style>

<figure class="ly-fig">
<div class="ly-row"><span class="ly-tag ly-tag--pub">PUBLIC</span><div class="ly-clip"></div></div>
<div class="ly-row"><span class="ly-tag ly-tag--pub"></span><div class="ly-band ly-band--pub">
<div class="ly-avatar" style="overflow:hidden">
<svg viewBox="0 0 78 78" width="100%" height="100%" role="img" aria-label="Illustration of a synthetic person">
<defs>
<clipPath id="lyClip"><circle cx="39" cy="39" r="39" /></clipPath>
<linearGradient id="lyBg" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#eef4fb" /><stop offset="1" stop-color="#cfe0f1" /></linearGradient>
</defs>
<g clip-path="url(#lyClip)">
<rect width="78" height="78" fill="url(#lyBg)" />
<path d="M10 78 C12 60 25 53 39 53 C53 53 66 60 68 78 Z" fill="#004F99" />
<path d="M33 55 L39 62 L45 55" fill="none" stroke="#003D75" stroke-width="1.5" stroke-linejoin="round" />
<rect x="34" y="43" width="10" height="11" rx="4" fill="#e7cdb9" />
<ellipse cx="39" cy="46" rx="8" ry="3" fill="#d8b79f" opacity="0.5" />
<ellipse cx="39" cy="30" rx="15" ry="17" fill="#e9cfba" />
<path d="M18 64 C15 54 15 44 18 34 C13 -3 65 -3 60 34 C63 44 63 54 60 64 C58 61 55 60 52 57 C53 48 52 40 49 33 C49 24 45 20 39 20 C33 20 29 24 29 33 C26 40 25 48 26 57 C23 60 20 61 18 64 Z" fill="#dcc07a" />
<path d="M57 36 C59 48 58 56 55 61" fill="none" stroke="#c9a94f" stroke-width="0.8" opacity="0.4" />
<path d="M21 36 C19 48 20 56 23 61" fill="none" stroke="#c9a94f" stroke-width="0.8" opacity="0.4" />
<path d="M40 9 C31 9 26 16 27 25" fill="none" stroke="#efd79a" stroke-width="0.8" opacity="0.55" />
<path d="M28.4 25.6 q2.8 -1.6 5.4 0" fill="none" stroke="#b89347" stroke-width="1.2" stroke-linecap="round" />
<path d="M44.2 25.6 q2.8 -1.6 5.4 0" fill="none" stroke="#b89347" stroke-width="1.2" stroke-linecap="round" />
<circle cx="33" cy="30" r="3" fill="#ff3b30" opacity="0.3" />
<circle cx="45" cy="30" r="3" fill="#ff3b30" opacity="0.3" />
<ellipse cx="33" cy="30" rx="3.2" ry="2.2" fill="#fff" />
<ellipse cx="45" cy="30" rx="3.2" ry="2.2" fill="#fff" />
<circle cx="33" cy="30" r="1.9" fill="#e11d0f" />
<circle cx="45" cy="30" r="1.9" fill="#e11d0f" />
<circle cx="33" cy="30" r="0.95" fill="#3a0603" />
<circle cx="45" cy="30" r="0.95" fill="#3a0603" />
<circle cx="32.5" cy="29.5" r="0.5" fill="#ffd9d6" opacity="0.9" />
<circle cx="44.5" cy="29.5" r="0.5" fill="#ffd9d6" opacity="0.9" />
<path d="M39 31 l-1.6 5 q1.6 1 3.2 0" fill="none" stroke="#d3ac93" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" />
<path d="M34 39.6 Q39 43 44 39.6" fill="none" stroke="#c56b6b" stroke-width="1.6" stroke-linecap="round" />
<path d="M47 27 Q49.3 34 46 40" fill="none" stroke="#cbb09b" stroke-width="0.7" opacity="0.55" />
</g>
</svg>
</div>
<div class="ly-name">Number Six</div>
<div class="ly-headline">Human Resources &middot; Caprica</div>
</div></div>
<div class="ly-row"><span class="ly-tag ly-tag--card">ON&nbsp;CARD</span><div class="ly-band ly-band--card">
<div class="ly-fields">
<div class="ly-field"><span class="ly-field-k">📍 Location</span><span class="ly-field-v">Caprica City</span></div>
<div class="ly-field"><span class="ly-field-k">✉️ Email</span><span class="ly-field-v">six@blueskies.example</span></div>
<div class="ly-field"><span class="ly-field-k">🔗 Link</span><span class="ly-field-v">in/numbersix</span></div>
</div>
</div></div>
<div class="ly-row"><span class="ly-tag"></span><div class="ly-foot">TEND2THRIVE</div></div>
<div class="ly-row ly-off"><span class="ly-tag ly-tag--off">OFF</span><div class="ly-band">
<div class="ly-off-row"><span class="ly-off-k">🔒 Species</span><span class="ly-off-v">Cylon</span></div>
</div></div>
<div class="ly-row"><span class="ly-tag"></span><p class="ly-cap">Off never reaches the lanyard. Only she decides who ever sees it.</p></div>
</figure>

<h2 id="your-whole-address-book-in-and-out">Your whole address book, in and out</h2>

<p>Tend2Thrive competes on <strong>compatibility, not control</strong>. Thus, we’ve made it easier to move your contacts around:</p>

<ul>
  <li><strong>Import your LinkedIn connections.</strong> Drop in a <code class="language-plaintext highlighter-rouge">Connections.csv</code> (or a vCard) and everyone comes in - even connections who hide their email, matched on name and profile.</li>
  <li><strong>Export the whole book</strong> - one file, photos and all, anytime.</li>
  <li><strong>Every import says where it came from.</strong> A LinkedIn batch reads as exactly that - not a thousand strangers you claim to have met - so you can see, and act on, what arrived from a third-party export.</li>
</ul>

<h2 id="meeting-in-the-room">Meeting in the room</h2>

<p>The cold-start problem from our first event kept getting attention too.</p>

<p>Now, you can indicate interest in meeting. If both people are interested, it becomes a <strong>match</strong>: one push, fired the instant the second mark lands. From there, you can chat with each other. And, no awkwardness if it isn’t a match - the other party doesn’t see anything unless the interest is mutual.</p>

<h2 id="trust-restated">Trust, restated</h2>

<p>I refreshed the <strong>Terms and Privacy Policy</strong> to match how the product works now: sign-in by email code or name, LinkedIn optional; the newer data sources - address-book sync, calendar ingest, messages, phone numbers - all disclosed; US-only, open signup. Everyone re-consents on their next visit. No fine print slipped in quietly.</p>

<h2 id="whats-next">What’s next</h2>

<p>A month ago, a connection was a name and a place you met - and the app went quiet until the next event. Now it’s a conversation with its own history, a card you control, and a record you can take anywhere. Something to do between rooms.</p>

<p>But a foundation isn’t the point. The point is whether these become relationships people tend over time, not contacts they collected once. The next event will tell me more than any feature list can.</p>]]></content><author><name>Matt Connors</name></author><summary type="html"><![CDATA[Every contact becomes a conversation, more ways to import contacts, and a drastically simplified permissions model.]]></summary></entry><entry><title type="html">Warming the cold start</title><link href="https://tend2thrive.com/blog/2026/07/14/warming-the-cold-start/" rel="alternate" type="text/html" title="Warming the cold start" /><published>2026-07-14T00:00:00+00:00</published><updated>2026-07-14T00:00:00+00:00</updated><id>https://tend2thrive.com/blog/2026/07/14/warming-the-cold-start</id><content type="html" xml:base="https://tend2thrive.com/blog/2026/07/14/warming-the-cold-start/"><![CDATA[<p>Last week I wrote about the cold-start problem: at our first event, there were never quite enough people active at the same moment for live matchmaking to work well. My takeaway was that Tend2Thrive has to earn its place <strong>before</strong> the event starts - and, I’d add, long after it ends.</p>

<p>So the week pushed on three things: giving people a reason to open the app before doors, stripping the friction out of connecting in the room, and making sure your network doesn’t get trapped in my app once you leave it.</p>

<h2 id="value-before-the-doors-open">Value before the doors open</h2>

<p>This is the direct answer to last week. The room doesn’t have to be full and live for the app to be worth opening.</p>

<ul>
  <li><strong>Networking now opens ahead of the event.</strong> For an event, the networking layer wakes up about <strong>two hours before</strong> it starts - you can browse who else is coming, mark yourself <em>open to networking</em>, and start planning who to find, all before anyone’s in the room.</li>
  <li><strong>An ephemeral account that works like a ticket.</strong> Claim an event from an invite or a scanned QR code, and you land <em>inside</em> the app - able to see who’s coming, without a full sign-up. The account dissolves after the event unless you decide to keep it.</li>
</ul>

<h2 id="getting-connected-minus-the-friction">Getting connected, minus the friction</h2>

<p>The event also taught me that every extra tap between “I just met you” and “we’re connected” is where people fall off. So I went hunting for those taps.</p>

<ul>
  <li><strong>A code you show no longer runs out.</strong> It used to be “spent” after three scans, which made no sense when you’re showing your phone to a whole table - so within its 15-minute window, a single code now connects <em>any number</em> of people.</li>
  <li><strong>Signing up for T2T on the spot is easier now</strong> - rather than requiring a sign-in via LinkedIn or email, we simply collect your name, and drop you into the app experience. Your account will self-destruct at the end of the day unless you opt to keep it. Since asking a user to sign up is already a favor, this lets Tend2Thrive demonstrate value before having the user do even more work to set up their profile.</li>
  <li><strong>Invite a contact by email, and you’re connected the moment they accept.</strong> For the people who weren’t in the room, you can send a real invite from any contact - they click a link, it stands up their account, verifies their email, and forms a genuine connection carrying your vouch. And because you’ve already jotted down who they are, their new profile arrives half-built: the avatar, name, headline, and links you filed are offered back as opt-in suggestions - only ever filling in fields they’ve left empty, so nothing you noted can overwrite what they set. If they never accept, nothing is kept.</li>
</ul>

<p>The theme is the same each time: get out of the way. The fewer decisions between a handshake and a saved connection, the more of them survive.</p>

<h2 id="your-network-should-live-with-you-not-with-me">Your network should live with you, not with me</h2>

<p>This is the part I care about most. I’ve said Tend2Thrive competes on <strong>compatibility, not control</strong> - so this week I tried to prove it.</p>

<ul>
  <li><strong>Your contacts now sync live to your iPhone and Mac.</strong> Not a frozen export - a real <a href="https://en.wikipedia.org/wiki/CardDAV">CardDAV</a> address book. When someone updates their shared profile, it updates in your phone’s Contacts app. You mint a device password, paste it into Settings, and your Tend2Thrive people are just… in your phone, staying current.</li>
  <li><strong>Invite <code class="language-plaintext highlighter-rouge">timeline@tend2thrive.com</code> to any calendar event.</strong> Add that address as a guest on a Google/Outlook/Apple calendar invite and the event lands on your Tend2Thrive timeline - and everyone else on the invite resolves into your contacts, recorded as seen with you there. Your calendar is already a record of who you met; now it feeds the one place that remembers.</li>
  <li><strong>Import and export everything as vCards.</strong> Your whole collection moves in and out of Apple, Google, or any address book - photos and all. No lock-in, by design.</li>
</ul>

<p>None of this makes the app “stickier” in the manipulative sense. It arguably makes it <em>easier</em> to leave. I think that’s exactly why people will stay.</p>

<h2 id="contacts--timeline-enhancements">Contacts &amp; timeline enhancements</h2>

<p>Added more ways to keep in touch with your contacts, including:</p>
<ul>
  <li><strong>Phone numbers</strong>, at last.</li>
  <li><strong>Communities</strong> - record which Discord and Slack servers someone belongs to; they group under their own heading on the card.</li>
</ul>

<p>Further, the timeline now <strong>folds a run of similar moments</strong> - a batch of scans or adds - into one compact card instead of a long identical stack.</p>

<h2 id="for-the-people-running-events">For the people running events</h2>

<p>The host side kept maturing too: a <strong>guest Kanban board</strong> (invited → checked in → left, with a walk-in lane) and first-class <strong>walk-in</strong> support for people who show up without a link.</p>

<h2 id="safety-as-the-room-fills-up">Safety, as the room fills up</h2>

<p>Everything above is about lowering the barrier to entry - ephemeral accounts, connecting in one tap, no LinkedIn required. But a lower barrier means more strangers in the room, and that’s exactly when trust and safety stop being optional.</p>

<p>So this week laid the first foundation: an <strong>admin and moderation panel</strong> for the platform, the ability for anyone to <strong>flag problematic content</strong> for review, and <strong>account suspension</strong> that pulls a bad actor’s visibility and access entirely until a human resolves it.</p>

<h2 id="whats-next">What’s next</h2>

<p>Last week’s challenge was delivering value before the event. Between pre-event networking and interoperability, I think the pieces are now in place - if you can scope the room ahead of time, and your contacts and calendar already flow through Tend2Thrive, showing up with it should feel obvious. The next test is the next event. I want to see whether lowering the friction this much actually changes how many connections survive the room.</p>]]></content><author><name>Matt Connors</name></author><summary type="html"><![CDATA[How we made Tend2Thrive useful before an event starts, took the friction out of connecting in person, and started building the trust and safety tools a growing community needs.]]></summary></entry><entry><title type="html">Hello, world!</title><link href="https://tend2thrive.com/blog/2026/07/05/hello-world/" rel="alternate" type="text/html" title="Hello, world!" /><published>2026-07-05T00:00:00+00:00</published><updated>2026-07-05T00:00:00+00:00</updated><id>https://tend2thrive.com/blog/2026/07/05/hello-world</id><content type="html" xml:base="https://tend2thrive.com/blog/2026/07/05/hello-world/"><![CDATA[<p>I started Tend2Thrive 3 weeks ago with the goal of making networking easier for everybody. It came from a problem of my own: I could never remember <em>where</em> I’d met someone, or when we’d last spoken. That history is inherently multi-medium - sometimes it’s a coffee, sometimes it’s a zoom call, sometimes it’s an event. Stitching this together from the incumbent players was difficult, as most are in a war to prevent scraping and maintain their stranglehold on user-generated content.</p>

<p>In contrast, I decided to be aggressively user-friendly - giving full control of data, and building capabilities through <strong>compatibility, rather than control</strong>. Users are the producers, and I believe they’ll go where they are treated best. It’s obvious to me that they deserve autonomy over their data, and visibility into how it is used.</p>

<p>AI - despite its flaws - is incredibly empowering to the end user. It’s now simple for anybody to build their own professional website. But getting that site in front of the right people is still hard. Features are practically commoditized, so a durable moat is hard to find - but interoperability, plus a real record of who actually met whom in person, sure feels like one to me.</p>

<h2 id="product-progress">Product Progress</h2>

<p><strong>Week 1: formation</strong></p>
<ul>
  <li>Formed the company.</li>
  <li>Initial value proposition: A way to remember where you met someone, so you can follow up and grow your professional network.</li>
  <li>Deployed the tend2thrive.com marketing site with a “waitlist” boundary to the app itself.</li>
  <li>The garden motif was there from the beginning, and I had some fun with the logo.</li>
</ul>

<p><strong>Week 2: the app</strong></p>
<ul>
  <li>A real timeline - a stem growing out of a pot, one node per person you meet.</li>
  <li>Scan-to-remember: show your code like a digital lanyard; one scan logs <em>who</em> and
<em>where</em>.</li>
  <li>Can add events to your timeline.</li>
  <li>Per-field privacy (Nobody / Contacts / Connections) on all profile data, as well as the right to be forgotten via a self serve, full account deletion.</li>
  <li>Connections you earn — mutual and verified, not a follower count.</li>
  <li>API keys, so your AI agent can work on your behalf.</li>
</ul>

<p><strong>Week 3: expanding functionality, hosting events</strong></p>
<ul>
  <li>Cleaned up the “contacts” capabilities, and differentiated between data you have entered for someone, versus the data from their own profile.</li>
  <li>Bring your own links: email, LinkedIn, GitHub, X.</li>
  <li>Branded emails, sanitized profile images.</li>
  <li>Event host tools: magic links to prebuilt profiles, live matchmaking capabilities.</li>
</ul>

<h2 id="this-weeks-challenge">This week’s challenge</h2>

<p>I connected with <a href="https://www.linkedin.com/in/searchingstar/">Nick</a> from <a href="https://www.signalfit.co">SignalFit</a> during week 2, and we decided to <a href="https://luma.com/the-236y">co-host an event together</a> to showcase SignalFit’s matchmaking capability alongside Tend2Thrive’s app.</p>

<p>The event was great, but we hit the cold start problem - while conversion was decent, there were never enough people active on the app at the same time to surface live matchmaking suggestions.</p>

<p>This week, we’ll be looking at delivering value <em>before</em> the event starts, so it is clear why users should also use Tend2Thrive during the event.</p>

<p>Stay tuned for the next event we host!</p>]]></content><author><name>Matt Connors</name></author><summary type="html"><![CDATA[Catch up on the first 3 weeks of Tend2Thrive's existence along with the current problems we're facing.]]></summary></entry></feed>