WF Workflo Don Florencio Email me

Sites, tools and games · New York & New Jersey

Things I have
built, and you
can open

Six sites, six live maps, seven tools, three games, a colony of 3D ants and a set of badge marks. Client work, concepts for companies I wanted to build for, a sofa you can stand in your own room, a map of every restaurant in New York, and a falling sand simulator. Most of it opens in one click, right from this page.

All of it written by hand, in code. No page builders, no templates.

What I doWorking range

What I can build

Nine things I have shipped, not nine things I have read about. Every one of them points at something on this page you can open and poke at.

Sites a business can stand behind

Storefronts, booking pages, service sites. Written by hand so they load fast on a phone and nobody pays a monthly fee to keep them alive. See Grim Reaper Gardens, Jess Fillyo and Margie Horowitz.

3D products and web AR

A real model in the page instead of a photo shoot: change the fabric with no reload, then stand the thing in your own room from a phone browser, with no app to install. See Holloway and Barham.

Live data, fetched and drawn

Public data pulled on load and turned into something readable, with the colours and the axes chosen on purpose. Sometimes that data is moving: Trains Now decodes the MTA's realtime feed and Docks Now reloads every fifteen seconds.

Voice and phone interfaces

A page that listens, answers out loud, and knows when to stop talking and take the booking. See Night Desk.

Real time simulation

Physics on nearly a million cells at sixty frames a second in a browser tab, with heat, fire and chemistry running between the materials. See Granulab.

Multiplayer over a socket

Room codes, a server that holds the truth, and two people in different houses watching the same board move. See Ant Raid.

Apps that work with no signal

Installed to a phone home screen, opening offline, keeping your progress on the device instead of on somebody else's server. See FALA.

Marks, type and print

Logos built as a system rather than as a drawing, and documents set to survive a printer at 300 dots per inch. See Marks and print, further down.

The boring automation

The spreadsheet nobody wants to touch, the report someone retypes every Monday, the job that should have been running itself for a year. Python, on a schedule, with the output checked.

Plain HTML, CSS and JavaScript wherever that is enough, which is most of the time. Three.js and WebGL when the thing has to be three dimensional, Canvas 2D and WebAudio for the games, glTF and USDZ for models, Python for the data work, and hosting on Vercel or GitHub Pages so there is nothing to maintain.

Selected workSpecimen record 01-06

Client work, and work I went looking for

Six real businesses. Three are live client sites you can open right now. Three are concepts: I picked the company, worked out what its page should argue, and built it. Every one is built differently, so you are not getting a template with your name dropped into it.

Jess Fillyo homepage: a black split-screen with the model's name in large serif on the left and a full-height portrait on the right.

Jess Fillyo

Client site · jess-fillyo.vercel.app

A booking site for a New York model. Work grid, runway reel, measurements and downloadable digitals in one place, so an agency can see everything without asking for it.

Open the live site
Holloway and Barham: a three-seat sofa rendered in 3D beside a printed specification sheet listing upholstery, mill code and abrasion rating.

Holloway & Barham

Product visualisation · holloway-barham.vercel.app

A furniture page where the sofa is a real 3D model, not a photograph. Four upholsteries ride inside one glTF file, so changing the fabric swaps the material on the spot with no reload and no second download, and the specification rewrites itself to match. On a phone the same page stands the sofa in your own room. The viewer is also packaged as a WordPress plugin and as a Squarespace injection.

Open the demo
Grim Reaper Gardens: an engraved bone-white wordmark on a dark botanical field, under the line You reap what you sow.

Grim Reaper Gardens

Live site · grim-reaper-gardens.vercel.app

A working storefront for a cannabis seed breeder upstate. Age gate, catalog, consulting, mailing list.

Open the live site
Koerner Construction homepage: a dark header over a photo of a house, with the headline Building is our business, relationships are the goal.

Koerner Construction

Concept redesign · Hudson Valley builder

