Cody Cantrell, in an engraved portrait

Cody Cantrell

About

Full-stack engineer and AI developer.

I'm Cody Cantrell, a self-taught software developer with a passion for creating software that feels as good as it functions.

I enjoy building apps and websites that are intuitive, visually polished, and thoughtfully crafted. Whether I'm developing an iOS app, designing a website for a local business, or learning a new technology, I'm always looking for ways to create experiences that feel effortless to use. I believe great software is more than just functional—it should be fast, refined, and something people genuinely enjoy coming back to.

I care about the details. Smooth interactions, clean interfaces, thoughtful design, and solid engineering are the things that turn a good product into a great one, and they're the standards I try to bring to every project.

Outside of development, my faith in Jesus, my wife Gracie, and our son Shepherd are at the center of my life. They shape both how I work and why I build. When I'm away from the keyboard, you'll usually find me staying active or planning another trip to Disney World with my family.

Cody Cantrell, in an engraved portrait

Resume

Where I have worked

  1. MAR 2026 — PRESENT

    Gifford Properties

    Lead Developer

    • Lead developer for the company’s web presence, designing and building sites for two of its properties.
    • Little Town — seven hand-built pages — HTML, CSS and a little JavaScript, no framework — for a children’s play space, ordered to answer a parent’s questions the way a parent actually asks them.
    • Fusion Coffee — a Next.js site built from the shop’s own moodboard, live at its own domain and installable as a PWA, with ordering handed off to their existing Square flow.
  2. MAR 2026 — PRESENT

    Independent

    Freelance Developer

    • PC Pro Inspections — a static React marketing site for a residential home inspector, with an instant quote calculator, no-backend lead capture, and local SEO built to rank for searches in the next town over.
    • Faith Outreach — redesigned a church’s website in place on Squarespace 7.1 — the platform its own staff already knew — and delivered it as a project binder: redesign plan, brand kit, page-by-page copy, a build runbook, and a redirect map that kept the congregation’s existing links and search rankings intact.
  3. JUL 2025 — PRESENT

    Workout Buddy

    Founder & Developer

    • Designed, built and shipped a hypertrophy training app for iPhone and Apple Watch — auto-progressing mesocycles against RP volume landmarks, with an AI coach that proposes program changes the app validates before applying them.
    • Built the native depth end to end — a SwiftUI watchOS app on a real HKWorkoutSession, Live Activities, App Intents for Siri, Shortcuts and Spotlight, home and watch widgets, and two custom Expo native modules bridging them into React Native.
    • Own the whole product solo on a React Native and Supabase (Postgres, row-level security) stack — roadmap, App Store review, crash triage and the support inbox. Shipped to the App Store in June 2026.
  4. MAY 2019 — MAR 2026

    L&E Recycling

    Warehouse Manager

    • Managed day-to-day warehouse operations for nearly seven years — staff, logistics and inventory.
    • Designed and built a custom inventory management system for the company from scratch, self-taught, alongside full operational duties.

What I work in

Platform
  • Swift
  • SwiftUI
  • watchOS
  • App Intents
  • WidgetKit
  • Live Activities
Data
  • SwiftData
  • CloudKit
  • HealthKit
  • Postgres
  • Row-level security
Practice
  • App Store release
  • Crash triage
  • Accessibility
  • Performance budgets

Projects

What I have built

Skills

  • Swift
  • SwiftUI
  • watchOS
  • HealthKit
  • WidgetKit
  • CloudKit
  • React Native
  • TypeScript
  • Next.js
  • PostgreSQL
  • Supabase
  • Tailwind CSS
  • Git
  • GSAP
  • WebGL
  • Accessibility

Flagship

Workout Buddy

iOS · watchOSShipped to the App Store in June 2026

Open in the App StoreVisit the site

Workout Buddy is a hypertrophy training app for iPhone and Apple Watch. You log sets, it runs auto-progressing mesocycles against RP volume landmarks, and an AI coach proposes program changes that the app validates before it applies them — for lifters who want real programming without building a spreadsheet.

