---
title: How I Approach Events Differently
description: "How I plan, adjust and measure developer events: tracked links before, live changes during, and honest numbers afterwards."
image: https://mktg.nhcarrigan.com/hubfs/Generated_Image_September_29_2026_-_9_34PM.jpg
---

[Skip to content](https://mktg.nhcarrigan.com/blog/how-i-approach-events-differently#main-content)

[![](https://mktg.nhcarrigan.com/hs-fs/hubfs/logo.png?width=2048&height=2048&name=logo.png)Homepage](https://nhcarrigan.com)

- [Code](https://git.nhcarrigan.com)
- [Socials](https://socials.nhcarrigan.com)
- [Documentation](https://docs.nhcarrigan.com)

[Join Discord](https://chat.nhcarrigan.com)

- [Code](https://git.nhcarrigan.com)
- [Socials](https://socials.nhcarrigan.com)
- [Documentation](https://docs.nhcarrigan.com)

[Join Discord](https://chat.nhcarrigan.com)

![](https://mktg.nhcarrigan.com/hs-fs/hubfs/Generated_Image_September_29_2026_-_9_34PM.jpg?width=6336&height=2688&name=Generated_Image_September_29_2026_-_9_34PM.jpg)

# How I Approach Events Differently

![Naomi Carrigan](https://mktg.nhcarrigan.com/hs-fs/hubfs/Generated_Image_1790742324098.jpg?width=48&height=48&name=Generated_Image_1790742324098.jpg)

 Naomi Carrigan

October 12, 2026

Most event recaps list what happened. I try to do something different. I treat an event as a set of decisions I make before, during and after, and I check each decision against data.

This post describes three of those habits. They come from two events this year: AI Hackathon @ Berkeley and a developer conference expo in San Jose.

## Before the event: every resource gets its own link

Before I run a workshop, I give every resource its own short link: signup, the guide, the docs, each repository, the slide deck and the Discord invite. If I do not, I can only guess what people did after the session.

At Berkeley, I ran a workshop for about 50 people. The tracked signup link recorded 243 signups, close to five times the size of the room. The guide was the second most-used link, with 209 clicks, ahead of the documentation. I write the guide so that it works without me in the room, and the numbers suggest that people used it that way.

The links travelled. They were shared in Discord, placed in repository READMEs and passed around a hackathon of almost 400 projects. A session of 50 people reached several times its own size.

The data also changed my plan. About 74 percent of the repository clicks were for Python, so I now write workshop content for Python first.

## During the event: I watch the room and change what I show

A booth is a set of decisions made during the event. Here is how that worked at the expo in San Jose.

The day before the expo opened, I scoped the venue and confirmed our booth space. That gave me time to plan the screen before the first visitor arrived. The booth ran two looping slides. One carried QR codes for Discord, signup and documentation. The other carried a single code for our conference. Every code was a tracked short link, so I could see what visitors actually used.

After about an hour, I replaced the documentation code with a careers code. I made that change because I watched who stopped at the booth. Students kept asking about jobs and internships, and the docs link was not what they wanted. The careers link finished third of five, with around 60 clicks. The documentation link finished last, with about ten. The data confirmed what I had seen.

The audience was mixed: working engineers, students, and founders and technical leads. Founders asked about our startup programme. I run it, so I could answer them directly. I covered the booth for both full days and scanned well over 100 leads myself. Whenever a visitor asked for a demo, the demo took priority over the slides.

Presence matters as much as the screen. At Berkeley, I was the only sponsor who stayed all night, and I wrote about that in [I Stayed for 36 Hours Straight. Here Is Why](https://mktg.nhcarrigan.com/blog/ai-hackathon-berkeley-2026). During those 36 hours, 42 people personally invited me to see their project. Our track was not decided in the two-hour judging window. It was decided over the 24 hours before it, because I had watched the winning team build.

## After the event: I read the numbers honestly

I report tracked numbers as floors. At Berkeley, some tables also had generic QR codes that I could not measure, so real engagement was higher. Every untracked code is engagement I cannot count. I also do not stretch a number past what it shows. The careers and internship links had generic codes beside them, so I draw no recruiting conclusion from either.

I keep numbers that answer different questions apart. At the expo, we recorded over 200 link clicks and at least 20 registrations for our conference. Clicks are interactions. Registrations are conversions. I do not call them a funnel until the registration data has been reconciled. In my event report, I leave a field empty when I do not have the data yet. A blank is better than a guess.

The same habit applies to sponsor tracks. I do not judge a track by its submission count. Ours received 141 submissions at Berkeley, third-most of any sponsor. But the event had 398 projects, and each team could enter as many tracks as it liked. A count measures how easy a track was to enter as much as how appealing it was.

So I compare tracks by adoption rate against integration effort. I rate effort on four levels: none, low, medium and high. The track with the most submissions asked teams to build with a coding assistant that most of them already used. Another asked for a backend addition to an app that already existed. Ours needed a new modality. A team had to capture a microphone stream, connect speech-to-text or a voice agent, and handle real-time audio. Our criteria also said that voice must be essential to the experience, not added on. That works as a quality filter.

On that measure, 141 teams, 35 percent of the event, chose to put voice at the core of their project when nothing forced them to. The prize was four games consoles, while other sponsors offered cash, credits or an office hour. Arguably, that is the strongest result on the board.

A track that asks for more has to give more help. That is why I ran a workshop and shared starter repositories in Python and JavaScript for it. When I report a result like this, I give both numbers. The count is real. The adoption rate explains it.

## What connects these habits

Each habit answers one question. Before the event: how will I know what happened? During the event: what is the room telling me, and what should I change? After the event: what do the numbers actually show, and what do they not show?

An event is not something I attend and then summarise. It is something I can plan, adjust and measure. That is the difference I try to bring to every event I work.

If you run events for a developer audience, start with one change: give every resource its own link. Everything else follows from being able to see what people did.

## Share this post

<https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fmktg.nhcarrigan.com%2Fblog%2Fhow-i-approach-events-differently><https://twitter.com/intent/tweet?url=https%3A%2F%2Fmktg.nhcarrigan.com%2Fblog%2Fhow-i-approach-events-differently><https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fmktg.nhcarrigan.com%2Fblog%2Fhow-i-approach-events-differently><https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fmktg.nhcarrigan.com%2Fblog%2Fhow-i-approach-events-differently>[mailto:https%3A%2F%2Fmktg.nhcarrigan.com%2Fblog%2Fhow-i-approach-events-differently](mailto:https%3A%2F%2Fmktg.nhcarrigan.com%2Fblog%2Fhow-i-approach-events-differently)

## Keep reading

### [![](https://mktg.nhcarrigan.com/hs-fs/hubfs/Generated_Image_September_29_2026_-_9_34PM.jpg?width=6336&height=2688&name=Generated_Image_September_29_2026_-_9_34PM.jpg) How to Spot a Fake Email](https://mktg.nhcarrigan.com/blog/how-to-spot-fake-emails)

### [![](https://mktg.nhcarrigan.com/hs-fs/hubfs/Generated_Image_September_29_2026_-_9_34PM.jpg?width=6336&height=2688&name=Generated_Image_September_29_2026_-_9_34PM.jpg) How to Ask for Help (And How to Give It)](https://mktg.nhcarrigan.com/blog/asking-and-giving-help)

<https://linkedin.com/company/nhcarrigan><https://www.facebook.com/nhcarrigan><https://mktg.nhcarrigan.com/blog/x.com/nhcarrigan1><https://bsky.app/profile/nhcarrigan.com><https://support.nhcarrigan.com><https://www.reddit.com/r/nhcarrigan/>

---

[Privacy Policy](https://docs.nhcarrigan.com/legal/privacy/) · [Terms of Service](https://docs.nhcarrigan.com/legal/terms/) · © NHCarrigan 2026. All rights reserved.

 

15640 NE Fourth Plain Blvd, Ste 106 #923  
Vancouver, Washington 98682  
United States   
(971) 303-8662‬

 

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Naomi Carrigan",
    "url" : "https://mktg.nhcarrigan.com/blog/author/naomi"
  },
  "dateModified" : "2026-10-12T22:49:25.434Z",
  "datePublished" : "2026-10-12T22:49:25.000Z",
  "headline" : "How I Approach Events Differently",
  "image" : [ "https://mktg.nhcarrigan.com/hubfs/Generated_Image_September_29_2026_-_9_34PM.jpg" ],
  "mainEntityOfPage" : {
    "@id" : "https://mktg.nhcarrigan.com/blog/how-i-approach-events-differently",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://mktg.nhcarrigan.com/hubfs/logo.png"
    }
  }
}
```