diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..c3b2a59 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +uniquitys.com diff --git a/Contact.html b/Contact.html new file mode 100644 index 0000000..c38603c --- /dev/null +++ b/Contact.html @@ -0,0 +1,403 @@ + + + + + + Contact – Kunselman & Eisenhardt + + + + + +
+ + +
+
+
K&E
+
+

Contact Us

+
Let’s Discuss Your Project or Collection
+
+
+ + +
+ + +
+
+

Get in Touch

+

+ Whether you need custom automation, site improvements, authentication help, listing strategy, or just want to explore working together – drop us a line. +

+ + +
+ +
+

Quick Response Times

+
    +
  • Emails usually answered within 24 hours
  • +
  • Audit requests prioritized same/next day
  • +
  • Phone calls returned promptly during business hours
  • +
  • Confidential inquiries handled discreetly
  • +
+
+
+ + +
+
+
+

Send a Message

+
+ + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+

Direct Contact

+ + +

Availability

+

+ Monday–Friday: 9 AM – 6 PM EST
+ Weekends: Limited – email preferred +

+
+ +
+

Confidential Inquiries

+

+ High-value collections, private sourcing, or sensitive projects?
+ Use email with “Confidential” in the subject – we treat all discussions with full discretion. +

+
+
+
+
+ + + + + + + +
+ + + + + + diff --git a/README.md b/README.md index 6989b6b..8735345 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This repo is a portfolio designed to convert visitors into paid work: ## Pages - Home: `index.html` - Pricing: `services.html` -- Free Audit (lead capture): `audit.html` +- Free Audit (lead capture): `audit.html` - Contact: `contact.html` - Skill page: `skills/automation.html` diff --git a/andrew.html b/andrew.html new file mode 100644 index 0000000..792dac6 --- /dev/null +++ b/andrew.html @@ -0,0 +1,406 @@ + + + + + + Andrew • Curator & Vintage Specialist + + + + + + +
+
+ +
+
+ +
+
+
+

Hey, I'm Andrew

+

+ I hunt down rare, storied antiques and vintage pieces.
+ Each one has history, character, and a place worth owning. +

+ +
+
+ +
+
+

Curated Categories

+

Hand-selected items from different eras and styles — always authentic, often restored with care.

+
+
+

Mid-Century Modern

+

Teak, walnut, Eames-era furniture and decor — clean lines, timeless appeal.

+
+
+

Victorian & Industrial

+

Brass clocks, ironwork, early 20th-century lighting — rich patina and detail.

+
+
+

Art Deco & Vintage Lighting

+

Geometric glass, chrome, Bakelite — bold statement pieces that glow.

+
+
+
+
+ +
+
+

Current Listings

+

Available pieces — authenticated, priced fairly, ready to ship or pickup. Inquire for condition reports, additional photos, or shipping quotes.

+
+
+ Teak sideboard from 1960s +

Teak Sideboard – Danish 1960s

+

Original finish, six drawers, solid teak, excellent condition. 72" wide.

+

$1,450

+ Inquire +
+ +
+ Victorian brass carriage clock +

Victorian Brass Carriage Clock – Late 1800s

+

Working movement, etched glass panels, original key and case. Compact and elegant.

+

$780

+ Inquire +
+ +
+ Art Deco chrome and glass lamp +

Art Deco Chrome & Glass Lamp – 1930s

+

Original Bakelite base, etched shade, fully rewired and tested. 18" tall.

+

$420

+ Inquire +
+ +
+ Industrial forged iron wall mirror +

Industrial Iron Wall Mirror – Early 1900s

+

Heavy forged frame, original beveled glass, perfect for loft or modern space. 36" x 48".

+

$890

+ Inquire +
+ + +
+
+
+ +
+
+

Blog – Coming Soon

+

Stories, history, restoration tips, and behind-the-scenes from the world of antiques.

+

We're putting the finishing touches on the blog — check back soon for posts about sourcing, care, and the stories behind the pieces.

+ +
+
+ +
+
+

About Andrew

+

I've spent years traveling to auctions, estates, and private collections to find pieces with real soul — not mass-produced replicas.

+

Every item I offer is authenticated, carefully restored when needed, and priced fairly. Whether you're furnishing a home or building a serious collection, I help you find things that matter.

+
+
+ +
+
+

Interested in a Piece?

+