A full site for a Hudson Valley builder: what a contractor who does careful work should look like online, rather than what most of them settle for.

Open the demo
Margie Horowitz Real Estate: a cream page in old-style serif with the line Most of my listings sell in under thirty days.

Margie Horowitz Real Estate

Design concept · North Shore real estate

A homepage for a North Shore agent. The whole page argues from one number she already has: most of her listings sell in under thirty days.

Open the concept
Ghostwriters Central: an editorial homepage reading Somebody else does the writing, your name goes on it, beside a manuscript page.

Ghostwriters Central

Homepage concept · Los Angeles ghostwriting

For a Los Angeles ghostwriting firm running since 2002. Their real copy, real rates and real reviews, set as an editorial page instead of an agency brochure.

Open the concept

Live dataFetched on load

Maps you can actually drive

Not screenshots of data, and not a chart somebody exported last quarter. Every one of these fetches the numbers when you open it, plots them, and hands you the filters. Two of them redraw themselves while you watch, because the feed behind them changes every few seconds. Open one and start dragging.

Bitemap: a map of New York City with 2,259 Chinese restaurants plotted in red, beside a panel of cuisine filters with counts.

Bitemap

Live map · bitemap-workflo17.vercel.app

Every restaurant in New York City on one map, 30,075 of them, drawn from the city's own inspection records. Filter by borough, by cuisine, or down to a regional kitchen, search for a dish rather than a name, and the map redraws as you go. There are walking crawls built on top for when you want an afternoon planned rather than a single dinner. It runs on vector tiles, so panning a city's worth of points stays smooth on a phone.

Open the map
NYC Pulse: a dashboard of 311 complaints with a bar chart of complaint types and a borough breakdown.

NYC Pulse

Live dashboard · workflo17.github.io/nyc-pulse

Every 311 complaint filed in the last seven days, fetched from NYC Open Data the moment you load it. Nothing is stored and nothing is stale.

Open it
Trains Now

Trains Now

Live subway map · trains-now.vercel.app

Every train the MTA is reporting, right now, on the line it is running. The agency publishes protobuf with no coordinates in it, only "stopped at 42 St" or "in transit to 34 St", so the page decodes the feed by hand, then uses the published schedule to work out which two stations a moving train is between and draws it on the track. It refreshes every 25 seconds and the dots ease across.

Watch it move How a feed with no coordinates becomes a map
Docks Now

Docks Now

Live bike share · docks-now.vercel.app

Every Citi Bike dock in the city, refreshed every fifteen seconds. Ask it for a bike or for a dock and the colours flip to answer the question you actually have.

Open the board
Sold Nearby

Sold Nearby

Sales and values · sold-nearby.vercel.app

What actually sold on any block in the five boroughs, with the price, the date, the square footage and what that works out to per foot, straight from the city's own register. Long Island is covered too, all of Nassau and all of Suffolk, which took some digging: the state publishes no individual sale prices out there at all, so the page reads the assessment roll instead and, for the towns that file an assessment rather than a market value, works the value back out using that town's own published ratio of assessment to sale price. Built as the comps half of the seller's question, so it hands off to the net sheet for the other half.

Look up a block How the Long Island prices are derived
Ant Atlas

Ant Atlas

Species map · ant-atlas.vercel.app

Every ant anyone has recorded, anywhere on Earth, from museum drawers and phone photographs alike. Pan to a place and it names what lives there.

Go looking

Also builtWorking record 01-08

Tools and apps

Small programs, each one built because the alternative was doing the thing by hand. The ones that are on the open web link straight in.

No-Show Saver: a dental appointment list beside a simulated phone showing text reminders.

No-Show Saver

TOOL-01 · Working demo

Text reminders that cut no-shows for dentists, salons and med spas. Sends the reminder, takes the confirmation, and fills the empty chair from a waitlist.

Try the demo
AI Front Desk: a dark dashboard showing an after-hours call being answered automatically.

