Divine Davis

Portfolio

NEMO Seamless Gutter homepage

NEMO Seamless Gutter — Booking That Checks the Weather, Plus an AI Phone Assistant

Client work

Visitors40
Returning visitors1 (2%)
Calls to the AI phone assistant2
Jobs booked on the site1
Shown in Google search975
Clicks from Google5

Google Analytics 4Google Search Console — verified

  • A website, online booking, and an AI assistant that answers the phone for a gutter company in York County, PA, live and taking real customers
  • Gutter work depends on the weather, so the site checks the forecast before offering you a time and moves the job itself if rain is coming
  • Stack: Node/Express + SQLite on DigitalOcean, an ElevenLabs voice agent that performs no date arithmetic of its own, the National Weather Service API, Google Workspace SMTP with ICS invites, and a Python cron for SEO
Visit NEMO Seamless Gutter →   View on GitHub →
Jordan’s Job Finder daily job board screenshot

Jordan’s Job Finder — A Job Search That Runs Itself

Google Ads — running now, and it tracks sign-ups

  • Checks more than 340 company job pages every day and keeps only the senior product and program manager jobs that fit your city, pay, and level
  • You set up your search once and get a short list by email each morning, so you see a handful of real matches instead of hundreds of postings
  • Stack: Flask + Jinja2, SQLAlchemy / SQLite, Requests + BeautifulSoup + Playwright scrapers, Gunicorn + nginx on DigitalOcean, and a daily cron pipeline
Visit Live Site →    View on GitHub →
Collegiate Athletic Planning landing page screenshot

Collegiate Athletic Planning — Getting High School Players Recruited

82 people have signed up (58 players, 24 coaches)

Google Analytics 4Google Search Console — verified

  • Gives a high school football player one page with their highlight video, stats, and contact details, so college coaches find it all in one place
  • Players and coaches message each other instantly, and sharing a profile in a text shows a real preview instead of a bare link
  • Stack: FastAPI, SQLite, Jinja2 templates, a DigitalOcean Spaces + CDN video pipeline, and nginx + Let’s Encrypt SSL on DigitalOcean
Visit Live Site →    View on GitHub →
Kinnkolk shared family tree landing card

Kinnkolk — Shared Family Tree

Private app

  • One family tree the whole family adds to, drawn out by generation with marriages, parents and children, and whose birthday is coming up
  • An edit shows up on everyone else’s screen right away, and you can plan a reunion, RSVP, and look relatives up in public records
  • Stack: single-file vanilla JS, Supabase (Auth + Postgres RLS + Realtime), Photon / OpenStreetMap geocoding, and nginx + Let’s Encrypt on DigitalOcean
  • Private app — invite-only for family, so there is no public link
Personal Doctor AI health marker dashboard

Personal Doctor AI — Your Lab Results, Explained

Private tool

  • Upload your lab results as a PDF or a photo, and it pulls out 20 health numbers with the normal range, what each one means, and what to do about it
  • Your files are never saved on our end, and it will never name a drug or a dose, because that call belongs to a doctor
  • Privacy-first — documents are processed in memory and results live in the browser, never on the server — on Next.js 16 with the Anthropic API behind nginx + Let’s Encrypt on DigitalOcean
Crease order list showing two-leg dry cleaning progress

Crease — Dry Cleaning Picked Up and Delivered (iPhone App + Shop Portal)

TestFlight

  • You book a pickup, a courier takes your bag to a partner cleaner, and a second courier brings it back — two separate trips, because no delivery network will hold a package for the two days a cleaner needs it
  • Nobody can price a bag before opening it, so the card is authorised at checkout and only charged once the shop has counted; if the count lands above the hold the order stops and asks you rather than quietly charging more
  • The shop portal is built for a tablet on a counter, operated one-handed — the total updates as the counter types, next to the customer’s original estimate, so an unusual gap is obvious in the moment instead of in a dispute two days later
  • Live courier quotes made the economics measurable rather than assumed: $12.99 a leg in Brooklyn, $25.98 a round trip — 78% of a median order’s cleaning value, which is the number the whole business turns on
  • Stack: SwiftUI (iOS 17+), Next.js portal, a Fastify dispatch service on DigitalOcean, Supabase Postgres with RLS, Stripe authorise-then-capture plus Connect payouts, and Uber Direct behind a carrier interface with a simulator standing in for it
Visit Live Site →    View on GitHub →
Spendcap today screen showing spending against the daily cap

Spendcap — Know the Moment You’re Over Budget (iPhone App)

TestFlight

  • You pick one number, a daily spending cap, and connect your bank; the app watches the day’s spending against it
  • Most budgeting apps tell you what you overspent on last month — this one taps you on the shoulder at 80% and again at 100%, while you can still do something about it
  • Stack: SwiftUI (iOS 17+), Plaid for bank transactions, Supabase (Postgres with RLS + Edge Functions + hourly pg_cron sync), and APNs push, with the bank access tokens kept server-side only
View on GitHub →
Encounter documentation system sign-in screen

Encounter — Records System for a Disability Support Agency

Synthetic-data MVP

  • Replaces the paper forms at a Pennsylvania agency that supports people with disabilities: visit notes, goals, scheduling, and proof a caregiver showed up
  • Everyone sees only what their job allows, notes can be spoken instead of typed, the app switches between English and Spanish, and state reports save as a PDF
  • Stack: Next.js 15 (App Router) + TypeScript, Tailwind + shadcn/ui, Prisma + Postgres, Auth.js v5, and @react-pdf/renderer
Visit Live Site →

Common Tech Stacks I Use

Category Technologies
Languages Python, Swift, TypeScript, JavaScript, HTML, CSS, Bash, SQL
Frameworks & Libraries FastAPI, Uvicorn, Flask, Express, Jinja2, SQLAlchemy, Alembic, Prisma, Auth.js, Starlette, Pydantic, Next.js, Tailwind CSS, shadcn/ui, SwiftUI, StoreKit, MapKit, CoreLocation, Leaflet.js, WebSockets, BeautifulSoup, Playwright, httpx, aiofiles, apscheduler, bcrypt, python-jose, Pillow, boto3, itsdangerous, python-dotenv
Databases & Storage SQLite, Supabase (Postgres), DigitalOcean Spaces (S3-compatible CDN)
Infrastructure Nginx, DigitalOcean, systemd, cron, GitHub, SSH, Let's Encrypt / Certbot
APIs & Integrations Square API, Anthropic API, Twilio, Stripe, NYC Open Data, SMTP / Gmail
AI Tools Claude (Anthropic), Claude Code