Questions about availability, shipping, restoration, or custom sourcing? Reach out — I'll reply quickly with details or additional photos.

+ +
+ + + + + + + + + + +
+
+
+
+ + + + + + + diff --git a/assets/css/style.css b/assets/css/style.css deleted file mode 100644 index 0681730..0000000 --- a/assets/css/style.css +++ /dev/null @@ -1,98 +0,0 @@ -:root{ - --bg:#0b0c10; --card:#11131a; --text:#eef1ff; --muted:#aab0c6; - --line:#22263a; --accent:#6ae4ff; --accent2:#b6ff6a; - --shadow: 0 10px 30px rgba(0,0,0,.35); - --r:18px; - --w:1100px; -} -*{box-sizing:border-box} -html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial} -a{color:inherit;text-decoration:none} -.container{max-width:var(--w);margin:0 auto;padding:18px} -.header{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap} -.brand{display:flex;gap:12px;align-items:center} -.avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#071018; - display:grid;place-items:center;font-weight:800} -h1{margin:0;font-size:20px} -h2{margin:0 0 10px;font-size:22px} -h3{margin:0 0 8px;font-size:18px} -.sub{margin:2px 0 0;color:var(--muted)} -.topnav{display:flex;gap:12px;align-items:center;flex-wrap:wrap} -.section{padding-top:10px} - -.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;align-items:stretch} -.heroText{padding:18px} -.heroText h2{font-size:34px;line-height:1.15;margin-bottom:10px} - -.heroCard,.card{ - background:var(--card);border:1px solid var(--line);border-radius:var(--r); - padding:16px;box-shadow:var(--shadow) -} - -.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px} -.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px} -@media (max-width:900px){ - .hero{grid-template-columns:1fr} - .grid3{grid-template-columns:1fr} - .grid2{grid-template-columns:1fr} -} - -.btn{ - display:inline-flex;align-items:center;justify-content:center;gap:8px; - padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12); - background:linear-gradient(135deg,rgba(106,228,255,.95),rgba(182,255,106,.9)); - color:#071018;font-weight:800 -} -.btn.ghost{background:transparent;color:var(--text)} -.link{color:var(--accent);text-decoration:underline;text-underline-offset:3px} -.muted{color:var(--muted)} -.bullets{margin:10px 0 0;padding-left:18px} -.bullets li{margin:6px 0} -.ctaRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px} -.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px} -.badge{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted)} -.pill{display:inline-block;margin-top:10px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted)} -.linkCard{transition:transform .12s ease,border-color .12s ease} -.linkCard:hover{transform:translateY(-2px);border-color:rgba(106,228,255,.35)} -.banner{ - display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap; - padding:16px;border-radius:var(--r);border:1px solid rgba(106,228,255,.25); - background:linear-gradient(135deg,rgba(106,228,255,.10),rgba(182,255,106,.08)) -} -.footer{padding:24px 18px;color:var(--muted)} -.priceRow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px} -.price{font-size:18px;font-weight:900} - -label{display:block;margin-top:12px;color:var(--muted);font-size:14px} -input,select,textarea{ - width:100%;margin-top:6px;padding:10px 12px;border-radius:14px;border:1px solid var(--line); - background:#0f1118;color:var(--text);outline:none -} -input:focus,select:focus,textarea:focus{border-color:rgba(106,228,255,.55)} -.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px} -.checks label{margin:0;color:var(--text);font-size:14px} -.output{ - white-space:pre-wrap;background:#0f1118;border:1px solid var(--line); - padding:12px;border-radius:14px;min-height:260px;color:var(--text) -} -.fineprint{color:var(--muted);font-size:13px;margin-top:10px} - -.miniContact{margin-top:10px;color:var(--muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap} -.dot{opacity:.6} - -/* floating mobile CTAs */ -.floatCta{ - position:fixed;bottom:18px;right:18px; - background:linear-gradient(135deg,#6ae4ff,#b6ff6a); - color:#071018;font-weight:900; - padding:12px 16px;border-radius:999px; - box-shadow:0 8px 25px rgba(0,0,0,.4); - z-index:999; -} -.floatCta.secondary{ - right:92px; - background:transparent; - color:var(--text); - border:1px solid rgba(255,255,255,.14); - backdrop-filter: blur(8px); -} diff --git a/assets/js/main.js b/assets/js/main.js deleted file mode 100644 index a4c4b64..0000000 --- a/assets/js/main.js +++ /dev/null @@ -1,69 +0,0 @@ -(function () { - const yearEl = document.getElementById("year"); - if (yearEl) yearEl.textContent = new Date().getFullYear(); - - const form = document.getElementById("auditForm"); - const out = document.getElementById("auditOutput"); - const copyBtn = document.getElementById("copyBtn"); - const smsBtn = document.getElementById("smsBtn"); - const emailBtn = document.getElementById("emailBtn"); - - if (!form || !out) return; - - function buildMessage() { - const fd = new FormData(form); - const features = []; - form.querySelectorAll('input[name="features"]:checked').forEach(cb => features.push(cb.value)); - - const msg = -`Hi Dean, - -Project: ${fd.get("projectName") || ""} -Goal: ${fd.get("goal") || ""} -Size: ${fd.get("size") || ""} -Environment: ${fd.get("environment") || ""} -Features: ${features.length ? features.join(", ") : "None selected"} -Deadline: ${fd.get("deadline") || ""} -Budget: ${fd.get("budget") || ""} -My name: ${fd.get("name") || ""} -Best contact: ${fd.get("contact") || ""} - -Please recommend the fastest approach and a price range.`; - - out.textContent = msg.trim(); - return msg.trim(); - } - - function updateDeepLinks(text) { - const enc = encodeURIComponent(text); - if (smsBtn) smsBtn.href = `sms:+17167776345?body=${enc}`; - if (emailBtn) emailBtn.href = - `mailto:Dean.Kunselman@gmail.com?subject=${encodeURIComponent("Project Inquiry")}&body=${enc}`; - } - - form.addEventListener("input", () => { - const text = buildMessage(); - updateDeepLinks(text); - }); - - const initial = buildMessage(); - updateDeepLinks(initial); - - if (copyBtn) { - copyBtn.addEventListener("click", async () => { - const text = buildMessage(); - try { - await navigator.clipboard.writeText(text); - copyBtn.textContent = "Copied"; - setTimeout(() => (copyBtn.textContent = "Copy Message"), 1200); - } catch { - const r = document.createRange(); - r.selectNodeContents(out); - const sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(r); - document.execCommand("copy"); - } - }); - } -})(); diff --git a/audit.html b/audit.html deleted file mode 100644 index 613babe..0000000 --- a/audit.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - Free Audit — Dean Kunselman - - - - -
-
- -
-

Free 10-Minute Audit

-

Fill this out. Copy the message. Send it by text or email.

-
-
- -
- -
-
-
-

Project details

- - - - - - - - - - - - - - - - - - - -
- - Text it - Email it -
- -

No backend needed. Works on GitHub Pages.

-
- -
-

Generated message

-

This updates as you type.

-

-
-      
-    
-
-
- - - - - - diff --git a/contact.html b/contact.html deleted file mode 100644 index 266ebc4..0000000 --- a/contact.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - Contact — Dean Kunselman - - - - -
-
- -
-

Contact

-

Fastest estimates come from the audit form.

-
-
- -
- -
-
-
-

Direct

- - -
- Call - Text - Email -
- -

If you want the fastest quote: use the audit page and paste the generated message.

-
- -
-

What to include

-
    -
  • Goal + size (# items/records)
  • -
  • Deadline
  • -
  • Devices (phone/PC)
  • -
  • Outputs (CSV/PDF/labels)
  • -
- Use the audit form -
-
-
- - - - - - diff --git a/contact.php b/contact.php new file mode 100644 index 0000000..941f22f --- /dev/null +++ b/contact.php @@ -0,0 +1,50 @@ + + alert('✅ Inquiry sent! We\\'ll reply within 24 hours.'); + window.location.href = '/'; + "; + } else { + http_response_code(500); + echo "❌ Failed to send message. Try again later."; + } +} +?> diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..7897c02 --- /dev/null +++ b/css/style.css @@ -0,0 +1,293 @@ + + +:root { + /* Colors */ + --bg: #0a0e17; + --surface: #111827; + --text: #e2e8f0; + --text-dim: #94a3b8; + --border: #1e293b; + --accent: #60a5fa; + --accent-dim: #3b82f6; + --accent-glow: rgba(96, 165, 250, 0.35); + --success: #34d399; + --danger: #f87171; + + /* Sizing & shape */ + --radius: 12px; + --radius-lg: 16px; + --shadow-sm: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06); + --shadow-md: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05); + --shadow-lg: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04); + + /* Motion */ + --transition: all 0.22s ease; + --ease-out: cubic-bezier(0.16, 1, 0.3, 1); +} + +/* ========================================================================== + Reset & base + ========================================================================== */ + +*, *::before, *::after { + box-sizing: border-box; +} + +* { + margin: 0; + padding: 0; +} + +html { + color-scheme: dark; + scroll-behavior: smooth; +} + +body { + background: var(--bg); + color: var(--text); + font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 16px; + line-height: 1.6; + min-height: 100dvh; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + color: inherit; + text-decoration: none; +} + +img, picture, video, canvas, svg { + max-width: 100%; + display: block; +} + +/* ========================================================================== + Layout & containers + ========================================================================== */ + +.container { + width: min(100% - 3rem, 1280px); + margin-inline: auto; + padding-inline: 1.5rem; +} + +/* ========================================================================== + Header & Navigation + ========================================================================== */ + +header { + position: sticky; + top: 0; + z-index: 100; + background: rgba(17, 24, 39, 0.88); + backdrop-filter: blur(12px); + border-bottom: 1px solid var(--border); +} + +nav { + display: flex; + justify-content: space-between; + align-items: center; + padding-block: 1.25rem; +} + +.logo { + font-size: 1.5rem; + font-weight: 700; + letter-spacing: -0.025em; + color: white; +} + +.nav-links { + display: flex; + align-items: center; + gap: 2rem; + font-weight: 500; +} + +.nav-links a { + opacity: 0.9; + transition: var(--transition); +} + +.nav-links a:hover, +.nav-links a:focus-visible { + opacity: 1; + color: var(--accent); +} + +/* ========================================================================== + Buttons + ========================================================================== */ + +.btn { + display: inline-flex; + align-items: center; + gap: 0.6rem; + padding: 0.85rem 1.8rem; + font-size: 1.05rem; + font-weight: 600; + border-radius: var(--radius); + transition: var(--transition); + background: var(--accent); + color: #0f172a; + box-shadow: var(--shadow-sm); + cursor: pointer; +} + +.btn:hover { + transform: translateY(-2px); + box-shadow: 0 12px 24px var(--accent-glow); +} + +.btn-outline { + background: transparent; + border: 2px solid var(--accent); + color: var(--accent); +} + +.btn-outline:hover { + background: rgba(96,165,250,0.08); +} + +/* ========================================================================== + Cards + ========================================================================== */ + +.card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 1.8rem; + box-shadow: var(--shadow-md); + transition: var(--transition); +} + +.card:hover { + transform: translateY(-6px); + border-color: var(--accent); + box-shadow: var(--shadow-lg), 0 0 0 1px rgba(96,165,250,0.12) inset; +} + +/* ========================================================================== + Site Tree Dropdown + ========================================================================== */ + +.dropdown[data-feature="sitemap-tree"] { + position: relative; + display: inline-block; +} + +.dropdown-toggle { + background: none; + border: none; + font: inherit; + color: inherit; + padding: 0.5rem 1rem; + cursor: pointer; + opacity: 0.9; + transition: opacity 0.2s, color 0.2s; +} + +.dropdown-toggle:hover, +.dropdown-toggle:focus-visible { + opacity: 1; + color: var(--accent); +} + +.dropdown-menu { + position: absolute; + top: 100%; + right: 0; + min-width: 260px; + max-height: 75vh; + overflow-y: auto; + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius); + box-shadow: var(--shadow-lg); + padding: 1rem 0; + margin-top: 0.5rem; + z-index: 200; +} + +.dropdown-menu[hidden] { + display: none; +} + +.tree-nav { + list-style: none; + margin: 0; + padding: 0; +} + +.tree-nav li { + padding: 0.4rem 1.5rem; +} + +.tree-nav a, +.tree-nav span { + display: block; + padding: 0.45rem 0; + border-radius: 6px; + transition: background 0.2s; +} + +.tree-nav a:hover, +.tree-nav a:focus { + background: rgba(96,165,250,0.1); + color: var(--accent); +} + +.tree-nav .has-children > span { + font-weight: 600; + color: var(--text-dim); + cursor: default; +} + +.tree-nav ul { + list-style: none; + margin: 0.4rem 0 0.4rem 1.6rem; + padding-left: 0.8rem; + border-left: 1px solid var(--border); +} + +/* ========================================================================== + Typography helpers + ========================================================================== */ + +h1, h2, h3, h4 { + line-height: 1.1; + margin-bottom: 0.8em; +} + +h1 { font-size: clamp(2.8rem, 7vw, 4.5rem); } +h2 { font-size: clamp(2rem, 5vw, 3rem); } +h3 { font-size: 1.6rem; } +h4 { font-size: 1.3rem; } + +/* ========================================================================== + Footer & misc + ========================================================================== */ + +footer { + padding-block: 4rem 6rem; + text-align: center; + color: var(--text-dim); + border-top: 1px solid var(--border); +} + +/* Focus outline */ +:focus-visible { + outline: 3px solid var(--accent); + outline-offset: 3px; +} + +/* Mobile adjustments */ +@media (max-width: 640px) { + nav { flex-direction: column; gap: 1.2rem; } + .nav-links { flex-wrap: wrap; justify-content: center; gap: 1rem; } + } diff --git a/dean.html b/dean.html new file mode 100644 index 0000000..fb829a1 --- /dev/null +++ b/dean.html @@ -0,0 +1,373 @@ + + + + + + Dean • Web Developer & Creator + + + + + + +
+
+ +
+
+ +
+
+
+

Hey, I'm Dean

+

+ I build clean, fast, custom websites and tools that actually solve problems.
+ No subscriptions, Templates Coming Soon, no bullshit — just code that works for you. +

+ +
+
+ +
+
+

What I Bring

+
+
+

Custom Web Development

+

From scratch builds — landing pages, portfolios, e-commerce, internal tools. No page builders, no lock-in.

+
+
+

Performance & Ownership

+

Fast-loading, mobile-first sites you fully own. One-time pay, source code handover, no recurring fees.

+
+
+

Smart Features

+

Forms that work, live previews, admin panels, real-time updates — whatever your project needs.

+
+
+

Honest Process

+

Clear scope, fixed price, regular updates. No scope creep, no hidden costs.

+
+
+
+
+ +
+
+

Selected Work

+

These are real projects I've delivered. Each one started with a clear goal and ended with a happy client.

+
+
+ Custom e-commerce site screenshot +

E-commerce Platform

+

Product catalog, cart, payments, admin dashboard for inventory and orders.

+ View Case +
+
+ Service business site screenshot +

Consulting Firm Site

+

Lead forms, calendar booking, testimonials, SEO-optimized structure.

+ View Case +
+
+ Portfolio showcase screenshot +

Creative Portfolio

+

Interactive projects, smooth animations, blog integration, contact funnel.

+ View Case +
+
+
+
+ +
+
+

Let's Build Something

+

Got an idea? Need a site that stands out? Drop a message — I'll reply fast with a rough scope and price.

+ +
+ + + + + + + + + + +
+
+
+
+ + + + + + + diff --git a/deanportfo.html b/deanportfo.html new file mode 100644 index 0000000..cf19191 --- /dev/null +++ b/deanportfo.html @@ -0,0 +1,415 @@ + + + + + + + Dean Kunselman • Portfolio Hub + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+

Dean Kunselman

+

Portfolio – March 2026

+

A living collection of techniques, tools, and experiments I use to build fast, engaging, and maintainable digital products.

+
+
+ + +
+

Explore the Collection

+ +
+ + +
+

Skill-Specific Deep Dives

+

+ Each card links to a focused page demonstrating one specific area of expertise — complete with live code, technical breakdown, trade-offs, and real-world application examples. +

+ + +
+ + + +
+
+ + + + + + diff --git a/images/placeholder.txt b/images/placeholder.txt new file mode 100644 index 0000000..c09fc3c --- /dev/null +++ b/images/placeholder.txt @@ -0,0 +1 @@ +oi diff --git a/index b/index new file mode 100644 index 0000000..794be5e --- /dev/null +++ b/index @@ -0,0 +1,215 @@ + + + + + + Uniquitys • Custom Websites – No Subscriptions + + + + +
+
+ +
+
+ +
+
+
+

Custom Websites Without the Trap

+

No monthly fees. No templates. No lock-in.
We build exactly what you need — you pay once, own it forever.

+ +
+
+ +
+
+

Why Businesses Choose Uniquitys

+
+

Truly Custom From Scratch

No page builders, no "pick a template" nonsense. Every line of code, every design decision is made for your specific business and goals.

+

One-Time Price, Full Ownership

Pay for the work once. You get the complete source code, design files, and hosting setup. No recurring "platform" fees ever again.

+

We Do the Heavy Lifting

Design, development, responsive layout, basic SEO, domain/hosting setup, handover training — you focus on running your business.

+
+
+
+ +
+
+

Projects We've Built

+

Each one started with a conversation, not a template. These are live sites delivered to real clients.

+
+
+ E-commerce storefront screenshot +

E-commerce Store

+

Product catalog, custom cart, Stripe payments, admin dashboard for inventory.

+ View Live Site +
+
+ Professional services site screenshot +

Consulting Firm Site

+

Lead capture forms, booking calendar, case studies, client testimonials.

+ View Live Site +
+
+ Creative portfolio screenshot +

Creative Portfolio

+

Interactive project gallery, animated transitions, blog integration, contact funnel.

+ View Live Site +
+
+
+
+ +
+
+

Pricing – Clear & Upfront

+

We quote based on scope and complexity. Here's a rough guide (final price after free consultation):

+
+
+

Starter Site

+

$2,500 – $4,500

+
    +
  • 5–12 pages
  • +
  • Contact & lead forms
  • +
  • Mobile responsive
  • +
  • Basic SEO setup
  • +
+
+
+

Growth Site

+

$5,000 – $9,000

+
    +
  • 12–30 pages
  • +
  • E-commerce or payments
  • +
  • Custom features
  • +
  • Admin dashboard
  • +
+
+
+

Advanced / App-Like

+

$10,000+

+
    +
  • Complex logic / integrations
  • +
  • Membership / courses
  • +
  • API connections
  • +
  • Full custom design
  • +
+
+
+

Exact quote after 15-min call. No surprises.

+
+
+ +
+
+

About Uniquitys

+

We're a small, passionate studio that builds truly custom websites from the ground up. No templates, no subscriptions, no lock-in — just clean code you fully own. Founded in 2024, we help small businesses look and perform like the big players without the recurring costs.

+
+
+ +
+
+

What Clients Say

+
+
+

“Uniquitys delivered exactly what we asked for — fast, clean, and no hidden fees. Best decision we made.”

+

— Sarah K., Boutique Owner

+
+
+

“The site looks premium and loads lightning fast. Worth every penny — no subscription regret.”

+

— Mike R., Consultant

+
+
+
+
+ +
+
+

Let's Build Yours

+

Fill out the quick form or email hello@uniquitys.com. We'll reply within 24 hours with a rough scope and price.

+
+ + + + + + + + + +
+
+
+
+ + + + + + diff --git a/index.html b/index.html index 4655eec..b53f361 100644 --- a/index.html +++ b/index.html @@ -1,163 +1,215 @@ - + - - - Dean Kunselman — Software That Saves Time & Recovers Value - - - + + + Uniquitys • Custom Coded Websites – No Subscriptions + + -
-
- -
-

Dean Kunselman

-

I build practical software that saves time, reduces mistakes, and helps businesses recover value.

-
-
- -
- -
-
-
-

Fast builds. Measurable ROI.

-

If you’re dealing with messy inventory or manual processes, I can ship a working system in days—not months.

- - - -
- Offline-friendly - GitHub Pages compatible - Export to CSV - Fast turnaround -
- - -
- - -
- -
-

Offers

-
-
-

Inventory Intelligence Setup

-

For shops, storage rooms, liquidation/close-outs.

-
    -
  • Item entry + categories
  • -
  • Photo attach workflow
  • -
  • Search + filters
  • -
  • Export CSV
  • -
-
- $300–$2,500 - Get estimate +
+
+
-
+ -
-

Process Automation

-

Turn multi-step tasks into one button.

-
    -
  • Data cleanup / dedupe
  • -
  • Report generation
  • -
  • Batch file operations
  • -
  • Documented handoff
  • -
-
- $250–$1,500 - Contact -
-
+
+
+
+

Custom Websites from Scratch,
our priority is making our clients satisfied.
Or your money back.

+

No monthly fees. No templates. No lock-in.
We work with you to build exactly what you need.
You pay once, own it forever.

+ +
+
-
-

Dashboards & Reporting

-

Know what’s happening without guessing.

-
    -
  • KPI dashboard
  • -
  • Weekly summaries
  • -
  • CSV / Sheets friendly
  • -
  • Shareable views
  • -
-
- $400–$3,000 - Packages -
-
-
-
+
+
+

Why Businesses Choose Uniquitys

+
+

Truly Custom From Scratch

No page builders, no "pick a template" nonsense. Every line of code, every design decision is made for your specific business and goals.

+

One-Time Price, Full Ownership

Pay for the work once. You get the complete source code, design files, and hosting setup. No recurring "platform" fees ever again.

+

We Do the Heavy Lifting

Design, development, responsive layout, basic SEO, domain/hosting setup, handover training — you focus on running your business.

+
+
+
-
-

Skills

-

Each skill page is written as a sellable service with deliverables and scope.

-
- -

Automation

-

Scripts/tools that remove busywork and reduce errors.

- Open → -
+
+
+

Projects We've Built

+

Each one started with a conversation, not a template. These are live sites delivered to real clients.

+
+
+ E-commerce storefront screenshot +

E-commerce Store

+

Product catalog, custom cart, Stripe payments, admin dashboard for inventory.

+ View Live Site +
+
+ Professional services site screenshot +

Consulting Firm Site

+

Lead capture forms, booking calendar, case studies, client testimonials.

+ View Live Site +
+
+ Creative portfolio screenshot +

Creative Portfolio

+

Interactive project gallery, animated transitions, blog integration, contact funnel.

+ View Live Site +
+
+
+
- -

Inventory Systems

-

Photo-first catalog, categories, export-ready data.

- Open → -
+
+
+

Pricing – Clear & Upfront

+

We quote based on scope and complexity. Here's a rough guide (final price after free consultation):

+
+
+

Starter Site

+

$2,500 – $4,500

+
    +
  • 5–12 pages
  • +
  • Contact & lead forms
  • +
  • Mobile responsive
  • +
  • Basic SEO setup
  • +
+
+
+

Growth Site

+

$5,000 – $9,000

+
    +
  • 12–30 pages
  • +
  • E-commerce or payments
  • +
  • Custom features
  • +
  • Admin dashboard
  • +
+
+
+

Advanced / App-Like

+

$10,000+

+
    +
  • Complex logic / integrations
  • +
  • Membership / courses
  • +
  • API connections
  • +
  • Full custom design
  • +
+
+
+

Exact quote after 15-min call. No surprises.

+
+
- -

Dashboards

-

KPIs, summaries, operational visibility.

- Open → -
-
+
+
+

About Uniquitys

+

We're a small, passionate studio that builds truly custom websites from the ground up. No templates, no subscriptions, no lock-in — just clean code you fully own. Founded in 2024, we help small businesses look and perform like the big players without the recurring costs.

+
+
- -
-
+
+
+

What Clients Say

+
+
+

“Uniquitys delivered exactly what we asked for — fast, clean, and no hidden fees. Best decision we made.”

+

— Sarah K., Boutique Owner

+
+
+

“The site looks premium and loads lightning fast. Worth every penny — no subscription regret.”

+

— Mike R., Consultant

+
+
+
+
- +
+
+

Let's Build Yours

+

Fill out the quick form or email hello@uniquitys.com. We'll reply within 24 hours with a rough scope and price.

+
+ + + + + + + + + +
+
+
+ -Call -Text + - + diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..c285ad5 --- /dev/null +++ b/js/main.js @@ -0,0 +1,11 @@ +// js/main.js - Foundation scripts + +document.addEventListener('DOMContentLoaded', () => { + console.log('main.js loaded – ready'); + + // Auto year in footer (common pattern) + const yearEl = document.getElementById('year'); + if (yearEl) { + yearEl.textContent = new Date().getFullYear(); + } +}); \ No newline at end of file diff --git a/js/sitemap-tree.js b/js/sitemap-tree.js new file mode 100644 index 0000000..a608d2b --- /dev/null +++ b/js/sitemap-tree.js @@ -0,0 +1,81 @@ +// js/sitemap-tree.js +// Injects a reusable site map dropdown into any page that includes this script +// Place in the or of every page + +document.addEventListener('DOMContentLoaded', function () { + // Prevent double injection + if (document.querySelector('[data-feature="sitemap-tree"]')) return; + + // Find or create nav container (assumes you have