AI Front Desk

TOOL-02 · Working demo

The phone still gets answered after you close. Takes bookings, answers the usual questions, texts a confirmation, and only wakes you for the big stuff.

Try the demo
Punchboard: a job board for a construction company with tabs for board, today, blocked and done.

Punchboard

TOOL-03 · Working demo

One board for a contractor's active jobs and punch lists. Everything overdue or due today pulls into one sheet you can print and take to the site.

Open the board
Reel Factory: a pizzeria dashboard listing phone clips sent in and the finished vertical reel.

Reel Factory

TOOL-04 · Working demo

You film 30 seconds on your phone during service. The cut comes back in 48 hours with hooks and captions, ready to post.

Try the demo
Site Audit: a form reading Paste a website, get the pitch, with fields for site, town and competitor.

Site Audit

TOOL-05 · Working tool

Paste in a website and it crawls the pages, runs Google's own speed test, and writes up what is slow, missing or broken as a report you can hand to somebody.

FALA: a Portuguese learning app with a flashcard and progress counters.

FALA

TOOL-06 · Working app

A Brazilian Portuguese app: 240 cards on a spaced repetition schedule, native audio, and it keeps working with the plane on airplane mode.

Open the app
North Shore Net Sheet: a form asking which home we are running, with address, town and asking price.

Net Sheet

TOOL-07 · Working demo

What a seller actually walks away with after the payoff, the transfer tax, the attorney and the commission. Four questions, ninety seconds, and no phone number asked for.

Try it
A dark analytics dashboard, shown with sample data: page views, conversions and conversion rate across the top, then a table of traffic sources with a leads column beside each one.

First-party analytics

TOOL-08 · Running on this page

The conversion tracking behind this site, written rather than installed. A serverless collector, a private store, and a dashboard behind a key. No third-party script and no cookies, so there is no consent banner to click. It is recording your visit right now.

Read the source

Also builtGame record 01-03

Games

Not client work, and I am not pretending otherwise. They are here because the hard parts of a game, physics that has to hold up, netcode, and making a thing feel good under your hand, are the same parts that decide whether a website is worth paying for. Two of the three you can play in a browser right now.

Granulab: a falling sand sandbox with sand, water and acid piled in a dark instrument-panel interface.

Granulab

Playable · granulab-workflo17.vercel.app

A falling sand sandbox in the Powder Game line. More than 40 materials with heat, fire and real chemistry between them, plus a maker for inventing your own element and its reactions. Nearly a million cells, 60 frames a second, no plugin.

Play it
Grubs TD: ant towers defending a pheromone trail across a red picnic blanket while bugs march in.

Grubs TD

Playable · workflo17.github.io/ant-td

A tower defense where the towers are ants and the trail runs across a picnic blanket. Six maps, one for each hour of the day. Every sprite is drawn in code and every sound is synthesised, so the whole game is a few hundred kilobytes and works offline.

Play it
Ant Raid: two nests at opposite ends of a dirt arena with a column of ants marching along the road between them.

Ant Raid

Multiplayer · github.com/workflo17/ant-raid

The other half of Grubs TD: you are the wave. Two colonies, three roads, sugar to spend on the ants you send and the ones you keep home. You get a room code and send it to a friend. It needs a socket held open, so it cannot live on static hosting the way the rest of this page does. The whole thing, game server included, is on GitHub.

Read the source

3DModelled, rigged, rendered

Modelling and animation

From Vivarium, an ant colony simulator I have been building. The ants are real geometry on a real skeleton, not sprites. Pick a caste below and drag it around, then watch the same three turn.

Drag to spin · scroll to zoom

The minor worker, the one that does most of the work in a real colony. 44,859 triangles, three texture maps and a clearcoat pass for the wet look of chitin. All three castes ride the same 59 bone skeleton, which is what lets one animation drive the whole colony.

Feet that stay put

Worker · walking to camera

