Customer website
Service discovery, guided shopping, equipment comparison, and quote or installation requests. The public UX helps people choose a useful next step.
new.u1mechanical.com (opens in a new tab)Public owner-review previewWebsite redesign · full-stack webapp rollout
From a clearer customer journey to a connected website, owner dashboard, and field app. A story of research, implementation, failed attempts, and a verified hosted owner-review rollout.
01 / The problem
An HVAC customer needs to understand their options and take the next step. The team behind that website needs a dependable way to review requests, manage work, and support technicians. The redesign had to improve the public journey while preserving the operational applications—and prove that the whole application could run on the intended host.
I shaped the work around three connected experiences: customer discovery and quote requests, an owner and office dashboard, and a field webapp. Mobbin informed the public UX; React and Next.js delivered the interfaces and server routes; Prisma and Neon carried the data; GoDaddy Node.js hosting carried the rollout. Each failure fed a smaller diagnostic, a targeted correction, and another test.
03 / Explore the rollout

One system · three experiences
Service discovery, guided shopping, equipment comparison, and quote or installation requests. The public UX helps people choose a useful next step.
new.u1mechanical.com (opens in a new tab)Public owner-review previewA protected workspace for the operational side: catalog, customer and request workflows, estimates, and dispatch. Roles govern access to the underlying records.
admin-new.u1mechanical.comReal owner password login verifiedA focused field interface for assigned work. It shares the application’s data and authorization model, with a separate entry point for technicians.
field.u1mechanical.comHosted access gate verified; field sign-in acceptance remains openNext.js handles server-side requests. NextAuth and fresh role checks protect operations. Prisma connects to Neon PostgreSQL over secure WebSockets on this host. External storage keeps uploaded files separate from deployed code. GoDaddy runs the same qualified application in three included app slots.
These are three entry points to a shared system, not three independent databases. Host-only cookies require a separate sign-in on each address.
The path to a working release
The useful part of the story is the loop: each failed assumption changed what was researched, built, or tested next.
Mobbin research compared service-business heroes, product comparison tables, request forms, and next-step sections. Airtasker, Synthesia, Jobber, and Daylight helped frame clearer choices: browse equipment, compare options, or request an installation.
Use patterns to answer a specific UX question. Implement independently; do not borrow another company’s claims or assets.
The public website, office dashboard, and field app share a business context but have different access needs. The plan separated application code, database records, uploaded files, roles, and external providers, while preserving the original website and mail setup.
A domain name is only the address. The runtime, authentication, storage, and database connection have to work together.
The public refinement improved service discovery, guided shopping, comparison, and request flows. Next.js server routes, Prisma data access, NextAuth sessions, and role checks supported the operational system. The public redesign preserved the accepted dashboard and field layouts.
Connect the experiences through shared data and permissions without forcing every role into the same interface.
The host rejected direct PostgreSQL connections. Early imports failed even when private Preview ran. A wrapped release then failed the provider’s health check. Later, the owner setup form returned 403 in the real browser despite earlier diagnostic success.
Treat each failure as evidence about a specific boundary. Do not confuse a running preview with a published, usable application.
Transport probes established that secure WebSockets worked. Package inspection identified missing runtime files. Host-specific tests separated provider liveness from app access. A browser diagnostic finally reproduced the owner form’s null Origin and traced it to the referrer policy.
When a test misses the bug, improve the reproduction before repeating the same deployment or asking the user to retry.
The corrected release used Neon’s WebSocket driver, a self-contained integrity-checked package, and a narrow liveness response. Three included hosting apps served the approved addresses. A same-origin form policy fixed owner setup while retaining origin checks; the owner then signed in successfully.
Success meant a visible website, protected applications, the intended database, and a human who could actually use their account.
Research into decisions
The research focused on the public website and quote journey. Operational layouts were preserved. These references informed independently implemented patterns.
Mobbin is a research tool, not a runtime dependency. Envato Elements catalog research also informed the exploration; no new licensed asset acquisition was claimed.
Inspect the hard parts
Open a failure to follow the diagnosis, repair, and evidence.
The technology, with a purpose
React, TypeScript, and Next.js for pages and workflows; Tailwind CSS and Radix UI primitives for styling and controls; Framer Motion with reduced-motion checks.
Next.js server routes, Prisma, versioned migrations, and Neon PostgreSQL. Neon’s serverless driver supplied the secure WebSocket transport supported by the actual host.
NextAuth password sessions, role-based access, persistent login throttling, and external Neon storage. Hosted upload acceptance remains a separate task.
GoDaddy Node.js apps, custom subdomains, HTTPS, exact-artifact checks, disposable PostgreSQL fixtures, Playwright browser journeys, and live route read-back.
04 / Result & scope
Based on retained UX research, hosting diagnostics, packaged-runtime tests, deployment receipts, and hosted owner-login verification from September 20, 2026.
The website, dashboard, and field entry point were published over HTTPS using the same qualified application and shared data services.
The owner created their account and signed in to the hosted dashboard. The review catalog contained 16 approved examples.
Host diagnostics, migration rehearsal, package integrity checks, and live read-back became a reusable GoDaddy + Neon workflow.
The release record confirmed all 14 linked public pages, shared build identity across three HTTPS addresses, protected-route denial, loaded homepage imagery, and an authenticated OWNER dashboard. That is a concrete delivery milestone; it does not imply increased sales or completed production acceptance.
The earlier local certification passed 288 required results. The later framework and hosting adaptation needed its own evidence. All eight migration journeys eventually had passing evidence across runs; they did not pass as one sealed matrix. Packaged-runtime checks then covered sessions, CSRF, host routing, static assets, and database transport on disposable local fixtures.
The launch informed the godaddy-neon-webapps workflow: establish the hosting contract, prove the database path, rehearse migrations, preserve auth, package exact bytes, verify the deployed routes, and finish with a human sign-in. Each new app still needs its own roles, data model, and acceptance checks.