I designed it, built it, shipped it, and I am the only person who maintains it. Roadmap, App Store review, crash triage, support email.

93 native Swift tests · about 4 seconds · no simulator

Screens

  • Workout Buddy — today’s Push session, logging a set with the rest timer running

    Today

  • Workout Buddy — Buddy, the AI coach, proposing a change to the Push day

    Coach

  • Workout Buddy — the Programs list with an active Push/Pull/Legs mesocycle

    Programs

  • Workout Buddy — the Profile screen, with training streaks and step tracking

    Profile

Native depth

watchOS app
SwiftUI, driven by a pure workout state machine, with a real HKWorkoutSession — pause, resume, heart rate, calories — that round-trips into phone history. Starts standalone.
Live Activities
Lock Screen and Dynamic Island, with an interactive Log set button that works while the app is suspended — and says so when a set needs typed numbers first.
App Intents
Ask Buddy and Start Workout, surfaced in Siri, Shortcuts and Spotlight, plus an iOS 18 Control Center and Action-button control.
Widgets
Home and Lock Screen steps widgets that refresh themselves from the pedometer while the app is closed, and a watch complication that deep-links in.
HealthKit
Workouts, heart rate, bodyweight and steps — phone workouts write back to Apple Health with cross-device dedupe against the watch’s own save.
Native bridges
Two custom Expo modules I wrote: ActivityKit over an App Group queue and a Darwin notification, and WatchConnectivity.

Architecture

  1. Surfaces

    Four processes, four memory budgets

    • iPhone app (Expo / RN)
    • Watch app (SwiftUI)
    • Widgets
    • Live Activity
  2. Commands

    One entry point for every surface

    • App Intents
    • Siri / Shortcuts / Control Center
  3. Domain

    Pure, tested, no UI framework

    • Auto-progression engine
    • Workout state machine (Swift)
    • Offline write queue
  4. State

    Local first, server second

    • zustand + AsyncStorage
    • Supabase (Postgres + RLS)
  5. Integrations

    Optional — denial degrades, never blocks

    • HealthKit
    • Anthropic proxy
    • RevenueCat
A React Native app with native Swift where native is the only way to do it. Everything above the store is a surface; everything below it is state.

Decisions

  1. The Lock Screen can log a set while the app is suspended

    The interactive Log set button writes into an App Group queue and raises a Darwin notification instead of waking the JS runtime — the app drains the queue next time it runs, so the tap survives whether anything is alive to receive it.

    TradeoffTwo writers now touch the same workout, so the drain order has to be designed, not assumed — the payoff is a button that works even when the app is gone.

  2. The AI coach proposes; the app decides

    The chat coach never writes to the program directly — it returns a proposed change, the app validates it against its own rules, and only then applies it, through a server-side proxy with a hard per-user dollar budget.

    TradeoffEvery AI-suggested change has to be reachable by hand too, but the validation layer means a rejected proposal never becomes a corrupted mesocycle.

  3. The native code is testable without a simulator

    A root Package.swift compiles the pure Swift — the watch state machine and its friends — on macOS, where `swift test` runs 93 native tests in about four seconds.

    TradeoffThe logic has to stay genuinely free of UIKit and WatchKit — in exchange, CI checks the hardest part of the app in seconds.

Honestly

The hardest problem

Keeping one workout consistent across four processes that share no memory — phone, watch, widget and Live Activity can each believe they know the current set, and the Log set button can fire when the app is not running at all. The fix was to stop treating the app as the owner: surfaces append into an App Group queue, and a drain step folds them into state in a defined order.

Native app

The Harvest

iOS · SwiftUIA Bible app centered on Jesus.

A native iOS Bible app built around reading, writing and listening rather than streaks and badges. Two full public-domain translations ship inside the binary, so it works with the network off.

Read the code on GitHub

What's inside

