Web development · Roseburg, OR

I don't tell you it's faster.
I show you the score.

Freelance web development for local businesses. Mobile-first builds, deployed in days, with a PageSpeed report run before I ever knock on the door.

Alexander's Greek Cuisine: Performance, mobile

83

Before

100

After

Accessibility 84→100 Best Practices 100→100 SEO 100→100

Case studies

Real sites, real numbers.

Every project below shipped with a PageSpeed report before I ever pitched it. Scores shown are mobile, matched against each business's real prior online presence, not a hypothetical.

Alexander's Greek Cuisine mobile homepage: hero with 'Aegean soul, Oregon roots' headline, call and order buttons, hours and address.

Alexander's Greek Cuisine

Pitch pending
Problem

No owned website: only a listing on a third-party local directory, meaning zero control over their own online presence.

What I built

A full mobile-first landing page: hero, menu, hours, contact, and a Google Maps embed, built and deployed inside a single evening.

83
100

Performance
Directory listing → Built site

Accessibility 84→100 Best Practices 100→100 SEO 100→100 Agentic Browsing 1/2→2/2
Outcome

Built and deployed. Pitch scheduled. This line updates with deposit and go-live status once the walk-in happens.

Hacienda Vieja mobile homepage: hero with taco photography, 'Hacienda Vieja' headline, call and see-menu buttons, hours.

Hacienda Vieja

Pitch pending
Problem

Existing site had a broken layout: the business address visually overlapped the logo in the header, and the whole page read as unfinished.

What I built

A clean rebuild with an original visual identity. Its own branding, palette, and layout, built for this business's own character rather than reused from any other project.

73
99

Performance
Old site → Rebuild

Accessibility 87→96 Best Practices 100→100 SEO 92→100 Agentic Browsing 2/3→2/2
Outcome

Built and deployed. Not yet pitched. Outcome updates once the walk-in happens.

Burrito Vaquero mobile homepage: hero with 'Burrito Vaquero' headline, see-menu and order buttons over a food photo.

Burrito Vaquero

Pitch pending
Problem

Existing site wasn't mobile responsive at all, and the menu was effectively unreadable on a phone: a direct hit to conversions, given how most local restaurant searches happen on mobile.

What I built

A mobile-first rebuild with a proper responsive menu pattern. Tap-friendly categories, legible type, no horizontal scrolling. Migrating their real menu content rather than inventing placeholder copy.

83
98

Performance
Old site → Rebuild

Accessibility 90→97 Best Practices 100→100 SEO 100→100 Agentic Browsing 1/2→2/2
Outcome

Built and deployed. Not yet pitched. Outcome updates once the walk-in happens.

Personal projects

Full-lifecycle, not just a landing page.

Client sites prove I can ship fast. These prove I can carry a product past "it looks done" through APIs, DNS, payments, and real users.

Pantry Roulette app screen: ingredient input, vibe selector dropdown set to 'Lazy', and a Spin the Pantry button.

Pantry Roulette

v1.0.2 · Live

A launched recipe-finder app, built in vanilla JavaScript with no frameworks. My first fully shipped product. It went through the whole lifecycle: build, API integration, an accessibility audit, semantic versioning, DNS configuration, and real go-to-market with real users. Currently in a v1.0.2 bug-fix pass, including a fix to the vibe-scoring engine, ahead of resuming user acquisition. Freemium accounts are next on the roadmap.

Vanilla JS REST API DNS / hosting a11y audited
pantryroulette.com ↗
Queued landing page: 'After Hours' tag, 'Queued' headline, description of mood-based game matching, and a Sign in with Steam button.

Queued

Late-stage dev

A mood-based game recommendation tool. A significantly more complex build than Pantry Roulette, running on Next.js, TypeScript, Supabase, Redis, and Stripe. Currently finishing co-op group-matching before moving to platform activation on Xbox and Stripe test-mode validation. This one reflects the jump from beginner web builds to production-grade infrastructure decisions.

Next.js TypeScript Supabase Redis Stripe
queued.gg ↗

About

Roseburg-based. Self-taught. Built to ship.

I'm based in Roseburg, Oregon; a small town where the web work gets done face-to-face, not through cold outreach at scale. I'm a self-directed, full-stack developer working across HTML, CSS, JavaScript, React, Node, Python, and REST APIs, and I learn by shipping real things rather than working through tutorials in isolation.

Every site I build gets run through PageSpeed before it's ever pitched. I don't say a site is faster. I show the number, before and after. That standard doesn't stop at client work: Pantry Roulette and Queued have both gone through the parts of a real product that never show up in a screenshot. DNS, accessibility audits, semantic versioning, payment integration, actual users. If I build it, it ships complete, not half-finished.

I don't reuse a client's design, either. Every business gets a visual identity built for its own category and character, never a reskin of the last job. And when a project's done, you get real ownership of it: real hosting access, real admin credentials, no dependency on me to make basic edits.

Based in
Roseburg, Oregon
Focus
Local SEO & site management
Stack
HTML · CSS · JS · React
Also
Node · Python · REST APIs
Standard
PageSpeed before every pitch
Engagement
Audit first, then monthly

Services

What I do and what I don't.

Most clients work with me month to month: I keep the site running and build up their local search presence. Custom builds are there when a new site is the right call. Every engagement starts with an audit.

In scope

  • +

    An SEO audit comes first on every engagement: your site, Google Business Profile, and listings, measured before any work starts. That way the work goes where it's actually needed.

  • +

    Monthly site management: maintenance, updates, content changes, and small fixes, handled every month so the site doesn't slowly break after launch.

  • +

    Local SEO retainers: ongoing Google Business Profile management (categories, service areas, photos, posts) plus citation building and cleanup, so your business shows up the same everywhere people search.

  • +

    Tracking and monthly reporting in plain language: what changed, what moved, and what's next.

  • +

    Custom builds when you need one: mobile-first sites built from scratch for restaurants, retail, and local trades, measured with PageSpeed before delivery. No page-builder templates.

  • +

    Client-owned hosting and admin access, every time. No locked-in dependency on me.

Out of scope, by design

  • −

    Paid ad management (Google Ads, Facebook Ads).

    That's a specialized discipline with real budget risk attached. What I guarantee is the site: fast and reliable. Search rankings aren't something anyone can honestly guarantee, so I measure your local SEO every month and report what moved. I partner with dedicated ad specialists for the rest.

Contact

Let's talk about your site.

Tell me what's not working about your current one! Or that you don't have one yet. I'll look at it and tell you plainly what I'd build.