DEV Community

Nathan Nguyen
Nathan Nguyen

Posted on

AI Email Generation

GitHub “Finish-Up-A-Thon” Challenge Submission

This is a submission for the GitHub Finish-Up-A-Thon Challenge

What I Built

Nudgen is an AI-powered retention email automation tool for Shopify store owners — built for lean teams who want Klaviyo-level intelligence without Klaviyo-level complexity.

The pitch is simple: most ecommerce email platforms are designed for enterprise marketing teams with dedicated specialists. Nudgen is for the solo founder who wants their store to send smart, personalised win-back emails, post-purchase flows, and churn nudges automatically — without touching a single segment or A/B test.

Connect your Shopify store. Nudgen figures out who to email, when, and what to say.

I started building this after watching a friend's Shopify store churn customers it could have easily retained — not because they didn't care, but because the tools required too much expertise and time they didn't have. That frustration became Nudgen.

Demo

🌐 nudgen.net

https://youtu.be/963Tz4Stm-Q?si=Mwwh06Dva8q4uKQr

The Comeback Story

Before this sprint, Nudgen existed in three states simultaneously: mostly working, mostly unshipped, and mostly avoided.

The core was functional — Shopify OAuth connected, the AI email generation engine produced real output, the emerald-green brand identity was locked. But the product had a graveyard of half-finished files that I kept opening, making small changes to, and closing again without shipping.

Where it was:

  • Landing page: skeleton with placeholder copy
  • Shopify App Store listing: blank
  • Onboarding flow: partial, no error states
  • Email templates: working but unstyled
  • Go-to-market: zero

What changed:

I forced a hard decision rule: nothing gets "improved" until it gets finished. If a file was 70% done, it shipped at 100% before anything else was touched.

Concretely, the finish-up sprint delivered:

  • ✅ Shopify App Store listing — description, subtitle, search terms, SEO metadata, all written and finalised
  • ✅ Landing page — live with rotating hero text, clear value prop, and email capture
  • ✅ HTML email template — branded, responsive, production-ready
  • ✅ Onboarding flow — complete with edge cases handled
  • ✅ Discord community scaffolding and LinkedIn go-to-market presence

The before was a repo with a lot of green squares and nothing users could actually touch. The after is a product someone can install, use, and get value from today.

My Experience with GitHub Copilot

Copilot was active throughout the finish-up sprint and its impact was most visible in two places: re-entry and scaffolding.

Re-entry is the tax you pay on any side project — the cost of coming back to a half-finished file after days away and reconstructing what you were thinking. Copilot drastically cut that tax. When I reopened a partial Shopify webhook handler I hadn't touched in two weeks, Copilot's inline suggestions surfaced the pattern I'd been following, and I was productive again within minutes instead of spending 20 minutes reading my own code.

Scaffolding — Shopify's API surface area is wide: OAuth flows, webhook registration, API pagination, retry logic. All of it has a correct shape, but writing it by hand is slow and error-prone. Copilot drafted the structural boilerplate and I focused on the differentiated logic — specifically the customer segmentation rules and the prompt architecture that drives AI email generation. That's the actual product. Copilot handled the plumbing so I could stay in the parts that matter.

One honest note: the AI email generation core — the prompt layer, the segmentation logic, the personalisation rules — I wrote that entirely myself. That's Nudgen's IP. But the 60% of the codebase that's infrastructure, routing, middleware, and config? Copilot saved hours there, and hours on a side project are everything.

The meta-lesson: Copilot is most valuable not when you're in flow, but when you're trying to get back into flow. For a finish-up sprint specifically, that's almost the whole job.

Top comments (0)