The whole Bible, offline
KJV and the World English Bible bundled — all 66 books, 31,100+ verses. Reference and full-text search, and a six-colour highlight palette where each colour carries a meaning.
Notes as a writing room
A parchment surface with serif ink and gentle prompts, verse attachments, and Reflection, Sermon and Prayer as distinct kinds.
Sermons that take their own notes
Add a podcast URL or import audio, then on-device transcription pulls out key points and every scripture mentioned as tappable chips that open the reader. Works with no backend — a connected one just makes the summary richer.
Ask, with the app as context
An assistant that activates once you connect your own backend. It already knows the passage you are in, your notes and your plan, and answers with verse chips that jump straight into the reader.

Constraints

  • No third-party dependencies — Apple frameworks and bundled public-domain scripture only.
  • iOS 18 deployment target, iPhone-first and running on iPad, with Liquid Glass surfaces on iOS 26 and a graceful material fallback below it.
  • Design carries the intent: warm near-black canvas, antique gold and parchment, procedural light backgrounds, arch motifs.

Screens

  • The Harvest — the Home screen, with the verse of the day and today’s reading

    Home

  • The Harvest — the KJV reader, open to 1 John 4

    Reader

  • The Harvest — Notes, filterable by Reflection, Sermon and Prayer

    Notes

  • The Harvest — Sermons, ready to transcribe an added sermon

    Sermons

Client work

Little Town

Client · Web

A play-town site for small children in Fairfield, Illinois.

Open the live siteRead the code on GitHub

What it does

  • Seven hand-built pages — visit, memberships, pricing, parties, the story — written to answer a parent’s questions in the order a parent actually asks them.
  • Hand-written HTML, CSS and a little JavaScript. No framework and no build step — a brochure doesn’t need a toolchain.
  • Cross-sells the coffee shop next door, which is the other site on this page.
Little Town — the home page

Little Town

Little Town — the home page, on mobile

Mobile

Client work

Fusion Coffee

Client · Web

Coffee shop site for a coffee shop in downtown Fairfield, Illinois.

Open the live siteRead the code on GitHub

What it does

  • Built from the shop’s own moodboard — warm, editorial and photography-forward — with their neon logo kept as the brand mark.
  • Next.js App Router site, live at its own domain and installable as a PWA — full icon set, app shortcuts, and an iPhone home screen icon via apple-touch-icon.
  • Shop content — address, hours, menu, socials — lives in a single site file, so it changes in one place.
  • Ordering hands off to the Square flow the shop already runs.
Fusion Coffee — the home page

Fusion Coffee

Fusion Coffee — the home page, on mobile

Mobile

Client work

PC Pro Inspections

Client · Web

Marketing site for a local home inspector.

Open the live siteRead the code on GitHub

What it does

  • Instant quote calculator, lead capture with no backend, local SEO and JSON-LD.
  • Static React build; the owner edits business details in one config file.
  • Built to rank for someone searching for an inspector in the next town over.
PC Pro Inspections — the home page

PC Pro Inspections

PC Pro Inspections — the home page, on mobile

Mobile

Client work

Faith Outreach

Client · Web

A church website redesign in Terre Haute, Indiana.

Open the live site

What it does

  • Redesigned in place on Squarespace 7.1 rather than rebuilt in code, because the people who had to keep it updated were church staff, not developers.
  • The work happened on a private duplicate of the live site, so nothing changed for a visitor until it was ready.
  • Delivered as a project binder: redesign plan, brand kit, page-by-page copy, a build runbook and a plain-English edit guide for staff.
  • An old-to-new redirect map built from the site’s existing sitemap, so the congregation’s existing links and search rankings survived the launch.
  • The church has since moved the live site onto a different platform — the screenshots below are the Squarespace redesign as delivered, not the site’s current build.
Faith Outreach — the redesigned home page

Faith Outreach

Faith Outreach — the Plan Your Visit page, on mobile

Mobile

Contact

Open to full-stack and AI engineering roles

Swift · AI integration · React Native · Postgres

Southern Illinois

cantrellco.13@gmail.com

(618) 599-3901

No inbox filter and no assistant between us — I read every message myself.

Existing client with an invoice? Pay it here

Cody Cantrell, in an engraved portrait