For 15 years, front-end developer Travis Foshe shipped online promotions for Disney, Pepsi, McDonald's, MillerCoors and more: instant wins, sweepstakes and games that launched on dates that didn't move. Now he helps businesses in Phoenix work out what they need from the web, and puts the right team on it…

Phoenix, Arizona: a business owner who needs something from the web, and isn't sure what…

In this issue:

What do you actually need?

Every project starts as a conversation, and the conversation is free. Then we put the right team on it: sometimes that's mostly me, sometimes it's people I'd trust with my own work. If we're not the answer, I'll point you to who is.

Travis Foshe, illustrated in black ink and red halftone

Featuring

Travis Foshe · say "Foe-she"

1

For your business

Start with what you need

Some businesses need a hard look at the site they have, some need a new one, and some need something a website won't fix. We put together the team the job needs, and if the right person for it is someone else entirely, I'll tell you who.

Check what you need · Clip and send

Comes with the first talkCan customers find you?SnapshotBefore anything gets built, we talk. If customers need to find you online, I'll follow up with a free Online Visibility Snapshot: your site, Google listing, reviews and social next to the competitors nearby, on one page, walked through on a 30-minute call.No loginsOne page30-minute call

Yes, let's talk!

Start the conversation

Every issue has a creative team!

Story by

The conversation

We start by talking about what you need and what you're working with. No pitch.

Art by

The look

Design that fits your business, from your designer's creative or ours.

Built by

The build

Everything put together, tested on phones, and set up so you can run it.

Edited by

The final read

Somebody reviews all of it before anyone says "this is done."

2

My own apps

Built because I wanted it

Each of these started as something I wanted to exist: a home for my gym's coach challenge, a roast for my fantasy league, a receipt for doing someone a favor. Each one I designed, built, host and still run. The same thing I'd do for you.

Coach Battle event page

Five weeks. Two squads. One winner.

Coach Battle

Issue 01 · Open beta

Coach Battle

Coach Battle home page
Coach Battle on a phone

Every fall my gym runs the Battle of the Coaches: two coaches pick squads, members log points every day for five weeks, and one side wins. It ran on a spreadsheet. Now any gym can run its own.

  1. Sign up on your gym’s page and join a squad.
  2. Log workouts, sleep, water and steps every day.
  3. Watch the standings until the winner is called.
Visit coachbattle.app

Meanwhile, behind the panels…

How I built it

  • A season with seven phases, worked out from the event dates and the gym’s timezone.
  • One gym grew into a platform: every gym gets its own events, and one account works across all of them.
  • Tests run two gyms against the real server to prove no data crosses between them.
  • Passwordless sign-in by emailed link, and printable QR codes for signup.

The stack

  • React 18
  • Vite
  • Express 5
  • Node 22
  • SQLite
  • Docker
  • Railway
  • Litestream
  • Resend
A gym’s event page: the coaches face off, and the season runs on a timeline.
YourWelco.me receipt page

You're welcome. Here's the receipt.

YourWelco.me

Issue 02 · Live

YourWelco.me

YourWelco.me home page
YourWelco.me on a phone

Did someone a favor? Send the receipt. YourWelco.me makes a thank-you page for whatever you did, with an optional tip jar for Venmo, PayPal or Cash App. It never touches the money.

  1. Write up the favor. No account needed yet.
  2. Send them one short link.
  3. They say thanks, or tip you if they insist.
Visit yourwelco.me

Meanwhile, behind the panels…

How I built it

  • Anonymous-first: the receipt waits in the browser until you claim it with a magic link.
  • Short, unguessable share links, kept separate from your public profile path.
  • Payment deep links instead of a processor, so there’s no custody of anyone’s money.
  • A live split-screen preview of their copy as you type.

The stack

  • React
  • Vite
  • Express
  • Node 22
  • SQLite
  • Stripe
  • Resend
  • Docker
  • Railway
The receipt builder, with their copy printing live beside it.
Mycipe recipe search

Grandma's card, saved for keeps.

Mycipe

Issue 03 · Coming soon

Mycipe

Mycipe home page
Mycipe on a phone

A recipe box that keeps. Search recipes shared from around the web, then save your own from a link, a cookbook page or a card in someone’s handwriting. Scale it, shop it, file it.

  1. Find something to cook by ingredient or title.
  2. Add your own from a link, photos or by hand.
  3. Scale the servings and build the shopping list.

mycipe.com · Coming soon

Meanwhile, behind the panels…

How I built it

  • Link import reads the structured data sites already publish for Google’s recipe results. No per-site scrapers.
  • A servings scaler that rescales every amount, fractions included.
  • Print-ready recipe pages, sharing, and light and dark themes.

The stack

  • React
  • Vite
  • Express
  • SQLite
Three ways in: a link, a photo, or by hand.
Roast Or Review league link form

Your league, roasted.

Roast Or Review

Issue 04 · Open beta

Roast Or Review

Roast Or Review home page
Roast Or Review on a phone

Paste your ESPN or Sleeper league link. Get a roast of every team, built on its own stats, plus power rankings that say who’s good and who’s lucky. No account needed.

  1. Paste a league link and pick a timeframe.
  2. Add some dirt on your leaguemates, if you like.
  3. Flip between the roast and the review, then share.
Visit roastorreview.com

Meanwhile, behind the panels…

How I built it

  • ESPN and Sleeper data mapped into one shape, then Claude writes the roast and the review in parallel, streamed back.
  • A free AI product with no login, kept cheap: per-IP rate limits and a seven-day recap cache in Redis.
  • Private ESPN leagues work by passing cookies through for one request. Nothing is stored.
  • Shareable recap pages with their own generated social preview images.

The stack

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind v4
  • Claude API
  • Redis
  • Railway
  • Cloudflare

3

Meanwhile, 15 years earlier…

Built for launch day!

For 15 years I built online promotions: instant wins, code entries, sweepstakes and games. They launch on a date that doesn't move, take a traffic spike, follow the legal rules to the letter, and disappear when the campaign ends.

The deadline

Launch dates don't move

Promotions go live when the campaign says so. I've spent 15 years shipping to a fixed date.

The craft

Pixel-level CSS on real stacks

Most recently I styled .NET MVC builds: Razor views, CSS architecture, image and font assets, and JS-driven flows wired through config.

The fine print

Rules are part of the build

Age gates for alcohol brands, official rules, eligibility checks: built in from the first day, not bolted on before launch.

4

From the editor's desk

Comics, ink & code!

About that yellow: it comes from the covers of the month he was born.

I collect comics, more Venom and Spider-Man than any other character, plus the figures that go with them. It started with Venom: Lethal Protector #1 in December 1992. Since then I've tracked down most of the issues from my birth month, December 1978, and nearly every one of those covers is loud, flat yellow. That's where this site's yellow comes from.

Two full sleeves. The first session was a line on the inside of my forearms that most comic fans will recognize. It took a lot more sessions to finish the rest.

Read the credits on any of those issues and you'll see it took a writer, an artist, a letterer and an editor to make one. I can do a lot of it myself, but some of my best work has come from collaborating, and that's how I run things now. The heroes in those books had day jobs, too; the helping was never the paid part. So the first conversation is free, and if my work is part of the answer, we talk about that after.

The rest of the time I'm in Phoenix, building things for businesses and for myself, and reading the next issue.

The ink

Travis Foshe, illustrated in black ink and red halftone, with both tattoo sleeves showing

5

Next
issue:
Your business!

Tell me what's going on. The first conversation is free, and there's no pitch in it.

What do you need? Check all that fit

6