freelance builds

Websites, web apps and data tools. Specced, built and shipped.

Tell me what you need in plain language. I turn it into a written spec, build it with Claude Code one tested piece at a time, and hand you a live site with the code behind it.

  • 7 shipped projects
  • Spec-first every build
  • Claude Code AI-assisted development

01 / services

What I build

Websites for artists & small businesses

Portfolio, gallery and inquiry sites that load fast and look sharp on a phone.

Seen in: grayareaart.com, Comic Sculpting

Online stores & payments

Stripe checkout, print sales and order handling, wired into the site you already have or a new one.

Seen in: grayareaart.com

Custom web apps & tools

From a written spec to a working app: community platforms with accounts and moderation, matching apps, image and color tools.

Seen in: Back in the Day, Guidance, Grayscale Studio, Pigment

Data dashboards & automation

Scheduled pipelines that pull data, crunch it and publish a board that updates itself.

Seen in: PropEdge

Every project is quoted after a short scope. Tell me what you need and I'll reply with a written plan and a price.

02 / work

Selected work

Grayscale Studio's start screen: an Add your artwork prompt above a row of gallery, home and studio background thumbnails

Live

Grayscale Studio

A free art mockup generator. Upload a photo of your artwork, place it in a photorealistic gallery, home or studio scene, and export a high-quality image to share.

Built: image upload with HEIC/TIFF conversion, a canvas compositing engine, AI-generated backgrounds, high-resolution export with native sharing, and offline support as an installable app. Shipped from a written spec in five tickets.

  • React
  • TypeScript
  • Canvas API
  • Gemini API
  • PWA
  • Cloudflare Pages
  • Claude Code
Open the app Grayscale Studio (opens in a new tab)
Three Gray Area artworks: an orange sunset painting with a lone figure, a red and black abstract, and a stipple ink close-up of intense eyes

Live

grayareaart.com

Portfolio and online shop for an acrylic and stipple ink art business, with a gallery, print sales and a commission inquiry flow.

Built: a multi-page React site with Stripe checkout and webhook handling in Cloudflare Pages Functions, an inquiry form backend, multi-angle print viewing, structured data for search, and automated tests that run on every push.

  • React
  • TypeScript
  • Tailwind CSS
  • Stripe
  • Cloudflare Pages Functions
  • Vitest
  • GitHub Actions
  • Claude Code
Visit the site grayareaart.com (opens in a new tab)
The Back in the Day home page: a 2018 time-capsule banner made of a cut-paper collage, a row of trading-card style picks, and a Memory Lane feed beside them

Live

Back in the Day

A nostalgia community for people who grew up 1990–2018: a daily time capsule for every year, a story feed, live watch-party chat, the top songs of each year and member profiles.

Built: a full community platform with accounts (passkeys, Google, Discord), a ranked story feed, timed watch-party chat, and safety rules enforced in the database: rate limits, banned-term screening, report-based auto-pause and locked-down permissions.

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Supabase
  • Vercel
  • Claude Code
Visit the site Back in the Day (opens in a new tab)
The Guidance home page: the headline Advice from someone a few steps ahead, beside a sample mentor match card with an 88 match score

Live · example members

Guidance

A mentor-matching app for people born 1990–2005. Members get matched with mentors who have already done what they're working toward, then connect and message.

Built: weighted match scoring, connection requests and messaging, block and report tools, rate-limited sign-in, and email verification with single-use reset links, all on one Cloudflare Worker with a SQL database.

  • Cloudflare Workers
  • Cloudflare D1
  • JavaScript
  • Claude Code
Open the app Guidance (opens in a new tab)
The PropEdge board: league tabs for MLB, NFL, WNBA and NBA, summary stat tiles, and filter chips for prop types

Live

PropEdge

A sports player-prop board for NBA, WNBA, NFL and MLB. It compares lines across about 20 sportsbooks and shows fair-value probabilities for each prop.

Built: a Python pipeline that pulls stats and odds, projects each player, strips the bookmaker margin to get fair prices, and publishes the board, rebuilt automatically five times a day. It measures its own hit rate and says plainly where it can't predict.

  • Python
  • GitHub Actions
  • Cloudflare Workers
  • Monte Carlo simulation
  • Claude Code
Open the board PropEdge (opens in a new tab)
Illustration for Pigment: a grid of twelve paint color swatches with their hex codes

Live · free sign-up

Pigment

A color studio for painters. Sample any color from a photo, choose a medium and paint brand, and get a mixing recipe built from that brand's named pigments.

Built: a rebuild specified as 11 tickets, with the color math, crop geometry and sampling kept in a pure, unit-tested core. Mixing ratios come from a closeness search in Lab color space across each brand's pigments.

  • React
  • Base44
  • Tailwind CSS
  • Vitest
  • Claude Code
Open the app Pigment (opens in a new tab)
Comic Sculpting intro screen: the brand name in bold capitals, the line Build the body your hero would respect, and a gold Enter button

In progress · co-owned brand

Comic Sculpting

The launch site for a superhero-inspired fitness brand: nine original archetypes, 12-week blueprints, and an AI coach that's clearly labeled as AI.

Built: a fast static site designed for phone traffic from TikTok and Instagram, plus a written brand brief (voice, visuals and honesty rules) that keeps every future edit on-brand.

  • HTML
  • CSS
  • JavaScript
  • Cloudflare Pages
  • Claude Code
Visit the site Comic Sculpting (opens in a new tab)

03 / process

How a project runs

  1. Scope

    You describe the problem. I write a spec: who it's for, what they do first, and what happens when something goes wrong.

  2. Tickets

    The spec becomes a short list of small, testable tickets, so you can see progress and change direction early.

  3. Build & test

    Each ticket is built with Claude Code, then reviewed and tested before the next one starts.

  4. Ship

    Your site goes live, and you get the code plus a README that explains how to update it.

04 / contact

Start a project

Send a few lines about what you want built, who it's for, and any deadline. I'll reply with a plan and a quote.

antoniogray6@yahoo.com

Or find the code side on GitHub (opens in a new tab).