The hard part of insect walking is that the foot has to stay where it landed while the body moves over it. Get that wrong and the ant skates.

The same three, turning

Turntable · silhouette check

Every model gets spun through a full circle before it is allowed near the game. It is the fastest way to catch a proportion that only reads from one angle.

PipelinePhotograph in, AR asset out

Picture to 3D to AR

Software I wrote that turns one product photograph into a 3D asset a shopper can stand in their own room at true size. No scanning rig, no modelling contract, no per-model licence, and nothing leaves the building: every stage runs on one desktop. Below is a chair it made. Switch between what the reconstruction handed back and what the pipeline made of it.

Drag to spin · on a phone, put it on your floor

Straight out of the reconstruction model. 500,580 triangles before I thin it, no texture at all, no real-world size, and the studio floor came back as a slab of geometry because the model cannot tell the product from the set it was shot on.

Three panels side by side: the source photograph of a boucle chair, the untextured reconstruction with a slab of studio floor under it, and the finished upholstered asset.

Three stages, one photograph

Workflow · image, geometry, product asset

The middle panel is the honest one. A reconstruction model returns shape and nothing else: no colour, no scale, not even normals, and it happily rebuilds the seamless and the contact shadow as a plate of geometry under the chair. Everything between that panel and the third one is code I had to write.

Console output of the pipeline: the source image, the reconstruction, the ground plane detection and cut, and the USDZ package passing validation.

Four commands, start to finish

The software · Node and Python

Finding the floor is the part I am proudest of. You cannot find it by looking for dense geometry, because a flat plate simplifies down to almost no vertices. You can find it by width: a reconstructed floor spans about twice the band directly above it, because what stands on it are chair legs. One measurement, one cut.

The reconstructed boucle chair standing in a sunlit empty room at true size.

At the size it really is

AR · glTF for Android, USDZ for iOS

The asset ships as glTF for the web and Android and as a matching USDZ for iOS AR Quick Look, both at metric scale with pinch-to-resize switched off, because the question a shopper is actually asking is whether it fits. The write-up, including what the technique cannot do, is on the demo site.

Read the case study

Also builtOff the screen

Marks

Not everything ends up in a browser.

Three circular badge logos on cream: a bear, an elk and a ranger, each ringed with type and a toothed edge.

Three badges, one shell

Identity study · drawn in code

Outdoor badge marks for three imagined brands, emitted as SVG from one shared Python shell so the set is provably a system instead of three lookalikes. Every stroke is 3, 6 or 9 units and never anything else, and each mark was proofed at 256, 512 and 1200 pixels, because a badge that only works large is a badge that fails on a phone.

Build notesLonger form

The hard part, written down

Three of these had a problem in the middle that took longer than the rest of the build put together. These are those parts: what the obstacle was, what I tried, and what the thing still cannot do.

Prices for a place that publishes none

Sold Nearby · open data

New York State publishes no individual sale prices for Nassau or Suffolk at all. The way out was a table almost nobody reads: the state's own published ratio of assessment to sale price, per town, per year.

Read the note

A live map from a feed with no map in it

Trains Now · realtime

The MTA reports "stopped at 42 St", never a latitude. Sixty lines of hand-written protobuf, then the published schedule to work out which two stations a moving train is between.

Read the note

One photograph to an AR asset

Pipeline · 3D

A reconstruction model hands back shape and nothing else, and rebuilds the studio floor as a slab of geometry under the product. Finding that floor by width rather than by density is the part I am proudest of.

Read the case study

ContactSay hello

That is the work. If you want something built, write to me.

I read everything that arrives. Tell me what you are trying to make and I will tell you honestly whether I am the right person to make it.

I am Don Florencio, and Workflo is the name I build under. Websites, small tools and games out of New York and New Jersey, mostly alone and mostly in plain HTML, CSS and JavaScript. Everything on this page I made, and the source for a good deal of it is on GitHub. Thanks for looking.