Basalt, Colorado
Virginia P. PaysonWebsites and applications, designed and built
Independent designer and developer, working in the Roaring Fork Valley since 2002. I make websites and applications, and try to leave them fast, accessible, and easy for someone else to pick up later.
Recent work — live, if you would like a look
Route driver application
A compost hauler ran its routes off a printed spreadsheet. I built a progressive web app that reads that same sheet live — drivers work from their phones, the office watches progress arrive, and nobody had to learn a new system. Turn-by-turn navigation in the app, notes and photos back from the cab, and a server that physically cannot show a driver the billing columns.
It has kept growing since: work continues through the valley's dead zones and syncs when signal returns, customers request holds through a portal, and the mapping calls are cached and guarded so the bill stays flat. Payment straight from the books the office already keeps is built and being connected.
Node · Express · WebSockets · Google Sheets API · QuickBooks · vanilla JS · in daily use Three live demos — driver's phone, route map, office board → Small business sitePrivate chef & catering
A chef working the Roaring Fork Valley — private dinners, mountain celebrations, full event catering — needed a site that read like the work rather than like a template. The brief that mattered was not a feature list: it was that the thing should look considered, hold up beside the photography, and never feel like a page anyone could have generated.
The type does the work. Google Sans Flex, set wide in weight rather than wide in size — a 400 first line against an 800 second line, so the emphasis lives in the contrast instead of in a bigger headline — with a short accent rule above each section the way a magazine marks a new department. The band under the header is a φ series: the first bar is 45% of the viewport, each next one the previous divided by φ, and they are generated until they fill the width. Its colours are not picked. They are derived from the single accent colour in OKLCH, as three analogous families thirty degrees apart read across nine tonal steps, so changing one hex re-tunes the whole band and it stays perceptually even.
Google Sans Flex · OKLCH analogous ramp · φ proportions · CSS-driven motion · no framework Look around the site → Research toolInvestigation wall
A corkboard-and-string wall, built for the browser. Entities become nodes you can drag, retitle and annotate in place; related nodes collect into clusters; clusters sit inside zones that carry their own colour and label. The whole board is one self-contained HTML file — no build, no dependencies, nothing to install — so a copy of it is a copy of the investigation.
The interesting constraint was that the people using it are not developers and the board changes constantly, so every edit happens on the board itself rather than in a settings screen somewhere: click a node to retitle it, drag to re-group, and the same colour panel that styles one node styles the zone it sits in. Layout and theming are CSS custom properties throughout, which is what lets a palette change propagate without a line of JavaScript recalculating anything.
Single-file HTML · CSS custom properties · drag layout · zones and clusters · no framework Open the board → Research toolThe Lemmon Docière
The same wall grown into a live, shared case board. Every edit saves to a server and follows you to any browser or device; the last fifty versions are kept, so any change can be rolled back. Source documents open straight from the nodes that cite them, and a video panel pulls a channel's feed in without an API key — sorted by views, embedded in place.
Node / Express · SQLite version history · RSS feed proxy · static export · no framework Open the board → Design toolGolden Section Palette
Pick a colour and watch the golden rectangle build itself — thirteen squares, each one the short side of whatever rectangle is left, rotating right, top, left, bottom, with a quarter-circle arc per square tracing the spiral over the top. They are toned by size: the large squares take the deep values and the small inner ones the pale tints, so the composition has somewhere for the eye to rest.
The colour is two algorithms, not one. Hue comes from the classical wheel harmonies — monochromatic, analogous, complementary, split, triad, tetrad and key colour — which are plain rotations of 30°, 90°, 120°, 150° and 180°. Everything else is OKLCH: the picked hex is converted through the Oklab matrices, every family is run up the same nine-step lightness ladder, and each step is converted back to sRGB. That is why a triad holds together — its three legs land at the same lightness, which a rotation in HSL does not guarantee. φ governs proportion, and the whole set exports as CSS custom properties.
Classical harmonies · OKLCH, hand-rolled · canvas · φ proportions · no dependencies Build a palette → Design toolColour Theory Wheel
The same harmonies the traditional way, and a teaching tool as much as a generator. Six modes — monochromatic, analogous, complementary, split-complementary, triad, tetrad — each drawn on the wheel with a plain-English note on when it works, plus the tints and shades of every hue it hands you. Hover a harmony to expand it, click any swatch to copy, take the set as CSS variables.
Deliberately built on HSL rather than OKLCH: this one is about the wheel as colour theory has always taught it, so the maths should be the maths people already know. The Golden Section Palette is where the perceptual version lives.
HSL · 6 harmony modes · tints and shades · copy as CSS variables Open the wheel →Site style control panel
Built into an interiors studio's site so the client could re-tone the whole thing herself. Pick a base colour and a harmony — complementary, analogous, split, triadic, monochrome — and every page re-derives from it in OKLCH, so contrast holds instead of breaking on one unlucky pairing. Try it freely: it saves to your own browser only, so nothing you change is visible to anyone else.
OKLCH · 7 harmony schemes · no framework, no build stepResonance Engine
Play a frequency and watch it take shape. Tones are tuned to A432 and drawn as water cymatics in WebGL, the surface tinted by that tone's own colour octave. The harp voice is a plucked string modelled note by note rather than a sample, so it rings and decays like the real thing, and every pitch is mapped against its musical note, brainwave band and colour.
It runs with no server behind it at all — the synthesis, the shader and the mode arithmetic are all in the page, so it still plays years from now with nothing upstream alive.
Web Audio API · WebGL · Karplus–Strong synthesis · no backend, no dependencies Play it →Selected work — longer-running projects
Aspen Ideas Festival
Aspen Institute · Visit →Custom pages and feed integrations behind a multi-track event platform — podcast and video feeds parsed into the CMS, schedule pulled from the internal database, plus the newsletters and the Festival app.
Carolynn Heil Interiors
AspenA complete studio site in vanilla HTML, CSS and JavaScript, laid out on golden-ratio proportions with an OKLCH colour system — and a control panel built into it so the studio can re-tone the whole site itself.
Early Music San Antonio
NonprofitSeason calendar, concert pages and ticketing for a volunteer-run arts nonprofit — 419 events moved off WordPress and a costly licensed plugin onto something maintainable, with volunteer tools so the director runs it herself. The demo is those tools, working, with made-up messages.
The Home Ranch
Clark, Colorado · Visit →A 3,000-acre Colorado guest ranch — lodging, dining, experiences and private events for a property that has to sell a place, not just describe one.
Fripp Island Golf & Beach Resort
Destination · Visit →A private-island resort: 100+ rental properties, ten restaurants, two golf courses and a full reservation engine. Lodging, dining, recreation and events served from one site.
Cracks & Racks
Aspen · Visit →Full store migration off end-of-life Magento 1 onto Magento 2, with the storefront rebuilt rather than ported — catalog, appointment scheduling and service content in one usable whole.
How I work
HTML and CSS first
Structure and styling in markup, with JavaScript where it adds behaviour. Lighter pages tend to stay quick, and tend to stay easier to change a few years on.
Accessible from the start
WCAG 2.1 AA considered at the design stage rather than patched on at the end: contrast, keyboard support, screen-reader testing. Not an accessibility overlay — they tend to cause more than they fix.
Built to hand over
No proprietary framework, no page-builder lock-in. You own the code, the accounts and the documentation — so you are never stuck with any one developer, including me.
Have a project in the valley?
Happy to talk it through — no pitch, no obligation.