<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nick Hasty | AI Consultant & Engineer</title>
<meta name="description" content="Nick Hasty is an independent AI consultant and engineer based in Atlanta, GA. Specializing in agentic AI systems, voice agents, and AI-native platforms. Founding engineer and previously VP of ML at GIPHY. Founder of Linda AI. Principal, Stable Basin.">
<meta name="keywords" content="AI consultant Atlanta, AI engineering consultant, agentic AI, voice agents, LLM applications, machine learning consultant, AI strategy, Atlanta tech">
<meta name="author" content="Nick Hasty">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://jnhasty.com/">

<meta property="og:type" content="website">
<meta property="og:url" content="https://jnhasty.com/">
<meta property="og:title" content="Nick Hasty | AI Consultant & Engineer">
<meta property="og:description" content="Independent AI consultant and engineer specializing in agentic AI systems, voice agents, and AI-native platforms. Founding engineer and previously VP of ML at GIPHY. Founder of Linda AI. Principal, Stable Basin.">
<meta property="og:image" content="https://jnhasty.com/assets/nick-hasty-headshot.png">

<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Nick Hasty | AI Consultant & Engineer">
<meta name="twitter:description" content="Independent AI consultant and engineer specializing in agentic AI systems, voice agents, and AI-native platforms.">
<meta name="twitter:image" content="https://jnhasty.com/assets/nick-hasty-headshot.png">
<style>
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  body {
    background: #181c2e;
    color: #e6edf3;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    line-height: 1.6;
    font-size: 15px;
  }

  a { color: #52c78a; text-decoration: none; }
  a:hover { text-decoration: underline; }

  .layout {
    display: flex;
    min-height: 100vh;
    max-width: 1000px;
    margin: 0 auto;
  }

  .sidebar {
    width: 280px;
    flex-shrink: 0;
    padding: 56px 32px 56px 40px;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #2a6640;
  }

  .sidebar-header { display: contents; }
  .sidebar-header-text { display: contents; }

  .avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 18px;
    display: block;
  }

  .sidebar h1 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.5px;
    color: #f0f6fc;
    margin-bottom: 5px;
  }

  .sidebar .role {
    font-size: 12px;
    color: #52c78a;
    margin-bottom: 20px;
  }

  .sidebar .bio {
    font-size: 13px;
    color: #d4ede4;
    line-height: 1.8;
    margin-bottom: 12px;
  }

  .sidebar .bio:last-of-type { margin-bottom: 28px; }

  .sidebar .bio strong {
    color: #eaf5ef;
    font-weight: 500;
  }

  .sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .sidebar nav a {
    font-size: 13px;
    color: #6ecba0;
    display: flex;
    align-items: center;
    align-self: flex-start;
    gap: 8px;
    transition: color 0.15s;
    text-decoration: none;
  }

  .sidebar nav a:hover,
  .sidebar nav a.active {
    color: #52c78a;
  }

  .sidebar nav a::before {
    content: '';
    display: block;
    width: 16px;
    height: 1px;
    background: currentColor;
    transition: width 0.2s;
    flex-shrink: 0;
  }

  .sidebar nav a:hover::before,
  .sidebar nav a.active::before {
    width: 28px;
  }

  .content {
    flex: 1;
    padding: 56px 48px 100px;
  }

  .section {
    margin-bottom: 60px;
  }

  .section-label {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #eaf5ef;
    margin-bottom: 24px;
  }

  .services-intro {
    font-size: 14px;
    color: #d4ede4;
    line-height: 1.65;
    margin-bottom: 24px;
  }

  .service-list { display: flex; flex-direction: column; }

  .service {
    padding: 16px 0;
    border-bottom: 1px solid #2a6640;
  }

  .service:first-child { border-top: 1px solid #2a6640; }

  .service h4 {
    font-size: 14px;
    font-weight: 600;
    color: #f0f6fc;
    margin-bottom: 4px;
  }

  .service p {
    font-size: 13px;
    color: #d4ede4;
    line-height: 1.65;
  }

  .services-cta {
    margin-top: 20px;
    font-size: 13px;
    color: #d4ede4;
  }

  .press-list { display: flex; flex-direction: column; gap: 12px; }

  .press-item { font-size: 14px; color: #d4ede4; line-height: 1.6; }
  .press-item strong { color: #eaf5ef; }

  .work-list { display: flex; flex-direction: column; gap: 36px; }

  .work-entry {
    padding-bottom: 36px;
    border-bottom: 1px solid #2a6640;
  }
  .work-entry:last-child { border-bottom: none; padding-bottom: 0; }

  .work-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 4px;
    gap: 12px;
  }

  .work-entry h3 { font-size: 16px; font-weight: 600; color: #f0f6fc; }

  .work-years {
    font-size: 12px;
    color: #6ecba0;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .work-role {
    font-size: 12px;
    color: #52c78a;
    margin-bottom: 10px;
  }

  .work-entry p { font-size: 14px; color: #d4ede4; line-height: 1.65; }

  .work-entry ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
  }

  .work-entry ul li {
    font-size: 14px;
    color: #d4ede4;
    line-height: 1.6;
    padding-left: 14px;
    position: relative;
  }

  .work-entry ul li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: #52c78a;
  }

  .work-subheading {
    font-size: 13px;
    font-weight: 600;
    color: #eaf5ef;
    margin: 16px 0 8px;
  }

  .work-subheading:first-of-type { margin-top: 12px; }

  .work-press {
    margin-top: 10px;
    font-size: 12px;
    color: #6ecba0;
  }

  .work-logo {
    height: 32px;
    width: auto;
    vertical-align: middle;
    border-radius: 4px;
    margin-right: 8px;
  }

  .work-screenshots {
    display: flex;
    gap: 12px;
    margin-top: 16px;
  }

  .work-screenshot {
    width: 110px;
    border-radius: 10px;
    border: 1px solid #2a6640;
  }

  .work-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    color: #52c78a;
    background: #0d2b1a;
    border: 1px solid #2a6640;
    padding: 2px 8px;
    border-radius: 20px;
    margin-right: 6px;
    margin-top: 10px;
  }

  .talk-list { display: flex; flex-direction: column; gap: 16px; }

  .talk { display: flex; gap: 20px; align-items: baseline; }

  .talk-year { font-size: 12px; color: #6ecba0; width: 32px; flex-shrink: 0; }

  .talk-title { font-size: 14px; color: #eaf5ef; line-height: 1.5; }
  .talk-title a { color: #eaf5ef; }
  .talk-title a:hover { color: #52c78a; }
  .talk-desc { font-size: 12px; color: #6ecba0; margin-top: 3px; line-height: 1.5; }

  .cta-button {
    display: inline-block;
    margin-top: 24px;
    padding: 10px 18px;
    background: #52c78a;
    color: #181c2e;
    font-size: 13px;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.15s;
    align-self: flex-start;
  }

  .cta-button:hover {
    background: #6ecba0;
    text-decoration: none;
  }

  .contact-links { display: flex; flex-direction: column; gap: 14px; }
  .contact-links a {
    font-size: 14px;
    color: #eaf5ef;
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
  }
  .contact-links a:hover { color: #52c78a; }
  .contact-links a svg { flex-shrink: 0; opacity: 0.7; }
  .contact-links a:hover svg { opacity: 1; }

  /* ── Mobile ── */
  @media (max-width: 768px) {
    body { font-size: 16px; }

    .layout { flex-direction: column; }

    .sidebar {
      width: 100%;
      height: auto;
      position: static;
      padding: 28px 20px 24px;
      border-right: none;
      border-bottom: 1px solid #2a6640;
    }

    .sidebar-header {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 20px;
    }

    .sidebar-header-text { display: block; }

    .avatar {
      width: 96px;
      height: 96px;
      flex-shrink: 0;
      margin-bottom: 0;
    }

    .sidebar h1 { font-size: 22px; margin-bottom: 4px; }

    .sidebar .role { margin-bottom: 0; font-size: 14px; }

    .sidebar .bio {
      font-size: 14px;
      margin-bottom: 16px;
      line-height: 1.7;
    }

    .sidebar .bio:last-of-type { margin-bottom: 20px; }

    .sidebar nav {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 6px 20px;
    }

    .sidebar nav a::before { display: none; }
    .sidebar nav a { font-size: 15px; align-self: auto; }

    .content { padding: 32px 20px 60px; }

    .section { margin-bottom: 48px; }

    .work-entry p,
    .work-entry ul li { font-size: 15px; }

    .work-entry h3 { font-size: 17px; }

    .work-meta { flex-wrap: wrap; gap: 4px; }

    .work-years { width: 100%; margin-top: 2px; }

    .work-screenshots { flex-wrap: wrap; }

    .work-screenshot { width: 46%; }

    .talk { gap: 12px; }
    .talk-title { font-size: 15px; }
    .talk-desc { font-size: 13px; }

    .press-item { font-size: 15px; }

    .services-intro { font-size: 15px; }
    .service p { font-size: 14px; }
    .service h4 { font-size: 15px; }
  }
</style>
</head>
<body>
<div class="layout">

  <aside class="sidebar">
    <div class="sidebar-header">
      <img class="avatar" src="assets/nick-hasty-headshot.png" alt="Nick Hasty">
      <div class="sidebar-header-text">
        <h1>Nick Hasty</h1>
        <div class="role">Consultant · Founder</div>
      </div>
    </div>

    <p class="bio">
      I'm an independent AI consultant and builder. Twenty years in tech leadership, a decade specializing in applied AI. I've built products used by billions, from founding engineer to VP of Product at GIPHY, to founder of Linda, backed by Factorial Capital. Advisor at Atlanta Tech Village.
    </p>
    <p class="bio">
      Agentic AI · Voice agents · Automation pipelines · AI-native platforms · Developer tooling
    </p>

    <nav>
      <a href="#work">Work</a>
      <a href="#services">Services</a>
      <a href="#talks">Talks</a>
      <a href="#press">Press</a>
      <a href="#contact">Contact</a>
    </nav>

    <a class="cta-button" href="mailto:jnhasty@gmail.com">Get in touch</a>
  </aside>

  <main class="content">

    <div class="section" id="work">
      <div class="section-label">Work</div>
      <div class="work-list">

        <div class="work-entry">
          <div class="work-meta">
            <h3>Stable Basin</h3>
            <span class="work-years">2024–Present</span>
          </div>
          <div class="work-role">Principal, AI Engineering Consultant</div>

          <div class="work-subheading">Virtual ER Platform</div>
          <p>Built a full-stack telehealth platform from zero: patient intake portal, EHR provider UI, and a serverless backend on AWS. FHIR-based architecture on Oystehr with Auth0, appointment scheduling, lab orders, Rx, and automated billing.</p>
          <ul>
            <li>Built an automated fax parsing pipeline that extracts patient data from incoming faxes and maps it directly to FHIR records, eliminating manual data entry.</li>
          </ul>
          <span class="work-tag">React</span>
          <span class="work-tag">TypeScript</span>
          <span class="work-tag">AWS</span>
          <span class="work-tag">FHIR</span>
          <span class="work-tag">Healthcare</span>

          <div class="work-subheading">Agentic Calling System</div>
          <p>Built a voice agent system on Retell AI that autonomously calls insurance adjusters to gather case information, replacing hours of manual outreach per claim.</p>
          <ul>
            <li>Designed an iteration-based versioning system so the team can test and promote new agent versions without touching live calls.</li>
            <li>Built an analytics suite tracking call outcomes, success rates, and campaign coverage.</li>
          </ul>
          <span class="work-tag">Python</span>
          <span class="work-tag">Retell AI</span>
          <span class="work-tag">Temporal</span>
          <span class="work-tag">LLMs</span>
          <span class="work-tag">Insurance</span>

          <div class="work-subheading">Agentic Coding Framework</div>
          <p>Designed and built an agentic coding framework that brings AI-assisted development into every phase of the SDLC, from ticket to merged code.</p>
          <ul>
            <li>Skills map to development phases and chain: spec, build, execute, test, pre-review, MR review. Each defines explicit inputs, outputs, and checkpoints.</li>
            <li>Runs inside Claude Code, Cursor, or Codex and pulls live context from Jira, Confluence, and Figma. Works across multiple repos.</li>
          </ul>
          <span class="work-tag">Claude Code</span>
          <span class="work-tag">Agentic AI</span>
          <span class="work-tag">Developer Tooling</span>
          <span class="work-tag">AI Enablement</span>
        </div>

        <div class="work-entry">
          <div class="work-meta">
            <h3><a href="https://podcore.luzlabs.ai" target="_blank" rel="noopener">PodCore</a></h3>
            <span class="work-years">2024</span>
          </div>
          <div class="work-role">Side Project · Luz Labs</div>
          <ul>
            <li>A podcast of a podcast. PodCore distills hour-long episodes into 5-minute audio summaries, plus a written brief with key concepts, notable quotes, and takeaways.</li>
            <li>Subscribe to any show via YouTube URL and get the brief delivered to your inbox the moment a new episode drops.</li>
          </ul>
          <div class="work-press">
            Sample briefs: <a href="https://podcore.luzlabs.ai/briefs/anthropic-s-1b-to-19b-growth-run-how-claude-became-the-k-H4nsOTuxU" target="_blank" rel="noopener">Anthropic's $1B to $19B growth run</a> &middot; <a href="https://podcore.luzlabs.ai/briefs/transformers-are-not-the-end-game-world-models-physical-ai-kcFsuxaJ1es" target="_blank" rel="noopener">Transformers Are Not the End Game</a>
          </div>
          <span class="work-tag">Python</span>
          <span class="work-tag">LLMs</span>
          <span class="work-tag">Audio AI</span>
          <span class="work-tag">Google Cloud</span>
          <span class="work-tag">Automation</span>
        </div>

        <div class="work-entry">
          <div class="work-meta">
            <h3><a href="https://hellolinda.ai" target="_blank" rel="noopener"><img class="work-logo" style="height:22px;" src="assets/linda-wordmark-white.png" alt="Linda"></a></h3>
            <span class="work-years">2022–Present</span>
          </div>
          <div class="work-role">Luz Labs · Founder &amp; CEO</div>
          <ul>
            <li>Founded and launched <a href="https://hellolinda.ai" target="_blank" rel="noopener">Linda</a>, an iOS app that conducts real-time AI interviews and transforms them into polished podcast episodes, published directly to Spotify and Apple Music.</li>
            <li>Named after my mother, inspired by a road trip where I realized I'd never actually recorded her stories. Built for anyone who wants a living audio archive of their own life.</li>
            <li>Users have created thousands of episodes. Average session time of 30 minutes; 45% WAU/MAU for power users.</li>
            <li>Raised angel funding from <a href="https://factorialcap.com/" target="_blank" rel="noopener">Factorial Capital</a> and Alex Chung (GIPHY founder).</li>
          </ul>
          <div class="work-press">
            Press: <a href="https://www.ajc.com/things-to-do/aging-in-atlanta/ai-platform-helps-senior-users-share-stories-quickly-and-easily/SQYXMTEWQRCVNDJVVX34IYIBJA/" target="_blank" rel="noopener">Atlanta Journal-Constitution</a> &middot; <a href="https://theaieconomy.substack.com/p/meet-linda-ai-turns-memories-into-podcasts" target="_blank" rel="noopener">The AI Economy</a>
          </div>
          <div class="work-screenshots">
            <img class="work-screenshot" src="assets/linda-screenshot-intro.png" alt="Linda interview screen">
            <img class="work-screenshot" src="assets/linda-screenshot-episode.png" alt="Linda episode screen">
          </div>
          <span class="work-tag">Voice AI</span>
          <span class="work-tag">iOS</span>
          <span class="work-tag">Consumer</span>
          <span class="work-tag">Funded Startup</span>
        </div>

        <div class="work-entry">
          <div class="work-meta">
            <h3>
              <svg style="height:16px;width:auto;vertical-align:middle;margin-right:6px;fill:#52c78a;position:relative;top:-1px;" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M2.666 0v24h18.668V8.666l-2.668 2.668v10H5.334V2.668H10L12.666 0zm10.668 0v8h8V5.334h-2.668V2.668H16V0"/></svg>GIPHY
            </h3>
            <span class="work-years">2013–2024</span>
          </div>
          <div class="work-role">Founding Engineer → VP of Product, ML</div>

          <div class="work-subheading">Engineering · 2013–2018</div>
          <ul>
            <li>First engineer. Built much of the foundational infrastructure: the website, v2 web crawlers, and early content pipelines. Contributed to the API and search engine from the ground up.</li>
            <li>Built foundational systems for a platform that scaled to 2–3 billion daily searches and hundreds of millions of users worldwide.</li>
            <li>Took on the company's most forward-looking technical problems independently, laying the groundwork for GIPHY's ML org.</li>
          </ul>

          <div class="work-subheading">ML &amp; Product · 2018–2024</div>
          <ul>
            <li>Built and led GIPHY's ML org from the ground up. Grew to a team of 5 ML engineers covering search, recommendations, content intelligence, and generative content.</li>
            <li>Trained and open-sourced GIPHY's celebrity detection model, a custom CNN identifying 2,300+ celebrities at 98% accuracy.</li>
            <li>Built GIPHY2Vec, an in-house NLP model for content recommendations and semantic KNN search.</li>
            <li>Integrated vector search across GIPHY's core search product, achieving 50–200% CTR lift on long-tail queries.</li>
            <li>Built a semantic query clustering microservice that enabled a 5–10x increase in advertiser keyword inventory.</li>
            <li>Fine-tuned generative models for production use: AnimateDiff for video content, CLIP for recommendations, LLMs for search taxonomy.</li>
          </ul>

          <div class="work-press">
            Press: <a href="https://cloud.google.com/blog/products/gcp/building-a-better-giphy-with-google-clouds-machine-learning-tools" target="_blank" rel="noopener">Google Cloud Blog</a>
          </div>
          <span class="work-tag">ML Infrastructure</span>
          <span class="work-tag">Search &amp; Discovery</span>
          <span class="work-tag">Scale</span>
          <span class="work-tag">Generative AI</span>
        </div>

        <div class="work-entry">
          <div class="work-meta">
            <h3><a href="https://atlantatechvillage.com" target="_blank" rel="noopener">Atlanta Tech Village</a></h3>
            <span class="work-years">2024–Present</span>
          </div>
          <div class="work-role">Advisor</div>
          <p>Part of Atlanta Tech Village's selective advisor program, working with early-stage startups on AI, fundraising, product strategy, team building, and engineering.</p>
        </div>

        <div class="work-entry">
          <div class="work-meta">
            <h3><a href="https://theglobaljukebox.org" target="_blank" rel="noopener">The Global Jukebox</a></h3>
            <span class="work-years">2016–2017</span>
          </div>
          <div class="work-role">Consulting Engineer</div>
          <ul>
            <li>Migrated Alan Lomax's Global Jukebox, a vast ethnomusicology archive, off a local Java server and into a cloud-hosted Django API with a queryable database.</li>
            <li>Uploaded thousands of field recordings and audio files to cloud storage, making them publicly accessible for the first time at scale.</li>
            <li>The project launched to <a href="https://www.nytimes.com/2017/07/11/arts/music/alan-lomax-global-jukebox-digital-archive.html" target="_blank" rel="noopener">New York Times coverage</a> in July 2017.</li>
          </ul>
          <span class="work-tag">Django</span>
          <span class="work-tag">Cultural Preservation</span>
          <span class="work-tag">Cloud Migration</span>
        </div>

        <div class="work-entry">
          <div class="work-meta">
            <h3><img class="work-logo" src="assets/rhizome-logo.png" alt="Rhizome"> Rhizome at the New Museum</h3>
            <span class="work-years">2008–2012</span>
          </div>
          <div class="work-role">Director of Technology</div>
          <ul>
            <li>Migrated Rhizome's sprawling PHP codebase to Django, modernizing the platform for one of the world's leading digital art organizations.</li>
            <li>Rebuilt the <a href="https://artbase.rhizome.org" target="_blank" rel="noopener">ArtBase</a>, Rhizome's archive of born-digital artworks, into a custom museum management CMS.</li>
            <li>Collaborated with the Getty to develop a new ontology for describing and classifying digital artworks.</li>
          </ul>
          <span class="work-tag">Django</span>
          <span class="work-tag">Digital Art</span>
          <span class="work-tag">Archival Systems</span>
        </div>

      </div>
    </div>

    <div class="section" id="services">
      <div class="section-label">Services</div>
      <p class="services-intro">I take on a small number of engagements at a time. I work directly with founders and engineering leads, and I do the hands-on work.</p>
      <div class="service-list">
        <div class="service">
          <h4>Agentic Systems</h4>
          <p>Voice agents, coding agents, multi-step orchestration pipelines. I've built these across insurance, healthcare, and developer tooling.</p>
        </div>
        <div class="service">
          <h4>AI Strategy and Enablement</h4>
          <p>Where AI fits in your stack, what to build vs. buy, and how to build the internal practices that make adoption stick.</p>
        </div>
        <div class="service">
          <h4>Platform and Product Build</h4>
          <p>Full-stack AI-powered platforms from architecture to production. Useful when you have a clear problem and need a technical lead who can also make product decisions.</p>
        </div>
      </div>
      <p class="services-cta">Based in Atlanta, GA. Available for remote and on-site engagements. Reach out at <a href="mailto:jnhasty@gmail.com">jnhasty@gmail.com</a>.</p>
    </div>

    <div class="section" id="talks">
      <div class="section-label">Talks &amp; Podcasts</div>
      <div class="talk-list">
        <div class="talk"><span class="talk-year">2025</span><div><div class="talk-title">What Can AI Do for Me?, Panel, Atlanta Tech Village, Atlanta Tech Week</div><div class="talk-desc">Practical AI adoption for non-technical founders and executives.</div></div></div>
        <div class="talk"><span class="talk-year">2025</span><div><div class="talk-title">Re:Imagine Creativity in the Age of AI, Panel, Tech Square ATL / GA Tech</div><div class="talk-desc">How generative AI is reshaping creative industries.</div></div></div>
        <div class="talk"><span class="talk-year">2025</span><div><div class="talk-title"><a href="https://www.youtube.com/watch?v=fziBzGXiHz0">Healthcare Wayfinders Podcast</a></div><div class="talk-desc">Building conversational AI for healthcare and the story behind Linda.</div></div></div>
        <div class="talk"><span class="talk-year">2025</span><div><div class="talk-title"><a href="https://traktiontalks.buzzsprout.com/1220831/episodes/16910158">Traktion Talks: Future of Conversational AI</a></div><div class="talk-desc">Where voice and conversational agents are headed.</div></div></div>
        <div class="talk"><span class="talk-year">2023</span><div><div class="talk-title"><a href="https://www.youtube.com/watch?v=89gd1r_dVuU">MLOps.community: Inferring Creativity</a></div><div class="talk-desc">What generative models reveal about the nature of creativity and intelligence.</div></div></div>
        <div class="talk"><span class="talk-year">2023</span><div><div class="talk-title"><a href="https://videos.theconference.se/nick-hasty-inferring-creativity/">Closing Keynote, The Conference, Malmö, Sweden</a></div><div class="talk-desc">On generative AI and machine creativity.</div></div></div>
        <div class="talk"><span class="talk-year">2021</span><div><div class="talk-title"><a href="https://render.betaworks.com/is-natural-language-understanding-ready-for-consumer-app-use-cases-fabdb4ead865">GIPHY2Vec, Betaworks GPT-What? Conference</a></div><div class="talk-desc">How GIPHY built its in-house NLP model for content recommendations and search.</div></div></div>
        <div class="talk"><span class="talk-year">2019</span><div><div class="talk-title"><a href="https://changelog.com/practicalai/38">Practical AI Podcast: GIPHY's Celebrity Detection Model</a></div><div class="talk-desc">Building and open-sourcing a custom CNN that identifies 2,300+ celebrities at 98% accuracy.</div></div></div>
        <div class="talk"><span class="talk-year">2018</span><div><div class="talk-title">Google Cloud Next '18, San Francisco</div><div class="talk-desc">Co-presented with Google Cloud on how GIPHY used ML to auto-tag content at scale.</div></div></div>
        <div class="talk"><span class="talk-year">2018</span><div><div class="talk-title">Train AI 2018, San Francisco</div><div class="talk-desc">Applied machine learning in production systems.</div></div></div>
      </div>
    </div>

    <div class="section" id="press">
      <div class="section-label">Press &amp; Publications</div>
      <div class="press-list">
        <div class="press-item"><strong>Atlanta Journal-Constitution</strong> (2025) · <a href="https://www.ajc.com/things-to-do/aging-in-atlanta/ai-platform-helps-senior-users-share-stories-quickly-and-easily/SQYXMTEWQRCVNDJVVX34IYIBJA/" target="_blank" rel="noopener">AI platform helps senior users share stories quickly and easily</a></div>
        <div class="press-item"><strong>arXiv</strong> (2020) · <em>Self-attention aggregation network for video face representation and recognition</em>, <a href="https://arxiv.org/abs/2010.05340" target="_blank" rel="noopener">arXiv:2010.05340</a></div>
        <div class="press-item"><strong>Google Cloud Blog</strong> (2018) · <a href="https://cloud.google.com/blog/products/gcp/building-a-better-giphy-with-google-clouds-machine-learning-tools" target="_blank" rel="noopener">Building a better GIPHY with Google Cloud's machine learning tools</a></div>
        <div class="press-item"><strong>New York Times</strong> (2017) · <a href="https://www.nytimes.com/2017/07/11/arts/music/alan-lomax-global-jukebox-digital-archive.html" target="_blank" rel="noopener">Alan Lomax's Global Jukebox Goes Digital</a></div>
        <div class="press-item"><strong>TechCrunch</strong> · <a href="https://techcrunch.com/tag/giphy/" target="_blank" rel="noopener">GIPHY coverage from TechCrunch over the years.</a></div>
      </div>
    </div>

    <div class="section" id="contact">
      <div class="section-label">Contact</div>
      <div class="contact-links">
        <a href="mailto:jnhasty@gmail.com">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg>
          jnhasty@gmail.com
        </a>
        <a href="https://www.linkedin.com/in/nickhasty/" target="_blank" rel="noopener">
          <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg>
          LinkedIn
        </a>
        <a href="assets/NickHastyCV.pdf" download>
          <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="12" y1="11" x2="12" y2="17"/><polyline points="9 14 12 17 15 14"/></svg>
          Download CV
        </a>
      </div>
    </div>

  </main>

</div>
</body>
</html>
