Scott Morris

Custom sites, apps, and
payment systems.

Websites, web apps, iOS apps, and online payments, built to order. One person, start to finish, fixed scope, and a date agreed up front.

I reply within two days.

Scroll

What I can build you

Things people hire me for.

A website your team can update

Designed and built for your business, not your business bent to fit somebody's template. Built so the ordinary changes, staff, prices, hours, photos, do not require calling anyone.

Taking payments online

Checkout, tickets, orders, or dues, wired into your site so the money and the record of it arrive together. No reconciling a spreadsheet at the end of the month.

The tool that replaces the spreadsheet

The one three people email around every week, rebuilt with real logins, permissions, and a record of who changed what.

The harder things, when you need them

iPhone apps for crews with no signal, a bridge between two systems that will not talk, or an AI setup that runs on hardware you own. Less common asks, and all of them shipped.

Payments

Money handling,
done carefully.

Checkout, ticketing, invoicing, and anything else that moves money. Built first for a school raffle platform, where the failure mode isn't a bug report, it's someone's money, so every purchase path gets tested before it goes near a customer's card.

Consulting

A straight answer about
what you actually need.

Sometimes that's a two-week fix rather than the platform you came in asking for. I'll look at what you already have, tell you what's worth building, and tell you when something isn't. You get that answer before you spend anything.

Modernization

The system you
can't turn off.

A business-critical platform moved off an end-of-life runtime in place, with no downtime and no data lost, then extended with plain-language search across the same records. The hard part is never the new system, it's getting there without taking the old one down.

Selected work

Things that are live.

product

RaffleDock

A raffle platform for schools and nonprofits: card payments, printed QR tickets, per-student attribution and live sales reporting.

raffledock.com →
case study

A school fundraiser, in production

569 students, one PTO, real money. The office runs the whole campaign itself and reconciles it without me. The 2026 drive opens September 3.

mues-raffle.com →
private ai

Self-hosted assistants

Retrieval over a company's own documents and databases, answered by a model on its own GPU. Nothing indexed, sent or stored off-site.

ios

Field apps

Native iOS tools for construction crews: supply walks, ordering, daily logistics. Built for gloves and bad signal.

integration

ERP integration

Field-captured hours flowing into a production accounting system, read-only by default, with every money-affecting call reviewed before it runs.

On device

Built for people
who aren't at a desk.

Let's build
something.

Tell me what you need in a paragraph. If it is a fit, we talk for half an hour and I send you a fixed price and a date. If it is not, I will tell you that in the same reply.

What it costs. I quote each project on what it actually takes, and the number does not move afterwards. This is work I take on alongside a full-time job, so if yours is bigger than I can do properly, I will say so and point you somewhere else instead of taking it on badly.

How I work. Two projects at a time, so yours gets real attention. Fixed scope, a date agreed up front, and the code and hosting end up in your name rather than trapped with me.

After it launches. The everyday changes are yours to make, and I will show you how. For anything bigger, email me and I will quote it the same way. Nothing about the site is locked to me: it runs on your own hosting, in your own account, and another developer could pick it up tomorrow.

Sensitive records. Payroll, medical, and payment data are a normal part of this work, not an obstacle to it. Here is how I handle them.

Not a fit. Anything needing 24/7 on-call, staff augmentation, or work I could not put my name on.

Prefer email? scott6171 [at] gmail [dot] com