HUX
Changes
- Added two new Handyman permutations, bidet and attic ladder installs (#3587)
- In response to Coronavirus, we’ve removed the penalties for cancelling or rescheduling an appointment within 48 hours of its start time (#3685)
- Machine’s appointment permutation editor was removed in favor of simply using the provider-facing editor via the impersonate feature. It had become both bloated and redundant. (#3623)
- Support can choose to suppress user-facing communication via this new toggle if necesarry

- Built a more comprehensive and insulated Hux status checker. Every 5 minutes, it loads the home page and attempts to log in. This test may sound simple but it really checks many potential site issues. (#3687)
- Fixed a nuisance where tapping on the marketplace search bar scrolls the page to the top (#1864)
- Simplified some UX flows in the new gift card feature by removing redundant modals (#3669 & #3679)
- Updated many OpenGraph contents and built a more robust framework for future pages (#3681)
- A copy of providers’ earnings reports are attached to the email automatically sent when they leave the marketplace (#1669)
Bug Fixes
- Fixed an issue that caused the page to reload if users clicked the “Buy Credit” link on the home page (#3689)
- Fixed a rare issue that caused some donations to lack transfer types, causing them to be ignored by Grow (#3684)
- Fixed a regression in how the appointment list was loaded (#3682)
- Fixed a confusing banner shown to existing customers while opening a Hux URL with a new-customer discount code (#1882)
- Fixed a rare issue with the marketplace sorting algorithm where providers with near ties were sorted incorrectly (#3565)
- Fixed an uncommon issue that caused the Housecleaning dimension scraper to display a range for the square footage rather than the precise number (#3294)
Posted on April 15, 2020
New Features
- Users can now buy gift cards entirely in-product rather than being redirected to Jotform (#3651)
- Users can also now buy bulk credit in-product
- We’ve taken this opportunity to spruce up the referral page by more prominently displaying how much credit users have
- Customers can also apply their credit to any previously booked appointments - something support would previously have to handle
- Lastly, we’ve added a dedicated page where users can find all new Corona-related features
Bug Fixes
- Fixed a confusing UI where customers cancelling a recurring series didn’t see any appointments listed (#3119)
- Fixed the font size in nag modals (#3638)
- Removed some unhelpful text from the handyman rebooking flow (#3645)
Posted on April 6, 2020
Provider Donations (#3641)
In response to the Corona Virus crisis, many customers became concerned with their provider’s financial wellbeing. The new donation feature allows customers to send money directly to providers. Behind the scenes, it works by adding a special kind of tip to an existing appointment between the customer and their provider. This way, the amount will appear in a provider’s earnings statement.
Miscellaneous
- Improved customer-facing communication of permutations in which the customer must supply something for the service (#3648)
- Closed a loophole that allowed customers to book once-per-account discoutns twice (#3622)
- Transitioned from Algolia to Fuse.js for the landing page service search functionality to cut costs (#3639)
- Added a “new” tag to the account sidebar to draw attention to our new Chores service (#3606)
- Adapted the chores service to better work from team accounts (#3605)
- Prevent customers from advancing to checkout if they haven’t selected any chores (#3625)
- Record appointment address changes in Machine (#3624)
- Changed copy like “3 hours of electrician work” to “3 hours of electrical work” to better communicate the customer is booking a handyman rather than an electrician (#3635)
Bug Fixes
- Fixed a bug that caused one-time discounts to be applied to all appointments in a recurring series (#3621)
- Fixed a UI issue that made it difficult to log out on mobile (#3490)
Posted on March 25, 2020
This release marks the start of Chores and the end of the Handyman beta and it has a huge list of fixes as well!
Handyman Updates
- Increased duration of tiling services
- Added more items to hanging items
- Added install toilet seats
- Added repair sink plug
- Added fix low water pressure
- Added replace drain plug
- Added install shower rods
- Added install shower doors
- Added install garage doors
- Added mailbox services
- Added gutter installation & cleaning & installing downspouts
- Added door repair services
- Added door accessories like pet doors, sweeps, closers, strips
- Added level washer & dryer
- Added install dishwasher
- Added over-the-range microwave
- Added install window ac unit
- Added furniture repair
- Added pool cover services
- Added tarping items
- Added smoke alarms installation and replace battery
- Added sharpen knives
- Added appliance maintenance
- Added minor interior repair (repairing trim & handrails)
- Added haul-away to furniture assembly
- Added generic caulking service
- Added cleaning services (fan, bbq grill, cobwebs)
- Added install & replace windows
- Added replace window screens
- Added replace window sill
- Added exterior shutters services (install or adjust)
New Chores Service
- Hourly chores (Cleaning, Organization, Errands, Delivery, General labor)
- Organize rooms
- Organize closets
- Line cabinets
- Remove junk
- Laundry
- Ironing
- Steaming
- Change sheets
- Put away clothes
- Dishes
- Dishes (hand wash)
- Clean appliances of (fridge, washer & dryer, oven & range, bbq grill)
- Clean rooms (traditional full service cleaning per room)
- Clean items (blinds, ceiling fan, vents, furniture, door knobs & wall plates)
- Clean baseboards
- Clean windows
- Carwash
- Dog walking
More juicy updates
- Added compatibility with the autofill feature from the iOS keyboard so that you are able to tap on an address that you have saved on your phone
- Added support to preserve or discard the permutations when using the rebook feature, defined on the service. Handyman services will not preserve the permutations when rebooking an apt.
- Added support for making discount codes that only work once per customer.
- Added support for service concurrency, used in laundry so that the provider can do other tasks while still leaving a minimum time for the laundry machines to run.
- Fixed bug that caused the return / recurring metrics in the dashboard to become out of sync.
- Fixed bug that caused return rate not to update.
- Greatly reduced the jank when modals and dropdowns appear and disappear that don’t fit in the window. This works around the scroll anchoring bug in Chrome and Safari, all while reducing complexity by removing the previous “fix” which really wasn’t that great.
- Updates which options become headers so that the checklist at checkout and in the receipt formats correctly
- Added chores to apply page
- Remove the yelp link from the landing page
- Closed the handyman beta, removing the UI tags and auto-applied discount
- Added the time of day to the appointment history section in machina.
- Updated fullstory to required version
- Add ability to specify a time of day that a discount will expire
- Fixed flash change of height when rebooking rate modal opens
- Fixed back button flow to work as expected after editing an appointment
- Added a flow to support having a balance modal and a nag and possibly more modals
- Times between 12am-5am are no longer shown as an option to input in the availability editor
- The site now pukes if you try to put in a URL to your bio because why not
- Removed the minimum banner notification when looking at house cleaning
- Updated recurring metric help text
- Customers can now book a one-off appointment without a credit card if they have enough credit to cover the price
CICO
- We’ve added the ability to set custom CI and CO rules per service, either a flat duration or a percentage of the appointment’s duration
- We’ve updated just handyman with this change by allowing them to checkout 15 minutes after their check in time
- When a provider CICOs perfectly but encounters a card error, the user is notified in the modal. This experience was pretty terrible before this change.
- The Machine CICO.csv export now has “locked in” CICO perfect values. Because we’ve changed the CICO requirements over time, this was a necessary change to preserve data. For example, if a handyman checked out of an appointment improperly given the previous rules (≥50% of duration), the value recorded in the export will not change. It previously changed every time we changed the rules.
- To help avoid confusion, the service-dependent CICO rules are now displayed in an appointment’s page in Machina

Posted on March 11, 2020
Provider Rebooking
In an attempt to improve the company-wide rebooking metric, we’ve changed the way that providers are sorted on the marketplace. By default, providers will now be ranked by how frequently their customers return to Hux, rather than their traditional 5-star rating. Our intention is to channel customers to the providers that most frequently return customers to Hux.
It starts with the rebooking metric displayed prominently on a provider’s listing

Customers can learn more about what the rebooking metric is, and how this provider stacks up against the competition, in this modal

The metric is fairly simple - of the last 50 customers that have booked this provider, how many booked another service on Hux within 60 days of their appointment? Low quality providers obviously scare customers away - they may not trust Hux again. Providers that disintermediate obviously don’t have customers return at all. We hope this metric incorporates all these characteristics and concisely communicates them to customers.
Hourly Service (#3497)
The nature of the Handyman service is that there are dozens of skills that our providers have. While we’ve worked diligently to add as many of these to the site as possible, it’s also important to have a catch-all for that niche service we couldn’t expect.
Handyman providers can designate which categories they support. We’re launching with 8.

They can then specify their project durations

This release only shows this feature to providers. We’ll release it to customers once we have enough providers add this new feature.
Miscellaneous
- Added more lines to the user note in machina - this means you can now write multi-line comments (#3492)
- Added the full service details to house cleaning reviews. This means a review will show “Standard Cleaning / Organize Closet” for example. We previously only did this for handyman reviews. (#3496)
- Clicking on “All handyman” from the landing page service tiles now skips the Get Started page if the user has already inputted their address (#3494)
- The provider list in Machine now only displays providers that offer the services selected. This setting can be edited by clicking Manage > Settings in the top bar. (#3508)
- The provider list also displays which services a provider offers now
- The new provider rebooking stats have been added to the provider CSV export (#3506)
- Added a “get started” button to the bottom of the landing page for mobile users (#3471)
- Fixed a security hole that could have affected the HTML content we display to Google’s scraper (#3488)
- Added cancel information to every appointment so that we can use it for recurring churn analysis in Grow (#3486)
- Upgraded to Meteor 1.9
- Updated Turn API integration to match their updated testing specifications (#3487)
- Removed the business card integration with Moo (#3482)
Bug Fixes
- Fixed a bug that hid apartment numbers and complex names from providers’ receipts (#3509)
- Fixed an issue when providers edited their service price, that information was not being recorded in Machine (#3505)
- Fixed a bug that prevented machina users from updating a provider’s max hourly rate (#3489)
Posted on February 11, 2020
Landing page screenshot issue
- The iPhone screenshots used throughout the site used an XHTML attribute not supported by older browsers. The issue in question resembled the following:
<svg ...>
<image href="/path/to/screenshot.png" ... />
</svg>
- Older browsers were unable to understand the
href most likely due to a namespace conflict. The image therefore was not loaded because the browser did not know the address of the resource.
- The attribute, with proper prefixed namespace
xlink:href is instead used. This is written in React as prop xlinkHref.
Posted on January 27, 2020
🛠 New year, new permutations for Handymen! Karim and James created over 500 new permutations (501 exactly), which have been tagged as provider only for now. Now we can launch permutations to providers before customers.
- Hang curtain (this had the most requests)
- General wall mounting service (also had many requests, used for broom and mop holders, flag poles, hooks, decorations, and misc)
- Added all types of leaks throughout multiple kitchen & bath services
- “Patch drywall corners” added to drywall patches
- “Loose faucet” added to sink repair
- “Hallway” added to interior painting
- Changing height of existing curtain rods
- Garage & basement cleaning
- Install weather stripping around the doors
- Refinishing hardwood floors
- Subfloors
- Mold cleaning
- All types of flooring (Lay tile, hardwood, carpet, laminate)
- Grout tile
- Grout service add-on within tile replacement service
- Services for patch, repair and stretch carpet
- Bathroom towel racks
- Install bathroom fans
- Floor scratches
- Dehumidifier hookup
- Hose mending
- Clarified what unclog sink is for
- Clarified not to add your whole house when interior painting
- Reduced take out trash service to 15 minutes
🥚 New year, new updates! This release also fixes nagging issues that have piled up over the past few months.
- Starting off the new year with MORE SERVICES. Now a total of 10 of our top services are highlighted on the landing page.
- After browser credit card autofill was broken on our site for multiple YEARS, it’s finally been fixed. You can now check out seamlessly with flawless browser integration.
- Gift card link was added to the hamburger menu
- Set up Rest API for Grow
- Basic system for adding permutations to providers before launching to customers
- Fixed critical issue that caused stripe balances to accumulate upon rejected payouts
- Fixed regression in receipt obfuscation
- Fixed regression in appointment list, where switching appointments would change the filters and cause jank
- Optimized search engine to not spell-check hang to hand (first result for “hang” shouldn’t be “handyman”!)
- Added ability to unsubscribe from “Provider edit” emails. The defaults remain unchanged.
- Shift+Up now works properly on the search bar
- Reviews now say the actual service that happened and not just “Handyman”
- Implemented the required changes for Stripe’s Febuary 2020 API deprecation
- SEO improvements (Rating is missing required best and/or worst values, and Value in property “ratingCount” must be positive)
- We beleive we have tracked down and fixed the cause of the “Appointment no longer available” banner
- Refined and beautiful fading highlight on child permutations when clicking on a result from the search bar
- Fixed issue where a customer would not show in a provider’s recurring list
- After adding a permutation, we now re-check if we need to skip to the first available date
- Implemented required changes for CustomerIO email deliverability
Absolutely huge 10X game changers
- Home page service tiles optimized and made into the same resolution. File sizes range from 4-15 kB (10x reduction)
- Charts are now EQUAL sized on desktop and mobile!
- Phone screenshot in home page resized to show THREE additional timeslots!
- Search bar is already focused when the user loads the page to SAVE TIME AND MONEY!
- On the home page, fixed resposive layout issue when changing screen size
- Limit amount of information in review documents
- Format addresses sent to Stripe in Stripe’s favorite format
- Brand new and pretty cool search bar and results styling
- Added “No results” placeholder to search bar
- Fixed occasional but harmless error message when setting an instant transfer card
- Added LIKE 5 MORE services to the “instantly book…” spinner
- Update provider’s email in stripe when user changes emails
Posted on January 21, 2020
- Fixed a bug that caused the stripe webhook to fail on
account.updated
- Fixed an issue that caused the Pluto config file to not dynamically generate dates
Posted on December 18, 2019
New Landing Page
The primary focus of this release was redesigning the landing page to highlight our long-awaited expansion into new services.

The crown jewel is the search bar which allows users to quickly find the service they’re looking for

The next section scrolls through popular services and shows off important features

We display a live count of how many reviews our providers have received as well as the three more recent reviews
Overall, this update aims to showcase all the new handyman services as well as support our upcoming ones.
Pluto
- Pluto’s config file is now hosted in Hux, making it easier for developers to update the checks with a new codebase version. This helps save time and reduces the potential for human error.
- Added a check for Appointments in specific neighborhoods (#3383)
Miscellaneous
- Added festive Santa hats to all provider images for the duration of December
- Fixed an edge case that allowed customers to book in rare instances with a card error (#3384)
- Added phone number validation to the provider signup funnel (#3391)
- Added helpful text to the discount creation UI in Machine that removes confusion around what time discounts expire (#3399)
Bug Fixes
- Fixed an issue where iPhone screenshots had too much top padding when under 200px in width (#3409)
- Fixed a bug that caused the client to crash (blank, white screen) when users hit the back button while viewing a modal on the marketplace (#3415)
- Removed a duplicate “Hux” from payment card statement descriptors (#3393)
- Fixed a spacing issue that caused service requirements (the checkboxes that provider applicants must confirm when adding services) to appear jumbled and on top of each-other (#3400)
- Fixed an edge case that caused providers with small blocks of availability to not be pushed to the bottom of the marketplace
- Fixed an edge case where provider applicants could skip questions if they add additional services after completing the questions for the precious services (#3397)
- Fixed a very small number of appointments that were malformed (#3395)
- Fixed an issue where handymen couldn’t edit appointment durations (#3386)
- Fixed a bug with Amplitude’s
VIEW_MARKETPLACE event min and max price data (#3390)
- Fixed a rare bug that prevented users from tipping if they opened the website from clicking on a rating star in the post-appointment email (#3388)
Posted on December 17, 2019
This extra fun release was centered around an update Stripe is making to thier API which is what I call a shake up. We’ve updated to the latest version of the Stripe package and updated the code everywhere it was required.
As always, we could not resist tossing in some high priority stuff:
- During provider sign up, fixed issue where the URL conflict checker caused the cursor to jump around.
- In machina, copying an appointment no longer throws an error.
- Fixed an regression that caused the address autofill results to not be prioritized by distance.
- The tip feature has been changed to Tip / Reimburse and the tip limit has been raised. Also it asks you if “YoU aRe SuRe” when the amount is over $100.
Miscellaneous other stuff
- Hid the recurring count for handyman on profile page.
- We now keep Stripe’s record of the provider’s address in sync.
- When changing the start time, the comment now accurately says who did it.
- We now log the user’s UA & IP Address when a user attempts a banned address.
- Removed the recurring sentence fragment when a provider checks out if the appointment was not recurring in nature.
- Hid the Create Account button in the hamburger menu if the screen is at a certain size because it’s redundant.
Posted on December 4, 2019
- Show providers on the handyman marketplace even if they don’t have timeslots for the currently viewed day #3362
- Edited all sorting algorithms to first consider whether or not providers have any timeslots on a given day #3362
- Updated the surcharge UI #3344
- Display a blue banner that alerts customers when their current permutation selections are under the service minimum #3350
Posted on November 19, 2019
- Added URL Hux.com/open-jobs to list Handyman job listings to meet Indeed’s criteria
- Fixed an issue that caused the page to display a blank white screen once provider applicants finish the guideline step
Posted on November 13, 2019
GeoLocation Bug
- The cause of the GeoLocation bug was found to be a rogue tracking script loaded by AdRoll. The script, only loaded on mobile devices on first touchevent, was loaded insecurely via HTTP. GeoLocation returns PositionError #2 if any resource was loaded via HTTP.
- The issue was solved by adding an HTTP header to block mixed content. The following line was added to document header:
<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
- This directive tells browsers not to load insecure content
- This update reverts Hux 2.8.5.3 which added a patch allowing users to use CICO otherwise properly if they encountered this bug
Amplitude
- Added service information to the event
VIEW_MARKETPLACE to make it easier to segment marketplace data by service (house cleaning VS handyman)
- Added Meteor connection status to the event
LOCATION_GPS_ERROR in case that was a factor in the GeoLocation bug (PR)
Posted on November 13, 2019
CICO Patch
- The sole purpose of this release is to assuage the elusive GeoLocation bug we currently face
- We know that providers have intermittently encountered GeoLocation PositionError # 2 but don’t know why or how. We know from Aplitude data that the problem began on or around Monday, October 28th. There are 0 recorded instances of PosError #2 prior to that date.
- This release allows providers who face that specific error to continue with CICO as normal
- That is, all other restrictions remain in place (providers must use OMW before they arrive at the appointment, CI within 20 minutes, and CO after 50% has elapsed)
- This release should be removed as soon as the underlying cause is found
Posted on November 6, 2019
This release includes a new checklist generation via tree traversal plus some excellent bug fixes.
Updates
- Fix issue that stopped you from booking if the discount stored locally did not apply to your booking at checkout.
- Prevent race condition that showed an “Appointment no longer available” banner when confirming a service.
- Updated Indeed landing pages template.
- Updated Rebook screen to include cancelled appointments.
- Support handyman service in the modal for rebooking from receipt with permutations the provider no longer offers.
- Temporarily removed pricing from the service selection modals because the minimum is not yet dealt with in the UI, giving the appearance that it’s wrong!
- Added background check queue page to machina,
- Fixed small gap in sidebar.
- When using relative time (like “tomorrow”, “today”, “in 2 days”), a timezone is now used and this fixes reminder messages having the wrong content!
- Return customer credit when a request expires.
- Addded a back button to all “Join Marketplace” screens when signing up as a provider!
Tipping Updates
Customers were accidentally sending more than one tip, and this was causing unneccessary support tickets and money lost to refunds. We implemented to following remediations:
- Confirm modal on tipping submission if a tip was already sent
- Hide tip step in engagement funnel if tip has already been sent
CustomerIO Updates
- Synchronize services offered with CustomerIO
- Sync credit with CustomerIO when you book a service
Posted on October 30, 2019
Added Interior Painting
- Get practically anything prepped and painted with a staggering 172 options
- Supports painting any room
- Full configuration from a budget “skim job”, all the way to a comprehensive professional process.
- You can paint stairs and even built in furniture
- You can also remove a popcorn ceiling!
New garage services
- Added Epoxy floor coating along with Strip DIY coating
- Added Grind & polish garage floor
New exterior services
- Added Replace wooden gate
- Added Install driveway gate
- Added Replace pickets
- Added Re-align sagging gate
New electrical services
- Added Replace switches & outlets
- Added Install new power outlets (where there were none before)
New door services
New bathroom services
- Added Install grab bars service for mobility customers
Updates to existing services
- Customer specifies if the handyman needs to bring a ladder
- Added Heavy light fixtures to help customers not book the standard fixture option which is only suitable for “boob” ceiling lights
- Add Outside lights
- Separate garbage disposal repair and replacement, now suitable for customers to supply the new unit or where the provider purchases the unit. Shorted time to replace disposal.
- Change the service name for Hang pictures to “Hang frames”
- List out the most popular thermostats in thermostat installation services
- Clarify what hole patching services are suitable for the various sizes of holes
- Clarify that handymen’s helpers are not screened or background checked
Code changes
- Added a Cancel/Back button to back out of the editor modal without losing all your changes.
- Handyman service now goes directly to the marketplace on desktop, which is probably going to convert better!
- Fixed bug that sent CustomerIO the wrong value when credit was returned due to a cancellation.
- Added a ghostly halloween theme that will corporealize on Oct 31.
Posted on October 21, 2019
Handyman Services
- The handyman beta button now displays to all users. Previously, it was hidden for non-Charlotte users. (#3317)
- Applied a 20% discount for all users who book a handyman service (#3311)
- Added the ability to restrict some discount codes to certain services (#3299)
Miscellaneous Changes
- Updated the discount code banner message to indicate the discount amount (#3318)
Bug Fixes
- Fixed an issue that was caused by providers accepting appointments that were already confirmed (#3315 and #3313)
- Fixed an issue that caused “404 page not found” to briefly flash after provider applicants finish the first portion of the signup feature. (#3251)
- Fixed an inconsistency in provider booking URLs. The URLs are now of form
Hux.com/provider/book/service, for example Hux.com/james/book/handyman.
- Fixed an uncommon issue that caused non-marketplace logged in providers to see themselves on the marketplace
Posted on October 10, 2019
If you have an IP close to Charlotte, or are logged in as a Charlotte customer, you’ll see this button!

Changes
- Added job description pages for Indeed
- Added back the ability to add extras to appopointnents that didn’t already have extras on them
- Add service name to apt list in machina
- Add back some missing icons in machina to the roles page
- Removed recurring count from the marketplace when the service is not recurring
- Added OpenGraph tags on profile pages
- Updated OpenGraph for share URL
- Fix incorrectly using meters instead of radians when checking that the provider is within the max radius
- Fix declined card UI regression
- Refine padding for lightbulb tips
- Refine padding when adding a service
Handyman updates
- Added options for “moving furniture out of the way” to all services involving walls and floors
- Added option to washer and dryer installation to haul away old washer and dryers
- Added furniture assembly
- Added air filter replacement
- Added option to hang a wall shelf during a TV wall mount service
- Change default minimum duration from 2.5 to 1.5
- Fix fqn for photo frames
- Lengthen hang blinds durations
- Lengthen patch drywall holes durations
- Shorten heavy frames durations
- Fix install soap dish UI
- Reduce allocated time for any shopping by 30 mins
Posted on October 7, 2019
This release includes the handyman permutations!
Sign up process improvements
- Add super clicky button to join marketplace banner
- Reordered the join marketplace steps to have screening questions earlier
- Provider Availability UI overhauled to increase conversion of applicants
- Display percent complete in machina
- Fix jank when submitting background check
- Fix screening questions leading to a Not found page after doing a background check
- Fix bug in mobile Safari that opens the navigation bar every time you tap submit
- Fix bug in iOS 13 Safari that prevented the applicant from drawing thier signature
- Overhaul services list to be more clickable and user friendly
- Updated contractor agreement to mention handymen services
- Changed get started button to say “Apply Now”
- Join marketplace “completed” page updates
Bug fixes
- Fix error when supprt uses the Retry function in machina
- Fixed message that said “no customers yet” after signing up for recurring
- Added support for rebooking non-house-cleaning services
- Fix error temporarily delaying recurring from being extended
- Stop the site from clearing your email and password when entering the incorrect password
- Fixed recurring discounts working for once appoincements
- Transaction report works once again
- Fix error when adding a debit card for instant transfers
- Fix misaligned profile page checkmarks
- Fix recurring stat accidentally counting requests
Test suite
- Added test suite for the reminders system
- Unit test for onboarding
More new features
- Pricing tool on marketplace shows how much your permutation will add before you add it
- Sign up customers for recurring handyman services? Why? Because technically nothing is stopping you! 🔫
- Overhaul of the horizontal line between list items. This tiny aspect received tender love and care.
- Fresh look on identity verification modal
- Share via email content updated
- Provider’s price editor modal now has a default, a min, and a max.
Posted on October 1, 2019
Provider Signup Improvements
- Removed the ability to leave the signup process without confirming. Previously, applicants who left the process early had broken accounts. (#3140)
- This means that users who are currently in the sign up process are locked into only that feature unless they consciously leave

- Enhanced support for handyman punch list permutations (#3207)
- Fixed a confusing UX issue with the address input bar (#3203)
Miscellaneous Changes
- Unrecognized URLs of the form
Hux.com/*/* (e.g. Hux.com/account/blah) previously displayed a blank white page. They now display the standard 404 error screen. (#3217)
- Updated the text in the modal that appears after finishing the guidelines step (#3219)
- Removed the back button on join marketplace success page (#3229)
- Added the ability to display different OpenGraph information per webpage. Previously, we only had one set of global OpenGraph data.
- We’ve specialized the OpenGraph display for the provider signup pages, Hux.com/apply and Hux.com/apply/account

Bug Fixes
- Fixed an issue that prevented customers and providers from being charged and receiving last minute cancellation fees
- Fixed an issue that removed CICO from certain appointments
- Fixed a server-side error that occurred when changing permutations on an appointment (#3197)
Posted on September 17, 2019
New Signup Process
As we approach the launch of new services, we realized that the way we sign up providers isn’t as scalable as it should be for this large influx of applicants. With both new services and scalability in mind, we’ve redesigned this entire product tree.
- Applicants are greeted with a new landing page. Its function is to inform users about Hux as well as split users into the waitlist and the signup feature as appropriate.
- On the first step, applicants can now choose their own URL as well as their display name

- After filling out two more brief steps, providers are given their profile URL. This change give applicants Hux URLs much earlier in the signup process, allowing them to more easily get booked on Hux.

- Applicants are then shown a set of 6 tasks to complete before they can be considered for the marketplace.

- Most notably, applicants now complete a background check entirely on our website. Previously, they’d receive a link via email to complete it on Turn’s website.

- Once all six steps have been completed, applicants can submit their profile to be reviewed in Machine.
- Applicants who had partially completed the old signup process have been placed in a corresponding step in the new process
Miscellaneous Changes
- We now charge $17 per background check for provider applicants. This was raised from $10 to cover the increased cost of more comprehensive background checks.
- This value was also moved to a centralized variable, making future changes easier
- We changed the instant payout fee from a flat $0.75 to a variable 1.2% (minimum $0.50) (#3112)
- Providers who previously had a fee exemption continue to enjoy free instant payouts
- Upon logging in, providers are now taken to the account home screen (#3105)
- Existing providers can now edit their display name and profile URL. Previously, this could only be done via Machine.
- Support is now notified via email when existing providers add new services. This helps us keep an eye on providers expanding to new services after they’ve been approved.
(Project Kanban)
Posted on September 11, 2019
The release to rule them all. This release is intended to fix the issues surrounding the recurring system. This is the first release to feature RRULE, a RFC standard for recurrance that we didn’t know about. We are not reinventing the wheel any more! Hooray! Gcal also supports RRULE, so sync could be around the corner.
Nuked from orbit 🧨
Instead of tracking down all the recurring bugs that we had already wasted a month of dev time on, we cut our losses and switced to RRULE as the underlying recurrance framework.
- Moving an apt within the same week will no longer make duplicates.
- Moving an apt outside of a week will no longer stop it from extending.
- If a customer cancels recurring, the customer will appear in the provider’s list until the date that series actually ends.
- When rescheduling, the apts will no longer be translated relative to start time, now they shift to the desired and predicable schedule.
Top highlights
- No more dupes
- Changing the frequency actually works
- Behavior is the exact same as in Google Calendar, resulting in a predictable and fluent UX
- Edits now show in clear human readable text as comments
- Now we can query historical recurring data, so we brought that forth to the customer pages in machina.
- Literally 50x speed boost for faster appointment edits and for the majority of operations we have a sub-50ms response time thanks to bulk operations
- Added support for all time zones
All prior recurring bugs were issues of code complexity
The following refactorings were invested to make recurring more reliable and estensible.
- Moved the recurring data to the appointments themselves, removing an entire collection in the process. As a result, recurring metrics are now dead easy to query.
- Repetitive appointment editor code has been unified into a single code base. 10k lines of duplicated code have been removed.
- The number of bytes taken up by appointments in the database has been cut in half.
More new stuff
- After customer would request recurring, we are hiding the recurring upsell message on the receipt.
- Fixed issue in the appointments list where long text would push the icons off screen.
- Updated our mailing address.
- On the marketplace, the coverage override now ensures the provider is within 50 miles.
- For any providers that have a special “cut”, that cut is now visible in the Appointment Editor instead of showing a fixed 30% cut.
- Prevented card errors from blocking no-shows from getting cancelled.
- Fix a white screen when navigating to a provider page before the subscription was fully loaded.
- New responsive design for “How was your appointment” banner.
- Perfect center alignment on banners when the text is really long.
- Addressed issue of the server pulling 1 million user records daily. This also fixed the 5 second delay between providers updating timeslots and updating on the marketplace.
- Added unit tests for confirming requests and booking recurring!
Posted on September 10, 2019
This release pushes us all the way from 2.7.4 to 2.8, but you might be saying “hey it looks the same as the previous release”. What gives then?
Well, 2.8 is the Hux version of a sleeper race car!!! We’ve implemented everything we need to support new services on a technical level. However, we just didn’t have enought time to build a new streamlined sign up process!
What’s new under the hood?
- Added support for multi-levels deep permutations!
- New provider account service editor UI!
- New appointment summary generator now dynamically creates snippets like “Light Clean + Extras” instead of hard coding it.
- New receipts everywhere. Display is now very nearly consistent between the check out page, appointment editor, recurring receipt, and request receipt.
- Receipt fields are generated dynamically per service, because “Dimensions” and “Partial” don’t belong in Tutoring services or Tech Repair!
- Added support for providers to add an additional charge for individiual specific permutations. We were going to enable this for Pet-Friendly but decided to hold off on that. This is mostly for repair services where the cost of the replacement part is included.
- Support for “fixed” service locations, where the customer comes to the provider!
- Fixed some providers not having any address coordinates stored in the DB. This is important for services where the customer comes to the provider!
Appointment editor fixy fixy
- Fixed the editor UI not including credit & referral items in the money section #3088 and also fixed the history item showing the wrong price (the actual price was fine) #3082
- Fixed a case where an apt edit of the start time and duration would create an empty contentless history item. #3092
More new stuff
- New square check boxes
- Warning for unsaved changes in the service configuration page
- Fixed bug that made “classification”, a field used in reports wrong
- Fixed bug where appointments were being inserted into the past as upcoming appointments #3044
- Added bio to provider export #3054
- Limit huge discount once every 60 days and only to customers churning from recurring #3039
- Fixed plural words in recurring sign up confirmation #3055
- Fixed bug where rescheduling would actually book you another appointment #3038
- Fix some appointments appearing as unconfirmed requests even though they were confirmed #3037
- Fix customers whos recurring got corrupted and stopped extending #3035
- Send better error message when using 50% off code without an account #3036
Posted on July 31, 2019
Changes
- Added a new reliability metric to providers’ metrics that records how many perfect CICO appointments they complete per month
- Added the ability to restrict some discount codes to only recurring appointments (#3052)
- Fixed a bug that hid the “Cancel Recurring” button from some customers’ receipts (#3057)
Posted on July 11, 2019
Waitlist
In anticipation of new services, we’ve introduced a much more cleanly designed Provider Waitlist to replace the dilapidated 3rd party one.

A banner advertising this, (The giant “Sell services?”) is visible across the entire website! This is the most concise ad we’ve ever run!
Fraud detection system
We now detect and prevent a form of card error fraud. Once detected, admins can see a label for suspicious appointments in machina. Appointments with this label are restricted from being paid out for card errors and only users with the proper permission may override it.
Bug fixes
- The extremely tiny tiny tiny bug that was causing hundreds of duplicated appointments to be sprayed all over the calendars like a hurricane has been squashed.
- We now display the provider’s bio where it was missing on desktop before.
- Fixed a layout issue in the profile page where a long bio pushed down the rest of the content.
- In the provider’s dashboard, months without data now say N/A instead of 0 to be more clear.
- Fix clicking on a recurring provider in machina causing a crash.
All the small things
- We are now enforcing a small amount of style in provider’s bios. Two consecutive line breaks are reduced to one, and no more than 6 are allowed in total.
- Headers with profile photos are now center aligned.
- The hamburger menu had a slight slimming and some lesser items were relocated to the footer.
- Headers that come before content that is center aligned are also now center aligned.
- Changed the text on the rebook button on the receipts from “Rebook on Marketplace” to “Rebook Another Provider” to be less jargon-y.
- In machina, in the customer’s recurring providers list, we added the day of week that the appointment extends on.
Posted on June 26, 2019
New Account View
As we prepare to launch new services, we realized that providers’ accounts lack some key features to succeed. We’ve therefore refreshed the account interface with some exciting new changes:
- It all starts with a new dashboard. From here, providers can quickly find important information about their performance. They can also click into each metric for a bar graph that shows how the values change over time.

- We’ve also added a bio so providers can personalize their profile by telling customers a little more about themselves

New Features & Improvements
- Switched the site-wide font to Mason Medium
- Providers can now leave an optional message when denying a booking request (#2846)

- We’ve also added headers to all account interfaces, like appointments, settings, and more
Miscellaneous
- Rewrote the recurring system to support multiple services in preparation for our new services launch. This also fixes a bug that caused recurring customers to see the wrong price when rescheduling (#2854)
- Fixed a timing issue when usign fast internet that caused impersonate to load forever (#2969)
- We now send an email to Tombari if an appointment spans two days. Until we have a fix, those appointments are not being considered by the conflict checker, and are causing double bookings. (#2970)
- Mitigated the crashes that are plaguing our APM. (#2956)
Bug Fixes
- Fixed a bug that caused appointments to be booked without a time zone. (#2883)
- Fixed a bug that caused addresses to be missing the City. In case Google pukes, we just look up the closest city to the Lat,Lng. (#2962)
- Fix an issue that allowed customers to book out-of-state provider (#2880)
- Some legacy recurring appointments that were switched to auto recurring had mistakenly received double discounts. We’ve removed those erroneous discounts. (#2928)
- Fixed a crash that occurred when users attempted to view the marketplace where the URL specified a date in the past (#2863)
- Properly integrated appointment “classifications” (eg. new, ret, rec) into the Archetype sytem. This fixed a bug that caused all recurring appointments to be classified as ‘new’. Only the first appointment in the series should be classified as such. (#2864)
- Fixed an issue that prevented reminder SMSs from being scheduled for a recurring (as opposed to a single appointment) booking request. There was no user-facing experience, however, thanks to Pluto. (#2923)
- Fixed a bug that caused duplicate recurring appointments to be scheduled (#2876)
- Fixed a rare issue that caused no providers to appear when attempting to rebook very old appointments with permutations we no longer offer (#2856)
- Fixed a bug where copied appointments were immediately unconfirmed as soon as they were created. (#2973)
Posted on June 18, 2019
New Features
- Added support for CustomerIO Broadcasts, used to send Hux employees weekly information about low-rated providers (#2901)
- Added a new URL, hux.com/waitlist, used for tracking interest in new services
Miscellaneous
- Added protection against malformed addresses received via Google Maps
Bug Fixes
- Fixed a rare issue that caused customers who had visited the website many months ago to book malformed appointments without timezones. This in turn allowed the providers they booked to be double booked for appointments.
- Fixed a bug affecting changing the frequency of appointments from one-time to recurring
Posted on May 23, 2019
Bug Fixes
- Fixed a bug that caused customer reminder SMSs to display the wrong appointment time (#2907)
- Fixed a bug that re-sent provider SMSs when they checked in or out (#2908)
Posted on May 8, 2019
Reminder SMSs (#2516)
- Customers can now choose from a wider variety of reminder text times, including the night before at 5pm or 7pm and 2 or 3 days before
- The default settings are:
- 1st message: disabled
- 2nd message: night before at 7pm
- We’ve also added an optional second reminder text, created primarily for recurring customers
- We’ve moved the reminder SMSs from
marketing.hux.com to hux.com. The queue functionality came with numerous synchronization issues over the years. Moving this functionality to hux.com makes the system less complicated overall.
- This overhaul fixes bugs #2868 and #2881

New Features & Improvements
- Overhauled the impersonate feature. It now opens in a new tab and records the Hux employee’s name when making changes on behalf of another user (i.e. impersonating) (#2843)

- Added a unit test for marketplace timeslots (#2848)
- Added a new Turn data sharing cron job that executes monthly (#2877)
- Urgent requests (those that expire in <8 hours) now notify providers via SMS rather than email (#2874)
- Updated the communication sent to customers after providers edit a series of appointments (#2837)
- Gave the nag modal a facelift (#2836)
- Attempting to rebook a provider that no longer offers a certain extra now gives customers two options - rebook without that option or rebook with a different provider (#2845)
- Began laying the framework for new services - keep an eye out for that in a future release!
Miscellaneous
- When a user churns from recurring, they’re asked to select some labels explaining why they’re leaving. That information is now stored in our database, rather than solely being passed to Customer.IO. (#2869)
- Removed an unused appointments class function,
Apt#calendarLink, which gave users the ability to import their appointment into Gmail (#2713)
- Added new DNS records to support Zendesk’s switch to AWS SES (#2847)
- Long user names now shorten themselves with ellipses in the site header on mobile (#2871)
- Added additional Amplitude tracking data surrounding provider appointment edits (#2844)
Bug Fixes
- Fixed a bug preventing employees from banning users (#2884)
- In Machine, changing appointment permutations wouldn’t update the price appropriately. That’s been fixed. (#2878)
- In Machine, changing providers previously did not update the customer’s subtotal due to a bug. That bug’s been squashed. (#2859)
- Restored APM functionality (#2882)
- Removed decimals places from marketplace prices. Prices should round up on the marketplace, then show the proper amount on the receipt. (#2855)
- Fixed an unsightly “Internal Server Error” banner that appeared on profile pages but didn’t affect functionality (#2865)
- Fixed a bug that the marketplace to show too little availability surrounding long appointments (#2862)
- The communication sent to customers after a provider edits an appointment incorrectly listed the subtotal instead of the total (#2851)
- Fixed a bug where entering an incorrect email/password combination cleared the email field (#2850)
- Tapping the rebook button incorrectly placed a loading/spinner animation on two elements (#2849)
- Fixed a bug that allowed providers who had disabled recurring bookings to be booked for recurring bookings via their profile (#2819)
- Customers’ credit was not returned to their account after a request was cancelled (#2712)
- Fixed a very rare issue that prevented certain addresses from loading the marketplace (#2734)
Posted on May 7, 2019
Bug Fixes
- Fixed a bug that allowed customers to book providers via the rebook feature even after that provider moved to a new city (#2901)
Posted on May 7, 2019
Appointment Editor
- Providers can now edit appointments without having to contact Hux Support. This enables them to fix appointment dimensions, add or remove extras, and more while also reducing the number of support tickets we receive.
The process begins with a new button on the bottom of providers’ receipts

- Providers can edit most aspects of an appointment

- They’re also presented with a summary of the changes made before committing. If the updates conflict with another appointment, providers are notified and asked to acknowledge that.

- Note that this feature supersedes the old provider-facing Adjust Start Time feature.
New Features & Improvements
- Sped up the Marketplace by as much as 4x (#2533)
- Added timezone support to all relevant features in Machine (#2709 & #2707)
- Discount code URLs now follow the form
hux.com?discount=123deal to allow it to be used in tandem with other URLs. The previous URL scheme (hux.com/share/123deal) will continue to be supported. (#2532)
- Providers can now view a breakdown of their payout on their receipts

- Banning a provider now automatically hides them from the marketplace and disables their profile page (#2739)
- Added the ability to query archetypes by common statuses, like expired, pending, or denied (#2696)
- Removed the editable checklist from provider’s submit recurring feature (#2721)
- Discount codes are now tied to marketing channels to improve attribution (#2655)
- Replaced the landing page image from illustration to a screenshot (#2784)
- Marketing channels now store their organic/non-organic status to improve attribution (#2654)
- Added the ability to search by appointment request status to the advanced search in Machine (#2695)
- Improved the availability input UI by updating the tip text (#2706)
Miscellaneous
- Added back server logs. They were missing due to the switch from Galaxy to Digital Ocean (#2510)
- Added 2 new CSVs to the weekly marketing emails: all customer exports with Google and Facebook formats (#2700)
- Visiting the rebook feature while logged now prompts customers to log in (#2697)
- In the marketplace, clicking on an address dropdown item re-scrapes its dimensions (#2554)
- After checking out, the loading spinner now covers the entire checkout page (#2665)
- Added a link to purchase discounted bulk credit to the hamburger menu
- Utilize the CustomerIO event
provider_automatic_request_cancel for expired requests (#2676)
- Added a rebooking URL attribute to many appointment events in CustomerIO (#2699)
- Record UTM params for each transaction (#2648)
- Sped up the marketplace boot up time by only installing new Mongo indexes and not recreating existing ones (#2673)
- Added the booking’s request status to the Amplitude events BOOKED & BOOKING (#2711)
SEO
- Added a missing meta description on the city pages (#2675)
- Added a sampled review from the city page to keyword page (#2675)
- Removed structured data snippet for SEO neighborhood pages with no reviews (#2703)
- Fixed an issue that prevented the Google scraper from loading the CSS file on some neighborhood pages (#2694)
Bug Fixes
- Fixed a bug where customers who visited a rebook URL without being logged in were previously presented with a spinner that never stopped (#2698)
- Fixed an edge case bug that might have charged provider applicants multiple times for a background check if there were any issue with the Turn API (#2572)
- Fixed an issue that prevented Machine users from unbanning users
Posted on April 4, 2019
Request & Rebook an Appointment (#2494)
Since its inception, Hux has only allowed customers to book providers for times that providers have pre-approved. Want a time outside of that window? Too bad. The Request & Rebook features fix that problem by allowing customers to request an appointment time outside of pre-inputted availability.
- It starts by visiting the new rebooking feature, where customers are presented with a list of every provider they’ve booked

- Customers can also initiate this from provider profile pages. After selecting their provider, they continue to input their service information (e.g. address, dimensions, extras, etc.).

- They’re then presented with that provider’s schedule - including timeslots that aren’t part of their pre-inputted availability. Timeslots shown don’t, however, conflict with existing Hux appointments.

- After receiving the booking request, providers have 24 hours to confirm or reject the booking. Customers can view the status of their request via the appointment list in their account.

- Customers can cancel the request if they’ve changed their mind. Additionally, providers have the ability to choose an alternate time that they’ve agreed on with the customer.

This exciting feature, which we’ve wanted to build since Hux’s launch, allows providers and customers to more easily find times to work together. We’re confident that both groups will love using it.
Recurring Churn (#2493)
When recurring customers leave Hux, there’s currently a human-driven process to attempt to save them. This feature aims to automate that process by including it into the product itself.
- Customers are asked to tell us why they’re cancelling the appointment series

- They’re then presented with credit or a discount code, dependent on whether or not we think we can keep them on Hux

- Providers are then informed of the cancellation, giving them helpful feedback
New Features & Improvements
- Customers can now book appointments 6 weeks out on the marketplace. They previously could only book 4 weeks out.
- After entering a payment card at checkout, users no longer have to click the Confirm button again (#2459)
- Added the ability to set different Hux fees per provider. We can now designate, for example, that certain providers take 80% of an appointment’s revenue. (#2520)
- Improved the efficiency of the hourly process that sends notifications (#2530)
- Added the ability to un-cancel a recurring series (#2496)
- Recurring appointments extended from a series now have the proper created date. They previously copied the created date of the original appointment. (#2518)
- Added better communication to support deaf providers (#2508)
- Added new landing pages for provider job postings (#2506)
- Added a new permissions system to Machine that denies or allows access to downloading CSVs, amongst other things (#2477)
- Updated the Open Graph image from an illustration to a screenshot of the marketplace
SEO
- Added structured data to profile pages, making them stand out more in search engine result pages

- Added two new region pages for the cities of Atlanta and Charlotte (#2507)
- Added all keyword page URLs to footer of landing page (#2529)
- Removed a URL from the sitemap that returned a 404 (#2528)
- Added four new keyword pages (#2472)
- Improved the meta descriptions for all neighborhood and keyword pages (#2451)
- Profile Pages (#2491)
- Add Meta descriptions
- Add alt text to profile images
- Removed reference to outdated CSS file
- We now prevent Google from scarping neighborhood pages with too little activity (#2447)
- Added a “related blog posts” section to blog entries (#2456)
- Added a View Profile button to the sidebar for providers logged in on desktop
- Fixed an issue that cased outdated CSS files to be included in our cached HTML documents we served to search engine crawlers
Bug Fixes
- On a number of older appointments, the rebook button would not open the rebook feature; that bug’s been fixed (#2514)
- Fixed an issue where providers’ ETAs weren’t displayed after using the On My Way feature (#2525)
- Fixed an issue with the Appointments database index for discounts (#2531)
- Fixed an uncommon issue that caused SMS reminders to not send to certain recurring customers (#2519)
- Fixed an uncommon issue that occurred when providers submitted the coverage map without making any changes (#2509)
- Fixed the bug preventing discounts from being tracked in Machine (#2490)
- Patched a bug that caused the review funnel to jump to incorrect pages (#2512)
- Removed recurring discounts on appointments that were mistakenly duplicated following a previous release (#2513)
- Fixed an issue that caused providers’ availability to get out of sync with (#2495)
- Editing an appointment that’s part of a cancelled recurring series would incorrectly place it in the provider’s bookings array (#2502)
Posted on February 28, 2019
Auto Recurring Transition
- Transition legacy recurring appointments to auto-recurring. (#2450)
New Discount System
- Appointments now allow you to add multiple discounts. (#2377)

New Provider Onboarding and Turn Background Checks
- Update language on the provider onboarding to include that they will pay for a background check.(#2468)
- Added background check step which asks for card information and initiates the charge and background check process (#2452)

New Provider Coverage Utility
- Updated the way that providers show their coverage to save on Google Maps costs. (#2453)
- Providers now use a map to draw the area that they serve.

SEO
- Link to neighborhood pages from provider directory (#2455)
- We’ve added AirBnb cleaning landing page to help with impresions on AirBnB cleaning searches ([#2476]

Miscellaneous
- Updated Terms of Service to include language to help disputes. (#2388)
- Added Check In / Out time to appointments export. (#2474)
- Added button in Machine to initiate Provider Transition Drip Campaign. (#2457)
Bug Fixes
- Re-organized frequency interest in account creation. (#2461)
- Added visibility to Extras on the receipt. (#2460)
Posted on January 30, 2019
This release was only to resolved a bug that produced thousands of Neighborhood Pages for the South Carolina SEO region. We didn’t intend to release those pages.
Bonuses in this release
- Fixed ugly UI in provider search when there were 0 results
- Some minor text tweaks to the Neighborhood SEO pages
Posted on January 10, 2019
SEO
- We’ve added neighborhood pages that allow us to showcase providers and their reviews in specific neighborhoods. This will help us rank more highly in search engines as they reward localized content. (#2382)
We’ve compiled a list of all the neighborhoods in both Atlanta and Charlotte
Selecting a specific neighborhood allows you to view the top providers that serve that area
- Keyword pages, launched with 2.6.8, received the following updates: (#2366)
- Removed dates from the reviews
- Removed the text “near me”
- Improved header tag content
- Added semantic HTML to landing pages which allows Google to more easily scrape our site (#2381)
- Added a provider directory that helps both users and search engines (#2313)
Auto Recurring Discounts (#2377)
- Users booking auto recurring appointments once again get discounts based on their frequency
- The discounts are as follows:
- 10% off for weekly services
- 5% off for biweekly services
Miscellaneous
- Added a new option to the recurring interest dropdown when customers create an account for vacation rental owners. This enables us to better track how many transactions we drive from sites like Airbnb. (#2388)
- Improved the post-appointment review flow by adding a back button, the ability to tip, and a star confirmation (#2308)
- When booking recurring services, the site now jumps to first available date regardless of how far that is. Previously, there was a limit to how far the marketplace would jump. (#2376)
- Added a more prominent notice to provider receipts about recurring (#2374)

- The “Book Again” button now shows on upcoming appointments as well (#2346)
- Updated to Meteor 1.8.0.2
Bug Fixes
- Fixed a rare issue that presented users with a confusing message when they tried to enter a credit card (#2323)
- Fixed a bug that caused customers’
last_service_date stat to be incorrect. This stat is used in CustomerIO amongst other places. (#2320)
- Fixed an alignment issue with the checklist edit buttons on the recurring signup form (#2361)
- Fixed an issue where appointment receipts would always display a grey image where the provider image should be (#2375)
- Fixed an uncommon issue that prevented users from creating recurring appointments (#2384)
- Fixed a bug that hid the recurring icon from user-facing appointment lists when that appointment was selected (#2352)
Posted on January 9, 2019
SEO Improvements
- Keyword Pages allow us to dynamically generate webpages given a set of keywords. This allows us to rank more highly in search engines for a broad set of search terms.
- The pages generate a list of providers and reviews that match the relevant keywords

- Added server-side rendering, allowing the site to be more efficiently be scraped by search engines like Google (#2301)
Miscellaneous
- Sped up the UI for entering apartment numbers on the marketplace (#2264)
- Improved a confusing UI in Machine that caused all discounts to enforce the new customer status by default (#2314)
- Updated the gift card URL from Google Forms (#2317)
- Added
meteor npm install to the deployment script to avoid package sync issues
- Updated the text in the modal displayed to providers after checking out encouraging them to sign their customer up for recurring (#2304)
- Added a weekly email with a list of the repurchase audience that sends to our digital marketing contractors
- Custom Cleans now have titles of the form “Hourly Service ([x]hr)” (#2170)
- Removed a deprecated report on disintermediation (#2269)
- Improved the UI feedback when entering providers enter incorrect bank information (#2282)
- Merged the code that generates the recurring receipt view and appointment receipt, preventing potential future issues (#2066)
- Added a green banner that informs users they have successfully left a tip; previously, it was unclear wether or not it went through (#2279)
- Updated to Meteor 1.8.0.1 (#2293)
- Made slight modifications to the cleaning checklist (#2194)
- You can now change the frequency of auto-recurring appointments via machine
Bug Fixes
- Fixed an issue that prevented some users from entering addresses out of our service area on the marketplace (#2296)
- Fixed a design bug that caused the customer-facing recurring form to not be full width on mobile (#2311)
- Fixed a bug that caused the number of recurring customers a provider had to become out of sync (#2307)
- Fixed an issue that caused CustomerIO credit to become out of sync with Hux credit after a user books (#2316)
- Fixed an issue that caused a provider’s CICO stats to display nothing (#2306)
- Fixed a rare issue that prevented customers from using discount codes after previously cancelling an appointment with the same discount code (#2255)
- Fixed a bug that prevented users from selecting certain addresses in the provider application (#2299)
- Fixed a handful of design issues (#2275 & #2298)
- Fixed an issue that prevented providers from submitting the identity verification modal (#2294)
- Fixed issue with not being able to reschedule auto-recurring appointments on a specific edge case (#2326)
Posted on December 18, 2018
Miscellaneous
- Added customer note and address to the provider-facing recurring signup feature (#2135)
- Customers can now leave a review between the time that their provider checks out and the scheduled (#2087)
- Information entered into the create account modal will now be saved even if the modal is closed (#2028)
- Added new CustomerIO event OPEN_WEBSITE for when users open the website (#2141)
- Updated the CustomerIO cancellation event data to reference a provider’s display name rather than their full name (#2286)
- Extended the provider recurring sign-up calendar to show 6 weeks (#2284)
- Improved a confusing UX where users could see cancelled appointments after de-selecting the View Cancellations check box (#2171)
- Added a meta description for the cleaning checklist page (#2274)
- Patched a security hole in our HTTP file stream server method (#2257)
- Improved a confusing text message customers received if providers adjusted the start time of an appointment to the same time (#2131)
- Removed a duplicate reference to “Sink cleaned” in the cleaning checklist
Bug Fixes
- Fixed a rare issue that caused appointments booked by returning users to not have a timezone set (#2288)
- When rebooking, users are once again taken to the first available day. This functionality had mistakenly been removed in a previous release. (#2263)
- Fixed an issue that caused the provider earnings report to increase in size, cutting off some of the data (#2278)
- Fixed an issue with rescheduling recurring appointments not factoring in the schedule of the appointment (#2271)
- Fixed a bug that prevented the applicant export from successfully downloading. This was solved by removing the sorting.
Auto-Recurring Bug Fixes
- Resolved issue where editing an appointment said there was a conflict with a future appointment. This was due to a check that did NOT look at the schedule for the appointments and wrong conditionals.
- Copying an appointment did not update the customer and provider stats, causing an issue with delinquency.
- Cancelling an auto-recurring appointment for a customer that double booked by accident now checks to see if the customer has another auto-recurring appointment and sets the provider for that appointment as the customers recurring provider.
- Copying appointments did not set the hold price flag which would cause appointments to be calculated with the price increase. DEPRECATED with the last release.
Posted on November 28, 2018
Key Changes
- Changed the default selected frequency to one-time
- Reverted back to old pricing model! Services are once again the same price no matter the frequency.
- Engagement funnel received a redesign with less steps, but we kept all the same messaging.
Behind the scenes
This was the reason for this release– Infrastructure week!
- A project started a year ago, Blaze has finally been removed and therefore this release is the fastest yet, with a savings of 187 KB or 18% faster load time
- We’ve refactored our Google Maps autocomplete box to respond about 200 MS faster, and potentially reduce costs by 96%. We’ll know soon, because Google doesn’t say exactly how they price the Maps requests.
Design
- Added back the missing header for the “More Options” on the Desktop marketplace
- Made the Dimensions Puller pill the same width as the stuff around it
Misc
- Changed the URL’s for the checklists to
/cleaning-checklist and /cleaning-checklist-extras. The old URL’s will redirect though!
- CustomerIO email for booking confirmation will include the correct frequency.
- Restored the ability to use the keyboard to key Up and Down through autocomplete suggestions and Enter to select an address.
- When updating a customer’s name, it now properly syncs and show up in the provider’s recurring list.
- Copying an appointment will now update the customer’s stats.
Posted on November 19, 2018
- Fixed a critical issue that would zero out the charges and payouts if support or the customer altered the appointment details
- Restored the feature to reset the charges and payouts
Posted on November 12, 2018
Miscellaneous
- Added a new info icon next to the recurring input field for users to learn a bit more about recurring (#2214)
- Updated the OpenGraph image to match the new landing page image and our new brand. An OpenGraph image is the small preview that appears when sharing Hux.com via Facebook, Apple Messages, etc.
- Sped up address scraper significantly (#2221)
- Added additional information to CustomerIO on the
new_auto_recurring event (#2216)
- Added HSTS header (#2226)
Bug Fixes
- Fixed an issue that caused the provider availability displayed when copying appointments in Machine to be wrong (#2235)
- Fixed an issue that prevented Machine users from editing appointment prices (#2227)
- Fixed an issue that prevented appointment permutation changes from saving (#2230)
- Fixed an issue preventing auto-recurring appointments from being rescheduled into the future (#2229)
- Fixed an annoying side effect on mobile that caused the view to jump when users interacted with input fields (#2222)
Posted on November 8, 2018
Behind the scenes
The largest changes in this release happen to be invisible to the naked eye:
- We fixed issue that caused the server to slow to a crawl when a customer booked a recurring appointment.
- We have finally gotten ahold of a reliable system to run scheduled jobs. This was a problem because in the past we have has issues with some background jobs stopping or not starting after a release, causing havoc like reminders not going out, unfinished appointments not being marked in the CICO system, appointments not being moved from upcoming to past, and daily emails.
Recurring (#1976)
This release brings a handful of new features for providers that make managing recurring appointments much easier.
- Providers can now see a list of their existing recurring customers in their accounts as well as detailed information about each service

- Providers can also create new recurring services with customers that have previously booked them

- Before confirming the new recurring service, providers can edit any details about the appointment

- One-off services now cost a premium. Recurring prices on the marketplace therefore indicate the discount customers receive. (#2000)
- Changed the image on the landing page to our new illustration-based branding
New Features
- Customers are now shown how busy providers are when booking a one-off service. Note the different text compared to booking recurring a service (#1978)

- Providers can now order business cards from directly within their account (#2057)

- Customers can now rebook providers they’ve booked before even if the provider has moved out of their service area or they no longer offer an extra (#1937)
Card Errors
- Machine users can now add the number of active card errors to the columns displayed in the customer list
- Detailed card error information can now be found in customers’ machine pages. This includes amount owed and number of appointments with card errors both active and all time.
- This information will also be available in CustomerIO
Miscellaneous
- Added a new icon to the provider-facing appointments list indicating recurring appointments (#2003)

- Moved pet friendly to a more noticeable area in the mobile UI as a few customers forgot to select that permutation when booking (#2001)
- Providers are now notified on their receipt when servicing a customer who came from Yelp (#2099)

- Auto recurring appointments are now booked 180 days in advance, up from the previous 90 (#2083)
- Disabled AdRoll tracking (#2084)
- Added a new data export to machine for customers with card errors (#2075)
- Improved SEO performance (#2088)
- Added the selected recurring frequency to the event data passed to Amplitude (#2052)
- Provider referral codes are now worth $10, down from the customer amount of $20
- The Machine-facing appointments list now displays minute precision (e.g. 11:28am) with creation and service times. Previously, it used hour precision (e.g. 11am).
Bug Fixes
- Fixed a string of virulent issues that caused customers to mistakenly book multiple services
- Fixed a few issues that slowed down the entire site when users cancelled recurring services
- Fixed an issue where rescheduling an Auto-Recurring appointment created duplicate appointments (#2098)
- Fixed an obscure issue where customers cancelling auto-recurring appointments who were also on the legacy recurring system would be taken off the legacy recurring system (#2097)
- Fixed a reliability issue with our chronic / scheduled functions by changing to an external API implementation. Chronic functions include the job that checks for improper CICOs and recurring extensions. (#2090)
- Fixed an issue where cancelling an appointment from the customer calendar in Machine would display an error message (#2065)
- Fixed an issue causing customers to accidentally tip multiple times (#2102)
- Fixed an intermittent issue preventing some recurring customers from editing appointment notes (#2086)
- Fixed an issue not visible to users that gummed up the server logs (#2085)
- Fixed a design issue on the page that briefly shows after booking a service (#2077)
- Fixed an issue where entering a comma into the appointment price override in Machine caused the price to be $0 (#2074)
- Rescheduling a recurring appointment and applying to all will now correctly move the appointments to the correct day and apply the correct day difference to all future appointments
Posted on November 6, 2018
Miscellaneous
- Added a new confirmation email sent to customers when they sign up for recurring services on the marketplace (#2055)
- Made a number of SEO tweaks (#2060)
- Obfuscated ACH and routing information entered by providers from FullStory (#2056)
- Reverted the user-facing appointment list from infinite scroller to “click to load more” (#1936)
Bug Fixes
- Fixed an issue that prevented machine users from rescheduling certain appointments
- Fixed an intermittent issue that prevented improper CICO notices from being sent to Support (#2080)
- Fixed an issue that prevented existing users from booking after using new user discount URLs. Now, they’re able to book, but the discount is removed. (#2068)
- Fixed an issue where providers who had selected 2-hour lead times were unable to change their lead times (#2061)
Posted on October 17, 2018
Auto Recurring
Recurring services have always been a backbone of Hux, but until now have been difficult for customers to book. Today, we’re launching a huge new feature that makes it incredibly easy to book recurring services entirely on the website.
- It begins with the landing page: customers now indicate how frequently they’d like their service to occur

- Customers only see providers that are available for the frequency they selected
- The frequency of the service is indicated on the checkout page

- Like magic, the appointments are automatically confirmed and appear in both the provider’s and customer’s accounts

New Features
- Launched the recurring signup form to all providers with a 30% transaction fee. The feature was previously limited to select providers. (#1977)
- Added a new Machine export for viewing all customers that have booked a particular provider. It can be found by navigating to the Provider tab in a provider’s Machine page. (#1896)
Miscellaneous
- Machine users can now place appointments outside of a provider’s availability – previously, they were unable to do so (#1883)
- Restored support for entering ACH and routing details for providers with banks not supported by Plaid (#1812)
- Restored an Amplitude event that tracked when users start the booking process [CLICKED_GET_STARTED] (#1971)
- Removed move-in / move-out cleanings from our exclusions list – that is, we now offer that type of cleaning (#1959)
- Added subtext explaining why we collect applicants’ social security numbers in the provider on-boarding funnel (#1960)
- Users are now required to input a brief message when using the Recurring Help feature (#1791)
- Identified and indexed the remaining slow DB queries (#1745)
- Added new Amplitude events to better track the rebooking funnel (#1946)
- Added trust icons back to profile pages with no reviews. They had mistakenly been removed in a previous release. (#1912)
- Updated to Meteor 1.8 from 1.8rc16
- Added title tags to a number of webpages, including blog posts, blog landing page, applicant landing page, and more
- Added Robots.txt file to Marketplace and Machina
- Improved sitemap to include blog and proper Hux URL (i.e. https://www.hux.com)
- Many more changes detailed in the above GitHub issue
- Improve First Contentful Paint (FCP)
Bug Fixes
- Fixed an issue that prevented appointment receipts from opening when users clicked the engagement banner notification (#2012)
- Fixed an issue that removed active discounts from customers’ shopping carts if they left the site (#1974)
- Fixed an issue where mobile users were unable to edit scraped dimensions in the Get Started page (#1958)
- Fixed a bug that prevented providers from adding two Instant Payout cards without refreshing the page (#1846)
- Fixed an issue preventing certain Machine-facing provider exports from downloading altogether (#1667)
- Fixed an issue that intermittently caused the date submitted by the provider-facing recurring form to be off by one day (#1953)
Posted on October 11, 2018
New Features
- Hux employees can now generate provider earnings reports via Machine rather than going through impersonate (#1809)
- Provider CICO reliability scores are now visible via their pages in Machine (#1674)
- Added new trust icons for new providers in the marketplace (#1758)

Miscellaneous
- In the customer- and provider-facing apointment lists, changed infinite scrolling’s behavior to only load months up to a user’s last appointment. This way, they won’t be confused by infinite scrolling loading multiple months without appointments. (#1855)
- Removed a few unnecessary lines from the provier onboarding legal page to make it easier to digest (#1853)
- Strip special characters from Stripe charge statement descriptors. Some providers had apostraphes, for example, in their names which caused issues. (#1886)
- Disabled provider disintermediation messages (#1890)
- Made some small text changes to the landing page (#1881)
- Improved the backend functionality that allows providers to change their service zipcode, making it less vulnerable to break (#1619)
- Update the Yelp URLs to autofill 5 stars (#1873)
- Restored the ability to edit drilldown/child permutations within Machine (e.g. 1500 sqft baseboards –> 2000 sqft baseboards) (#1805)
- Added a spinner to timeslots after users interact with them to provide visual feedback (#1808)
- Restored functionality for showing provider availability when extending recurring appointments via Machine (#1799)
- Hid the mobile marketplace sorting option “Neural Sort” which had mistakenly been added (#1840)
- Customers now enter the CustomerIO card error campaign only once per appointment (#1822)
- After the appointment is charged, hid the Machine-facing Custom Appointment button to avoid mistakes (#1635)
- Improved the automatic text message sent to customers when providers check into appointments. It used to say “First L. is getting started on your Standard Cleaning”, which caused confusion.
Bug Fixes
- Fixed an issue that caused previously viewed providers to briefly appear at checkout (#1867)
- Fixed an issue where users in different time zones saw an incorrect appointment time on the checkout page. The time listed elsewhere (e.g. on the marketplace) was correct. (#1894)
- Fixed an issue on Firefox where certain behaviors would prevent users from changing the date in the marketplace (#1893)
- Fixed an issue where users on Samsung Internet Browser couldn’t view appointment detail pages (#1889)
- Fixed an issue preventing Machine advanced appointment search input fields from appearing (#1878)
- Corrected the Machine-facing calculation for available appointments (#1811)
- Fixed an issue where customers were prevented from rebooking old appointment (#1874)
- Restored the Hux OpenGraph image, the image that apepars when sharing https://hux.com via Facebook, iMessage, etc. (#1821)
- Fixed an issue where providers were not appearing left aligned on the marketplace (#1865)
- Fixed an issue preventing customers who partially completed the engagement funnel from viewing their receipt (#1876)
- Corrected two help center URLs which would result in a blank white screen (#1877)
- Fixed an issue that caused providers to appear on the marketplace with no timeslots. Those providers should instead be hidden. (#1780)
- Fixed the server error that would occur when attempting to reset the money of an appointment via Machine (#1872)
- Fixed an issue preventing users from booking via provider profile pages (#1837)
- Restored the functionality for handling users outside of our service areas (#1868)
- Fixed a few issues affecting scraped dimensions in the marketplace (#1826, #1776 & #1806)
- Restored Google Analytics ecommerce integration. The transition to Google Tag Manager broke that integration, but it’s now been fixed.
Posted on September 25, 2018
New Booking Process
Hux’s booking process serves as the first interaction customers have with Hux. It’s therefore a crucial piece in convincing customers to book. Today, we’re launching an entirely new process that responds to two big pieces of feedback.
- The first piece of feedback we often hear is that the process is too long. We’ve scrapped the previous 5-step process and replaced it with a much simpler interface that allows customers to see the marketplace more quickly.
Extras have been moved to the side and users select their cleaning level, recurring frequency, and input their address all in one step
- Second, customers frequently requested the ability to organize providers by date on desktop. Taking cues from the existing mobile design, we completely overhauled the desktop experience to accomodate this.

New Features
- Recurring customers and providers can now quickly request help from support via a new button located on their receipts

- Updated our integration with Plaid, the third-party service that allows providers to add their bank accounts for payouts. This update helps build trust by explaining precisely what information we do and do not collect. (#1569)

- Added a new data export for provider disintermediation text messages. It can be found with the other data reports in the Reports tab of Machine.
Miscellaneous
- Added a link from Machine to Amplitude that will help Hux employees quickly find the Amplitude page of a specific user (#1662)
- Added a time and date column to the Google Sheet recording provider recurring signup form submissions (#1645)
- Fixed some spacing on the provider-facing identity verification modal (#1648)
- Disallowed providers from using apostraphes in their names, preventing an issue with credit card statement descriptors (#1656)
- When customers select monthly cleanings in the recurring form, a new question appears asking customers which free extra they would like (#1665)
- Added a default message for Instant Pay transfer failures
Bug Fixes
- Fixed an issue where solo provider applicants were erroneously marked as teams (#1670)
- Fixed an issue where providers could see the Adjust Start Time button when they shouldn’t (#1652)
- Fixed an issue where checkouts between 50% and 75% of the appointment’s duration were erroneously marked as improper in Machine. This issue did not impact provider experiences, however, and was just limited to Machine.
Posted on August 30, 2018
Marketing
- Added conversion tracking to AdRoll and Facebook’s pixel (#1668 and #1666)
Bug Fixes
- Fixed an issue where Hux employees in Machine were unable to edit some recurring appointment notes (#1672)
- Fixed the issue where provider applicants, while still in the onboarding funnel, were unable to view the independent contractor agreement (#1655)
Miscellaneous
- Changed Machine-facing changelog dates to always show the precise minute as well. Previous, the view would round to the nearest hour (e.g. 2pm, 10am)
- Added client and server tracking for an elusive bug causing timezone mismatches with appointment bookings (#1653)
Posted on August 23, 2018
Provider Onboarding
We’ve made a number of small tweaks to provider onboarding to make the process easier to udnerstand and to help providers get signed up quicker (#1649 & #1647):
- Providers are no longer prevented from completing the entire process while waiting on a provider manager to approve them. Providers now go directly from the application/quiz to the rest of the process.
- Tidied away the Hux terms of service behind a link so providers don’t have to scroll through the entire document
- Added new drip emails to encourage providers to complete the entire process
- Listed popular banks to help providers quickly find their financial institution

- A number of small design and text improvements
New Features
- Added a new URL (Hux.com/background) to direct providers to complete background checks (#1651)
- Added a new button to Machine that emails customers information about their recurring services (#1646)

Bug Fixes
- Fixed an issue where the yellow unpaid dot appeared on provider receipts erroneously even if they’ve been paid if there was an active card error (#1641)
- Fixed an issue in the engagement funnel that prevented user-uploaded images from appearing immediately
- Fixed an issue where customer-generated emails to support requesting help would not accurately display “Urgent” vs “Non-urgent” (#1632)
Posted on August 15, 2018
New Features
- Providers can now find out the exact time and date their payouts are scheduled to arrive. This information will be located in the history section of their receipts. (#1454)

Changes
- Review texts now always go out at 7pm unless the provider checks out later than that. Previously, they went out at the scheduled end time of the apointment, which could be confusing for appointments that take longer than expected. (#1626)
- Moved the provider onboarding disintermediation modal from the end to the beginning (#1637)
- Integrated Pingdom to help us track and be notified of site outages (#1620)
- Enabled the marketplace provider sort neural network on the staging environment to help us more accurately mimic the production environment (#1621)
- Sped up the marketplace by removing an unnecessary subscription to the neural net’s training data (#1634)
- Dropped support for Safari 9, a three year old browser. This browser does not support timezones, an essential feature for the marketplace. Users attempting to access the site will be unalbe to and encouraged to update their browser. (#1623)
- Reverted some SEO changes made a few weeks ago as it was hindering SEO performance (#1638)
- Re-enabled the Facebook tracking pixel
Bug Fixes
- Fixed an issue with the Stripe verification modal where providers’ names wouldn’t be accepted (#1627)
- Fixed an issue where the left part of the On My Way row in Machine would erroneously fill red. The right column was unaffected. (#1589)
- Fixed an issue where provider display names appeared as “undefined” in the provider export
Posted on August 9, 2018
CICO
- Reduced the required time for a perfect CO from 75% to 50% (#1616)
- We’ve added a button to Machine that allows Hux employees to override improper CICOs. This enables them to pay out a provider instantly and ensure that the iCICO won’t count against their score. (#1591)
Recurring Churn
- We’ve launched a new feature that aims to reduce recurring churn. When their recurring providers leave the platform, select customers will receive an email with provider recomendations.

New Features
- Improved the Hux employee-facing recurring sign up list by including Machine URLs rather than names (#1599)
- Added a column for apartment numbers into the Bain report (#1611)
Miscellaneous
- The provider-facing recurring sign up button now shows for appointments with customers in recurring transition. Previously, it only showed for customers not on recurring at all.
- Added the ability in Machine to convert appointments to and from custom
- Put the Independent Contractor Agreement behind a provider login wall (#1601)
- Removed unnecessary Stripe console logs (#1618)
- Enforced a maxmimum length on the customer note in the recurring sign up (#1607)
- Added some padding to the growth graph on the provider application page (#1600)
- Refactored Google Maps API code to reduce requests to their API
Bug Fixes
- Fixed an issue where referral transactional emails rounded credit amounts up to the nearest dollar (e.g. $15 instead of $14.63) (#1610)
- Fixed an issue where the exclusions listed on the main and extras checklists were different (#1602)
Posted on August 2, 2018
Recurring
Recurring, which represents a few of our quarterly WIGs, gets two exciting new features aimed at increasing sign up conversion and decreasing churn.
- The recurring sign up form, which previously was a Google Form, is now built into the product. This makes it incredibly easy for customers to request recurring services. (#1577)

- We’ve also launched an experimental new feature to a select group of providers that allows them to sign customers up for recurring themselves. After verbally negotiating the service with the customer, providers can edit every aspect of the recurring appointment. We’ll launch this to all providers in a future release. (#1573)

New Features
- Providers are now presented with a modal warning against disintermediation during the sign up process (#1581)
- Often times, Stripe flags provider accounts and pauses payouts while they verify the provider’s identity. Previously, support would have to upload the required information via Machine. Now, providers can fix the issue themselves in their account. (#1487)

- Made extras easier to understand on the checkout page. Previously, the parent permutation name (e.g. Ironing & Hanging) was not shown, only the child name was (e.g. 10 items). (#1459)
Miscellaneous
- Added client-side tracking for CICO GPS error codes. This will make it easier for us to track down potential issues with CICO not being able to find providers’ locations. (#1579)
- Removed the Mixpanel API key from the production keyset (#1587)
- Deleted old SQL data from the appointment and user collections (#1334)
- Added a dedicated URL for the Independent Contractor Agreement. You can find this at Hux.com/independent-contractor-agreement. (#1576)
Bug Fixes
- Fixed an uncommon issue where copying an appointment wouldn’t maintain the proper payout (#1584)
- Fixed an issue where Hux employees could accidentally use the same provider URL for multiple providers (e.g. Hux.com/Adam) (#1588)
- Fixed a rare issue where rescheduling an appointmnet would cause reminder texts to include incorrect date information (#1375 & #1585)
- Fixed an issue where private information in appointment notes was obscured from customers after the appointment occured. This feature was intended only for providers. (#1574)
Posted on July 26, 2018
New Hux Sort (#1378)
Previous versions of “Hux Sort” were heuristics-based and were generalized across all job sizes. Often, we delivered incorrect rankings and the rankings have even been gamed by some providers. In this release Hux Sort is now a neural network that ranks the providers by how good they look for the job. With the new sorting, emphasis is placed on the right provider attributes and a balance of availability, price, ratings, and other stats like the dimensions of the home are carefully considered.
New Features
- Customers can now send themselves a receipt for each appointment via email. This feature can be found on the existing web-based receipt. (#1557)
- Added the ability to convert provider applicant accounts back to customers. Infrequently, customers would take the quiz and become locked in the onboarding funnel. (#1564)
- Late OMW’s now highlight red in Machine, making it easier for Support to tell what caused the imperfect CICO (#1563)
- New Disintermediation Filter in the Provider List in Machina. You can now filter by users who have received a disintermediation message. Additionally the export now includes a column that shows the status of the provider.
Improvements
- Toggling off “View Cancellations” in the customer-facing appointment list now switches to an uncancelled appointment if the user was viewing a cancelled appointment (#1147)
- Searching in the marketplace now returns users to the first page of results. Previously, if a user searched while on higher pages, they would not see results (#1560)
Bug Fixes
- Fixed an issue where providers booking other providers would cause the daily transaction report to not send (#1568)
- Fixed a rare issue where providers attempting to check out with weak cell signal could accidentaly check out multiple times (#1567)
- Fixed an issue where non logged-in user event data wasn’t being tracked by Amplitude when they visited the checkout page (#1561)
- Fixed an issue that obfuscated the most recent month in the rebooking report (#1562)
- Fixed an issue that caused the “Recent Provider” field in the customer export to display old versions of the provider’s name (#1148)
- Fixed an issue that caused an appointment’s travel time to display as NaN (#1565)
Posted on July 19, 2018
New Features
- Added a breakdown of providers’ scores in their Machine page
- Added disintermediation tracking (#1549)
- 5 random Providers with 10+ transactions will receive a message with a prompt every day at 1 pm
- Answers will be saved and displayed in Machina
- Operations will be able to Manually indicate if the message has made the provider disintermediate
- Added the ability to search by appointment classification within Machine (#1552)
- Added more information to the Amplitude event triggered when customers reschedule appointments (#1168)
Miscellaneous
- Improved the organization of the landing page to increase SEO performance (#1550)
- Cancelling an appointment now removes any pending charges and payouts. This prevents the issue of a provider accidentally charging an appointment, incurring a card error, then the customer being prompted to fix the card error (#1548).
- Temporarily reverted neighborhood booking counts with recurring customer counts on the marketplace
- Changed the text shown after visiting a discount URL (e.g. hux.com/share/YELPDEAL) (#1554)
- Updated the text displayed at the end of the onboarding funnel. It previously referenced an in-person interview.
Technology Operations
- Began Code Ship integration for CI/CD
Bug Fixes
- Fixed an issue where the service form would briefly and erroneously display that no providers were available (#1545)
- Fixed an issue where customer notes weren’t being copied to appointments when extended via Machine (#1546)
- Fixed an intermittent bug which caused the number of displayed bookings in customers’ neighborhoods to be 0 (#1553)
- Fixed a bug affecting custom cleans. After being copied, these appointments became malformed which prevented the appointments export from executing (#1551).
- Fixed an issue where a random slash appeared on providers’ receipts (#1542)
Posted on July 12, 2018
The blog has been finished and is now active. It has two posts and artwork by James!
Posted on July 9, 2018
New Features
- The marketplace now indicates how many neighbors have booked each provider
- Updated the featured review area on providers’ marketplace listings

- There is now a Neural Network recording conversion data and secretly learning how what is shown affects conversion.
- A beautiful new blog for our house cleaning content marketing strategy.
Miscellaneous
- Fixed a grammatical mistake in the adjust start time modal where the word “appointment” was erroneously pluralized
Bug Fixes
- Fixed an issue in marketing.hux.com where queued SMS’s (e.g. appointment reminders, CICO reminders, etc.) would intermittently send multiple times
- Fixed an intermittent issue where profile photos were being squished in customers’ appointments lists
- Fixed an issue where history items that happened less than 1 minute ago showed too much precision (e.g. 32.579 seconds ago)
Posted on July 5, 2018
Provider rules and expectations are currently not effectively communicated to the provider. The new provider toolkit helps to clearly convey our expectations. It can be accessed in the applicant onboarding funnel and in each provider’s account.

New Features
- Added a prompt when checking in more than two hours before the start time to prevent providers from accidentally checking into the wrong appointment.
- Changed the
Cancel Appointment button into a slider to prevent accidental cancellations (the cancel button looked like a window close button).
- Marketplace start times now display in the time zone of the inputted address!
- When a customer reschedules to a different provider, we no longer display history items that were for the original provider to the new provider.
- Updated the Machine reviews export to make it more Excel-friendly.
Bug Fixes
- The “out of area” modal now shows if there are now marketplace providers. Previously it considered all providers.
- Fixed an issue where customers could use expired discounts.
- Fixed the home dimensions columns in the Machine appointments export.
- Fixed an issue that made the Terms of Service open up behind the sign-in modal.
Posted on June 27, 2018
Hux Sort 2.0 is a second take on Hux sort that takes advantage of React and factors in availability, price, and even reviews into the marketplace display.
We also changed which review we show- we now prefer one with some text. Lastly, we removed the A-B test for Hux Sort VS Availability Sort in favor of the new Hux Sort.
Posted on June 22, 2018
Edit Start Time
Customers and providers often agree on a better appointment time than the one that’s been scheduled. This new feature enables the provider to edit the official start time of the appointment.
- It starts with this new blue button located on the provider’s receipt

- Providers must confirm that they’ve already confirmed the time change with the customer

Marketplace Improvements
- Customers can now indicate half baths when inputting their home dimensions
- Hux no longer accepts prepaid cards. Only a small amount of customers were using them legitimately: not enough to outweigh the illegitimate usages.
Miscellaneous
- Changed the customer confirmation email from displaying the appointment’s subtotal to the total. This way, the email displays precisely the amount the customer will pay rather than the pre-discounted subtotal.
- When banning users, Hux employees now have to write a short explanation
- Added providers’ display names to the provider Machine export
- Hid the de-duplicate feature, a tool no longer used that helped Hux employees merge two customer accounts
- Updated to Meteor 1.7.0.3
Bug Fixes
- Fixed an issue in Edge preventing some receipt titles from appearing
- Fixed a very rare issue that allowed Hux employees to mistakenly double book providers via Machine
Posted on June 21, 2018
Same-day Bookings
Hux 2.5.6 brings the ability to book providers for same-day appointments. This feature has been requested as long as Hux has operated, so we know that customers are going to love it. Providers can now choose more granular lead times, with options as low as 2 hours in advance.
New Features
- Added our newest team members to the team page
- Added a link to purchase a Hux gift card to the hamburger menu
- Added stronger email validation by checking DNS records
Miscellaneous
- Improved the banned address feature by supporting multiple Place IDs per Google Place
- Updated the marketplace team sort to consider availability before rating
- Removed the Showed Up & Signed Up columns from the Machine applicant page. Those two features were briefly used in Summer 2017 but have since been forgotten.
Bug Fixes
- Fixed a design issue that added too much right margin to the engagement funnel and legal address input fields on mobile
- Fixed an issue where certain URLs would take users directly to the marketplace, bypassing the address input field. This caused issues because addresses can only be edited in the service form.
Posted on June 14, 2018
New Features
- Public reviews now include the neighborhood of the appointment. This way, customers can quickly find reviews from their neighbors.

- Providers’ service zipcodes can now be edited via Machine. This helps Operations move providers to popular zip codes more easily.
- We now regulate how referral codes are redeemed per address. We noticed some customers skirting the rules by creating new accounts but using the same address.
- Hux employees can now block specific addresses from booking
CICO
- A perfect CICO now requires providers to just stay 75% of the appointment’s duration. The requirement had previously been 85%.
- We now suppress customer-bound Check In SMS’s when providers check in very late. We had received feedback that it was confusing.
- Customer.IO now notifies support of an improper CICO rather than Hux itself. This way, support has much more contorl over the email and can edit or remove it as desired.
Miscellaneous
- The edit service comparison box has returned to Machine after being cut for time last week

- The Extras Only service has been removed from Hux due to its low popularity
- When inputting their address, customers now always see the aparmtnet complex input box. Previously, it would only show after customers inputted an apartment number.
- Split up post-booking 3rd party API calls into individual deffered calls. This way, if one fails, the others will execute regardless.
Bug Fixes
- Fixed a rare issue that caused rescheduling an appointment to create a new appointment rather than change the existing one
- Restored the marketplace soring algorithms to their intended functionalities. They had mistakenly been tampered with in Hux 2.5.
Coming Soon…
We’re busy training a neural network that will help match customers with the best provider given their home and expectations. This will help push us towards our goal of improving marketplace liquidity. We’re also improving the marketplace to allow providers to be booked for same-day appointments: something that has been requested as long as Hux has operated!
Posted on June 7, 2018
Validate Service
As long as Hux has been around, we’ve noticed dissonance between providers and customers over home dimensions. Customers may not know their home’s exact square footage or may even purposely indicate incorrect dimensions. This creates a bad experience for everyone, so this helps close the gap between providers and customers by automatically filling in the home’s dimensions.
- The biggest change is that customers now input their address upfront rather than at checkout. This allows us to pull their home’s dimensions before they hit the marketplace.
- While we iron out the kinks, we’ll allow customers to edit the dimensions we pull, just in case there are any errors

Price Management
After returning from Luka, we noticed that providers’ rates had slowly inflated to levels much larger than the market. This new price managment feature helps providers understand their service’s value.
- Providers can see how their selected rate fits into the Hux marketplace as a whole via the bar graph
- Hux employees can override the default maxmimum for particular providers who’ve proven themselves

Miscellaneous
- Customers can no longer edit the square footage of a partial clean. We found that many customers were confused by that feature.
- When rebooking, customers can now more easily see the dimensions and extras they have selected
- Added the On My Way travel time to Machine, giving Support more insight into CICO
- Made improper CICO more easy to spot in Machine by highlighting improper CI or CO’s

- The mobile marketplace now automatically slides to the first day with availability. This way, customers will be greeted with availability from the moment they view the marketplace.
- Made the refunds UI more clear in Machine
- Updating the customer note now records that change in an appointment’s history
- Added a few new Aplitude tracking events to the customer referral page
- Selecting a partial clean now fills in your home’s dimensions from what you entered on the previous step
- Moved the Amplitude code into the global Hux namespace
Bug Fixes
- The quick referral link, which previously was located at the top of customer’s accounts, has returned after being mistakenly removed
- Fixed an issue where the On My Way button would appear on provider receipts even on cancelled appointments
- Fixed a rare issue which prevented providers from using the On My Way feature
- Fixed an issue where providers booking other providers would cause the daily transaction report to not send
Posted on May 31, 2018
Check In / Check Out Version 2 (CICO v2)
CICO v1, launched in March of 2017, solved a lot of problems that both customers and providers faced. With those updates, customers know exactly when providers are at their house, providers can charge appointments same-day, and support has a much better sense of how appointments are going. Its popularity and importance has grown considerably since then and today we’re happy to release a new set of features to augment it. This new feature set will only be available to a handpicked set of 35 providers initially with plans for a larger launch later.
Key Updates:
- Providers indicate when they are on their way and customers will be notified via text of the providers’ ETA
- Customers are notified when a provider checks in and out of the appointment

- Providers now have the option of leaving a note for the customer once they’ve completed the service
- We’ve removed the requirment that providers check off each item in the checklist
- Imperfect CICO appointments can no longer be charged at midnight. Providers must contact support to resolve the issue.
For more information and details, check out the support article or the PRD.
Bug Fixes
- Found and fixed one (hopefully the last) edge case that caused providers to be displayed with no timeslots
- Solved an iOS bug where tapping on things would flash a transparent gray rectangle. As part of the fix, we now have elegant visual cues when interacting with buttons, links, and other touchable elements.
- Fixed an issue where the title of the page would remain as “Hux - Checkout” even after you checked out
- Brought in a
2.5.2 hot fix that solved an issue where a blank customer note prevented providers from checking out perfectly
- Added “December” back as an option to the birthday date picker in the provider application process
- Added a loading spinner to the provider Earnings Report
Posted on May 22, 2018
New Features
- A feature 2 years in the making. A result of 5 years of planning. An idea, an immortal notion, has finally been added to Hux. Presenting drumroll.mp3 the ability to sort…by price. And all it took was one basically full front end React rewrite.
- We’ve introduced a new rebooking URL for operations to use in communications with customers. Easy to make, just use this URL pattern:
https://www.hux.com/rebook?aptId=[appointmentId].
- Certain zipcodes now default sort by availability rather than by Hux sort
Zendesk + Machine Integration
Zendesk and Machine now work much better together thanks to the following:
- Machine will automatically mark new providers as such in Zendesk. This will help us stay more organized and split our analytics by customers and providers.
- Zendesk provider pages now have links to Machine provider pages, making it easier for Support to find the information they need.

- Vice versa for Machine: it now includes links to providers’ pages in Zendesk
Miscellaneous
- The font Helvetica has been applied to the Earnings Report :)
- In machine, if you “Use new provider’s rate” when changing providers, the calculation will now take into account the new provider’s speed
Bug Fixes
- Decreased the size of the oddly large close button in banner notifications
- Fixed a regression introduced in
2.5.1 that prevented changing to “sort by recurring” on mobile
- Fixed an issue where there was just a white screen when downloading the Earnings Report on some mobile browsers
- Fixed an issue where providers appeared on the mobile marketplace without any bookable timeslots (also caused an availability dot to appear for that day, both bugs are fixed)
Posted on May 10, 2018
New Features
- A new beautiful landing page that focuses on Hux’s best traits– efficiency and trust.
- A new “Edit Price” modal for providers that shows the market rates (not active yet)
- On the mobile marketplace, dates that can’t be swiped to will no longer show blue dots, because that was confusing.
- After two years, we’ve finally made the desktop marketplace timeslot scroller touch-friendly.
- Added notice to grandpa browsers that they should upgrade.
Bug Fixes
- Fixed an issue that prevented the slide-in animation the first time a modal was opened.
- Fixed an issue that prevented the slide-in animation the first time a notification was opened.
- Properly centered the close button in the notification shade.
- Fixed an issue that caused the “Updated Services” modal to show too often. It was intended to only show for very old appointments that were incompatible with the new permutations.
Changes
- On mobile home page, made it easier to tap on your account and a lot harder to tap on the yelp 5 stars link.
- Moved the date to a query parameter so the Hux Charlotte and Hux Atlanta links actually benefit our SEO.
- Eliminated TypeScript.
- Converted a few smaller files from Blaze to React.
Posted on May 3, 2018
This release is comprised entirely of smaller bug fixes. Caution: it contains boring developer jargon.
Bugfixes
- Fixed issue where transaction report was not sending. It suffered from two issues:
- The entire file was commented out
- A global variable name change changed the
Appointments variable to AccountAppointments
- The Google Analytics URL had been incorrectly changed in the 404 page due to a global variable name change
- The check for LocalStorage support didn’t accurately check the browser’s capabilities. This caused an issue with Private Mode on older iOS Safari versions (iOS 9 and iOS 10). Currently, the best way to check their capabilities is to add and remove an item.
- The URL displayed atop the Impersonate window was not updating
Posted on April 18, 2018
Bugfixes
This release fixed some very minor bugs.
- Fixed an issue where submitting a review could result in an Internal Server Error
- Added an activity indicator to the “Help me find another provider” button to prevent multiple requests from being submitted
- Fixed tracking issue where the customer was attributed with getting booked instead of the provider
- Put back the “and” between the availability after a whole year since it’s mysterious disappearance.
React
This is the first release of Hux to have a significant portion of the UI rewritten in React. Although the user experience has been virtually unaltered, React sets the stage for many improvements to come.
- We can now sort (items in a list) by a calculation. This is exactly the under-the-hood improvement we needed to support “Sort by Price” and to improve Hux Sort.
- We are now creating “reusable UI components” that remove the need for error prone copy/pasted code and constantly reinventing the wheel.
- React is faster out-of-the-box than Blaze.
- 20% of the UI is still programmed in Blaze, so we have to include both the Blaze and React rendering engines in the website. When we remove Blaze entirely (it’s actually 130 KB), Hux will load 35% faster than before!
- Our ability to attract the best developers is greatly increased. Blaze can be a deterrent.
Attached are some screen shots showing the happy side effects of using React. Note that these improvements didn’t take any extra time to implement! They’re just free improvements from code simplification.
Posted on April 17, 2018
New Features
- Duration equation - This feature offers Hux employees insight into how appointment durations are calculated. Each dimension and extra affects the duration in a different way, so this will help Support better communicate with customers and providers. It can be accessed by clicking Manage > Duration Equation in Machine.

Improvements
- When manually editing the duration of an appointment, you now have a few new tools:
- You can choose to simultaneously update the charge and payout with the new duration
- Machine will indicate the new charge and payout
- You’ll be warned when entering a duration lower than the provider’s indicated minimum

- Improved the rescheduling interface in Machine. After a year of their absence, the arrows have returned!

Bug Fixes
- When booking, customers who type in addresses out of the range of the provider are presented with greyed out options, indicating that the address is too far. Those results previously could be clicked, however that has now been fixed.
- House dimensions were erroneously appearing next to extras in Machine and customer/provider receipts. That bug has been fixed.
- Fixed an issue preventing a modal from opening in Machine’s appointment changes page
- Fixed an issue forcing you to click on the permutations twice in Machine to load the modal
- The Hux OpenGraph image wasn’t appearing for certain URLs, but that has now been fixed
Miscellaneous
- Increased the maximum tip amount from $100 to $150
- Cleaned up a few areas of Machine’s appointment view by improving the review section, removing the recordings, and more
Posted on March 29, 2018
This week brings another incremental Amplitude update.
Amplitude Additions
- Engagement funnel
- Service rendered and service received
- Customer review
- Provider change of price
Bug Fixes
- View marketplace was not being tracked on mobile phones
- Engagement submission was only working for
good submissions
Posted on March 26, 2018
Improvements
- Added more events to Amplitude to track the Value Chain
- Homepage: All links have a Amplitude event associated with it
- Get Started: Everything has an amplitude event associated with it, even just opening it
- Marketplace: Any changes that cause a re-render of the marketplace create an Amplitude event
- Check-out: Login / Register create an Amplitude event and Identify the session
- Promo Code: Amplitude Tracking to see how many people use our promo feature
- Receipt: Going through the engagement funnel will create Amplitude events
- Review: Creates an amplitude event for Customer and Provider
Under the Hood
- Removed console log that would appear after leaving a review.
Posted on March 15, 2018
Improvements
- Improved the Machine provider selection modal with the following features:
- The providers are now sorted by price with the lowest price appearing on top. Previously, the providers weren’t sorted at all and would often appear in a random order.
- Added the provider’s marketplace star rating
- Indicate whether or not the provider serves the appointment’s zip code
- Removed provider applicants who were accidentally appearing

- Cleaned up the email sent to providers when they cancel appointments. Now, it only contains information about cancellation reviews if they cancel within 48 hours.
- Fixed a typo on the landing page. “Extras services beyond cleaning” has been fixed to remove the unneeded ‘s’.
Bug Fixes
- Fixed an issue where customers could accidentally book providers for the same timeslot. This occured if two customers both reached the checkout page before either one confirmed the appointment.
- Technical details: This was a classic incident of server vs. client checks. The client check, occuring on the marketplace page, correctly only checks for confirmed appointments. The server check, occuring when the appointment is submitted, was affected by a Mongo inconsistency:
Meteor.users.find({_id:{$ne:undefined}}) and Meteor.users.find({_id:{$ne:null}}) return 0 and n records respectively.
- Fixed an issue where customer’s credit would not apply until after they booked a service. This only occured if they were not logged into their account before checking out.
Under the Hood
- Removed Kadira’s
meteor-apm-agent
- Updated to Mongo 1.4.5
Posted on March 8, 2018
New Features
- Began integrating Amplitude, a powerful analytics tool that will help us better understand user behavior. This marks the first step of a much larger project. This first batch includes:
- Navigating the entire booking process, from selecting your permutations to submitting the booking
- Interacting with your appointment after it’s been booked. This includes cancelling and paying.
- Creating an account and logging into an existing account
- Clicking on a handful of external links (e.g. Help Center, recurring form, etc.)
Bug Fixes
- Fixed an issue preventing users with no payment cards on file from leaving tips
- Fixed a bug where users could request a partial clean without any partial dimensions
Under the Hood
- Upgraded from Meteor 1.6.0.1 to 1.6.1. Read more about it here. Third-level releases (x.x.1) typically contain smaller, yet still exciting updates.
- Began converting codebase to TypeScript. This will help the developers write more structured and clean code.
Posted on March 1, 2018
New Features
- Added a feature that allows customers to quickly share their referral code with their friends via email.

- Added Google Analytics’ Ecommerce tracking tool
Improvements
- Sped up the Machine customer export (which stacks with last week’s improvement). This also fixes a different issue from last week where larger exports could not be downloaded.
Bug Fixes
- Fixed an issue causing banner notifications to not disappear
- Fixed a bug causing provider earnings reports to not download on certain browsers
Posted on December 28, 2017
New Features
- Added a powerful new search feature for changes. Using it allows you to download only precisely the data you want. In most cases, this means download speeds will improve by roughly 10x. You’ll be able to filter changes by the date they occured, their author, and what type of data was changed.

- Important! This update moved the changes export from the reports tab to the changes tab.
- Added Google Analytics, a tool used to monitor user behavior and help us improve site conversion
Improvements
- Updated the marketplace and Machina to Meteor 1.6, bringing with it Node 8 and npm 5. This brings a faster and more secure experience to customers, providers, and Hux employees! For a more technical breakdown of the speed benefits that Node 8 brings, read more about the updated V8 JavaScript engine here.
- Added support for Customer.IO’s new restrictions on data transfers
- Improved the algorithm used to sort discounts in Machine, now taking into account their creation date. This way, their organization should be much more clear.
- In Machine, sped up the customer list and customer export. This also fixes an issue where larger exports could not be downloaded due to the request taking too long.
- Improved security surrounding change data in Machine, ensuring that no unauthorized users can access change data
Bug Fixes
- Fixed an issue preventing our OpenGraph image from displaying properly. An OpenGraph image is the picture that appears when you share Hux.com in Messages, email, Facebook, and more.

Posted on December 20, 2017
New Features
- You can now set expiration dates for promo codes
- Promo codes can now be hidden from the list in Machine, allowing us to clean up older promos
Improvements
- Sped up the provider list in Machine by 5x, compounding with the speed improvements from Hux 2.4.7. This was accomplished by removing unecesarry downloads, like a provider’s availability and zipcode coverage.
Bug Fixes
- Fixed an issue causing the current logged in user to appear at the top of the provider list.
Posted on December 14, 2017
New Features
- Added AdRoll analytics, a powerful tool for assessing our advertisements.
- Added new features that allow us to more closely track appointment discounts and which department they’re attributed to.
Improvements
- Increase the referral amount from $10 to $20
Bug Fixes
- Fixed an issue causing customers to accidentally tip twice
Posted on December 8, 2017
Improvements
- Sped up the user calendar page in Machine. Now, you can load a user’s appointments much faster. You’ll notice the most drastic improvements from users with 100+ appointments.
- This was accomplished by telling Machine to only load the appointments currently in the calendar view. Previously, all of a user’s appointments were being loaded. Very inefficient!
- Sped up the provider list in Machine. Previously, it could take Machine up to 30 seconds to load the whole list. Now, providers will appear as soon as they’re downloaded.
Bug Fixes
- Closed a loophole that allowed returning customers to use referral codes.
Posted on November 17, 2017
New Features
- Providers and customers now see different checklists on their receipts
- Added a new checklist which details each extra we offer. View it at hux.com/checklist-extras
- In the booking process, affixed the proiders information above the navigation buttons. This way, customers will know exactly how many cleaners are available without having to scroll.

- In Machine, added permutation data to the provider export
- Added baseboards as an extra
Improvements
- Sped up the booking process overall. Most notably, adding extras should now be much faster.
- Standardized the way customers see an appointment’s dimensions and extras across emails, receipts, and the marketplace. This should clear up any unnecessary confusion.
- The engagement feature now shows at the scheduled end time for an appointment. Previously, it would wait until the provider checked out of the appointment.
- Improved the description text for Extras Only cleanings
- When booking a provider from their profile page, the number of available providers now considers all providers rather than just that provider
- When booking an Extras Only service, you’re no longer able to indicate partial dimensions or eco friendly. This change was made to reduce confusion surrounding Extras Only.
- The pet friendly option is now much more visible when booking
Bug Fixes
- Within Customer.IO, cancellations were removed from the appointment_occured event
- Fixed an issue causing appointment durations to be incorrect after extending them
- Fixed an issue preventing customers from closing the modal where they edit their appointment notes
Posted on September 29, 2017
New Features
- Customers now receive a notification when they visit Hux.com that reminds them to review their most recent service
- Added a small note at the end of marketplace search results to help customers find more availability

- If customers accidentally leave the engagement funnel, they can now easily re-enter should they want to.
- The images that customers uploaded via the engagement funnel can now be viewed via Machine
- The loading spinner is now much more visible
- Changed the customer-facing recurring URL
Bug Fixes
- Fixed an issue where providers could see their customers’ feedback in the relevant receipt
- Fixed an issue where reviewed appointments no longer had the relevant icon in Machine
Posted on August 28, 2017
Customer Engagement
This week marks the release of a large project that customers are going to love: the new engagment funnel. It’s now incredibly easy to get help, provide feedback, and sign up for recurring cleanings via this new feature.
- It all starts with this new widget, visible above customer’s receipts.

- From there, customers have the option to leave private or public feedback, tip, rebook their provider, or get help with an issue all from the same screen.

- The options displayed changed based on what feedback the customer provides to ensure they see the features they want to.
- Overall, this feature’s goal is to encourage rebooking and recurring, gather better feedback to improve our service, and make customer support more accessible.
Smaller Additions
- The mobile marketplace now displays dots next to days with availability. This way, customers won’t have to swipe through days to find availabiltiy.

- When changing the provider of an appointment in Machina, you can now select any provider in the respective city rather than zipcode.
Bug Fixes
- Fixed an issue on the mobile site where rebooking filters would re-enable themselves after a user viewed a provider’s reviews.
Posted on August 24, 2017
New Features
- Added our phone number back to the bottom of the home page
- The marketplace now supports adding info modals to filters. This way, we can quickly add helpful information.
- Customers are now automatically returned any credit from cancelled appointments. Previously, they would have to contact Support to receive it.
- Restricted provider hourly rates to between $15.00 and $150.00, inclusive. This way, providers can’t accidentally set their hourly rates too high or low.
- Hux releases will hereby be codenamed with names of birds. The more menacing the bird, the larger the release.
Bug Fixes
- Fixed an issue preventing Hux employees from editing Amazon appointments via Machina
- Fixed an issue where editing flat discounts via Advanced Edit would invert them
- First-time customers who had previously cancelled appointments can now use first-time discounts
Posted on August 10, 2017
New Features
- Provider profile page URLs are no longer case senstive. Now, Hux.com/Adrianna will work the same as Hux.com/adrianna
- Customer.IO now have access to providers’ images when a customer books.
- Added a new feature to Machina that creates email content for certain Customer.IO campaigns.

Bug Fixes
- Fixed an issue preventing providers using Internet Explorer from downloading their earnings reports.
- Resolved an issue with the Health and Hiring dashboards which undercounted the number of negative experience reports.
Posted on August 3, 2017
Overview
The Hux changelog is back after a hiatus of working on other projects.
New Features
- Customers and providers can now hide cancelled appointments from their accounts. This should both customers and providers with complicated recurring schedules.

- You can now quickly see a customer’s most recent provider and rating via the customers list in Machina. This helps the recurring team more quickly pick qualified leads.

- We now collect location data on new users. With that data, marketing can better tailor campaign content.
- Sorted the customer list display options in Machina. Now, you won’t have search through the long list to find the column you’re looking for.

Bug Fixes
- Hux.Support’s text message queue is now more robust and reliable. It’s able fix connection issues itself after an interruption occurs. It also notifies the developers if a larger issue occurs.
Posted on July 25, 2017
Overview
Hux 2.2.7 is a very small update with a similarly small impact.
New Features
- Added new features surrounding provider applicant tracking.
Bug Fixes
- Fixed an issue where customers could see payout information intended for the provider. This only affected pre-2017 appointments. Thanks to Stanley for pointing this out.
- Fixed a rare issue on the mobile site where rescheduled appointments would not remove the old appointment. Thanks to Alfredo for pointing this out.
Miscellaneous
- Removed potentially confusing “Delete Service” button from providers’ accounts. Its purpose was primarily for the developers. Hux employees should instead remove providers via Machina.

Posted on June 28, 2017
Overview
Hux 2.2.6 is a very small update with a similarly small impact.
New Features
- Providers now earn a fee when reschedule on at the last minute. Customers are charged $25 and providers are paid $20 when rescheduled within 48 hours of the scheduled time. This feature mimics the cancellation fee already in place.

- Cleaned up how Changes are shown around Machina. They are now less technical and easier to read. This includes the Changes CSV report, appointment changes, and user changes.
- Added a spinner to the providers list to indicate when the page is loading

Bug Fixes
- Fixed an issue preventing customers from rebooking pre-2017 appointments
Posted on June 15, 2017
Overview
Hux 2.2.5 focuses on internal projects that help the Supply and Support teams be more efficient.
Provider list
- Images now load 30% faster
- Added powerful searching tools
- You can now search for providers with a specific rating, status, name, and more all from Machina
- Added a quick-search field for finding providers by keywords, like name, email, and more
- Searches will save from session to session. This means that you can create a search, close your browser, return to Machina, and the search will automatically apply. This also applies to viewing the provider list from different devices.

Applicant list
- Added tools to allow the Supply team to better track where applicants are in the hiring funnel
- There are two new hiring steps: Awaiting Interview and Awaiting Approval
- Supply can indicate which step the candidates are on via the applicant list

Miscellaneous
- Added smart links around the site to funnel customers and providers to the proper Help Center sites
- Providers can no longer choose a 1.5 hour travel time. Those who already have this option selected will still be able to use it, however.
- Added a link to customers’ and providers’ Stripe pages from Machina. This makes it easier to find detailed financial information.

Posted on June 7, 2017
Overview
Hux 2.2.4 focuses on small improvements and bugs. Johnnie and James are making great headway on the native app while Adam wraps up small projects with the marketplace.
Small Improvements
- Providers can now input their apartment number so we can better report tax information
- This information can be viewed from their pages in Machina and the Excel export
- Support will no longer be notified when providers check out of appointments improperly. They previously received an email and a notification in Machina.
- CustomerIO is now notified when a provider has been banned
- The money breakdown section on an appointment’s Machina page now contains detailed information about the customer charge and provider payout

- Indicated whether or not a provider was using CICO on the provider Excel export
- Providers can now charge CICO appointments even if the CICO was imperfect
- All new providers will automatically use CICO
- Added stricter data tracking across the site
- When a provider updates their legal address or email address, we now pass on that updated information to Stripe
- Machina now includes links to view more information about specific charges and transfers in Stripe

Bug Fixes
- Fixed an issue where users running iOS 9 couldn’t see slide UI elements

- Fixed an issue where providers with very long first names (longer than 22 characters) couldn’t set up provider accounts
- Fixed an issue that caused the appointment Excel export to display blank values instead of $0.00
Posted on June 1, 2017
New Features
- Rebooking feature
- Hiring Dashboard
Posted on May 22, 2017
New Features
- Provider Earnings PDF
- Providers can now instantly download a full history of their employment and earnings at Hux
- They can access this feature under the General tab on the website

- Instant Pay Tracking
- Instant pay can now be more closely tracked by Hux Employees
- New information in the provider export
- The provider’s selected payout method, ability to use Instant, and balance are now available

- Small improvements to Machina
- The label dropdown has been restored to its former glory

- Attempting to change a provider’s URL to a disallowed input (e.g. using dashes, underscores, etc.) is now blocked
Posted on May 18, 2017
Operations Dashboards
- Added a dashboard to monitor Checkin/Checkout appointments

- Added a dashboard to monitor provider hiring goals
Small improvements
- Improved the language surrounding Instant Pay following feedback from Hux supply team
Bug Fixes
- Fixed some small bugs surrounding Checkin/Checkout
- Fixed issue where Hux team member photos in Machina were too big

Posted on May 11, 2017
Hux 2.2 focuses primarily on improving providers’ experiences
Instant Pay
What prevented us from launching sooner? Sometimes with/without reason, banks return money to the provider’s Hux account, angering them because it looks like Hux is at fault. The money was always safe and sound in the provider’s Hux balance, but now we provide a simple modal to solve the issue and disburse the money as soon as possible.
-
Added a “returned/unclaimed balance” nag modal, with the capability to re-send any money that may be in thier Hux balance. The user will pick a bank account to send the money to.

-
Added the ability to create nag messages that the user must read and dismiss. Very useful for Terms of Service updates!
Privacy
- Customers and providers can no longer see eachother’s full names. Instead, they’ll only see the other party’s first name and initial of their surname

Other Fixes
- Resolved issue that prevented a provider from removing a bank account under certain circumstances
- Checkin error detection is now capable of differentiating between a button press to deny location services within the web browser vs when the user has the system-wide GPS setting off
- Tightened up design with more consistent padding and colors
- New CustomerIO fields:
provider_marketplace, provider_stars, provider_rank, provider_services, provider_reviews, birthday
- Added new CustomerIO events:
activated, deactivated, banned
- Updated core dependancies
stripe, moment-timezone, meteor
Posted on May 2, 2017
This is a maintenance release, primarily aimed at resolving a large bug that could prevent users from booking.
- Abandonned Rollbar in favor of Hux Log
- Resoved error where copying a “locked in rate” appointment would produce the wrong price
- Resolved error when an imperfect checkout would attempt to charge anyway
- Resolved issue where inputting certain addresses at checkout would cause the site not to respond
Posted on May 1, 2017
- Resolved issue where rescheduling a locked in appointment would revert to the marketplace price
- Hux Sort now considers availability outside of the first four days at a lower rate than the first four
- Checkin/out fixes:
- Only requests your location once you swipe
- Addressed bug that prevented perfect checkin checkout from automatically paying out
- Improper checkin/out now opens a support issue
- Moved GPS troubleshooting error info into modals, much less abnoxious now

- Cancel button for support now brings up a more capable modal with additional options

- Resolved iOS glitch where you could see through the frosted glass header of Safari and make out the hidden Hux Notification, which shouldn’t be visible.
- Added internal KPI reporting to track user actions that take a long time to complete
Posted on April 27, 2017
Features
- Recurring Rate You can now easily set the hourly rate that each customer pays their recurring provider. Customers can book from the marketplace with that set rate.

- Customers can now also easily share their referral link via Facebook Messenger

- Switched from Inspectlet to Fullstory. Fullstory is much better!
- When looking at an appointment in the Machina, you can now view recordings of users viewing receipts. This should be great for diagnosing checkin/out.

Bug Fixes
- Fixed a small typo in the referral system
Posted on April 20, 2017
Features
- Customer referral system: Customers now have personalized links which automatically redeem their referral code when a friend visits the link. You can also easily share your code via Facebook and text messaging.

- Provider availability is now tracked meticulously throughout the site
- You can now export all the data related to Checkin/Checkout from the reports tab in Machina
Bug Fixes
- Fixed a few lingering issues with Checkin/Checkout
- Fixed an issue where some providers couldn’t see the cancel button on their receipts
Posted on April 17, 2017
Features
- Updated the default Hux Sort algorithm to more highly favor availability in the next four days. Providers with more variety of days also have been given a boost.

- Updated Most Availability sort to be more similar to Hux Sort. It, however, considers seven days instead of four.
Bug Fixes
- Fixed issue where cancel button was hidden from Hux Support after an appointment had already been checked into.
- Fixed issue where customers could reschedule or cancel appointments during the appointment time.
Posted on April 14, 2017
Features
- In providers’ appointment lists, we’ve added a yellow dot to indicate improper checkouts. Now, providers will easily be able to tell which appointments they need to contact support regarding.

- Added the user’s name to the top of the text message modal in Machina. Now, Machina users know exactly who they’re contacting in addition to their phone number.

- Added a quick-text option for notifying customers that their appointment has been cancelled. To find this feature, click the quick-text button next to a customer’s name in the Machina appointment view.
- Added an export for appointment labels. Now, you can choose to export an appointment’s labels via CSV.
- Enhanced Machina security.
Bug Fixes
- Fixed issue where customers could edit appointment notes during appointments.
- Fixed issue where users could click “← Previous” and “Next →” at the bottom of the marketplace even if there were no additional pages.
Posted on April 4, 2017
Just as planned last month, the dev team now wrapped up a few inter-connected systems at the same time for a coordinated release.
Checkin / Checkout
Check in / out: Our top 2 causes of customer churn are punctuality and service quality (related to not staying the whole time) and the 3rd leading cause of provider churn is customer expectations. The new checkin/checkout feature, shown in receipt, integrated with a checklist, which should reduce provider cancellations, reschedulings, and increase service quality. When the provider checks in this is what they see:

- Perfect checkouts allow the provider to receive the money instantly. In the case of standard transfers, this means the money arrives a full day earlier in most cases. In the case of instant transfers, delays are essentially removed from the experience.
- To receive a “perfect checkout” the provider must both:
- Check in 15 min before or after the start time (a 30 minute window)
- Check out 10% before the end time or 2 hours after (a dynamic window based on the duration)
- If a provider doesn’t check in or out or both, the service is marked as an imperfect checkout and it’s up to support to push the charge and transfer though using the Charge button in Machina.
- Providers can be enrolled into checkin/out system via a toggle in Machina. If there is an ongoing appointment at the time of enrollment, that appointment however will not be altered.
Checklist
To better manage customer expectations, and to raise service quality, we have added a checklist to the receipt, viewable by both the provider and customer! Here is what the customer sees:

- For providers who have checkin/out enabled, the checklist is integrated into the checkin/out process. When checking in, the items turn into buttons. When checking out it will warn them if the checklist is incomplete.
Availability UI
Providers don’t always know what availability is, understand relationship between availability and income, input timeslots that are smaller than an average appointment, or receive feedback for positive or negative behavior around availability. There is now a widget to the availability UI that shows how much money the provider can make.
When they try to put in a short timeslot (useless timeslot) it will warn them before they submit it.
Bonus
- There is now a system-wide notification system, which is used extensively throughout this release to provide feedback, errors, and gamification!
- Fixed a bug where percentage discounts weren’t recalculated after changing the price of an appointment. We now reapply the discount. This should fix issues where fully discounted appointments sometimes change to cost money.
Posted on March 22, 2017
This release is solely because some changes to Mixpanel required a new deployment. We took the opportunity to throw in some changes ahead of schedule.
- Machina appointment export now includes a working refund amount column.
- Machina Applicant list is now paginated.
- Added a banner image used in Facebook Share, iMessage, and other social apps.
- Removed the majority of Mixpanel events.
Posted on March 21, 2017
- Mention no show policy on receipt.

- Instant payout fee is now implemented. Default is 75¢ but is adjustable per account in Machina

- Addressed issue where a providers who have travelled across timezones displays the time in another timezone. Applied a broad sweeping change across all receipts and appointments in the appointments lists for customers and providers. Times are now shown in the timezone of the appointment. To reduce confusion, we have also appended the “time zone” to the end of the times.

- Added categories to label system.

- Removed the finger cursor from declined cards.
- Altered the text on the cancellation window for providers.

- Site now syncs with CustomerIO after applicant submits thier city, so that we can launch drip campaigns to provider applicants with different messages per city.
- Added ability to track provider applicant progress through Mixpanel. The following Mixpanel events have been added:
- JoinApp, JoinLegal, JoinBank, JoinAvailability, JoinTerms, JoinDone
- Resolved issue where all Mixpanel users were coming from Virginia. As people use the site, thier real location will start getting backfilled into Mixpanel.
- Resolved issue where customer cancellation text sent to providers contained the word “undefined” instead of the appointment date.
- Added ability to reference the user’s current SMS reminder settings in CustomerIO.

- Users exports (providers, applicants, customers) now export with our local timezone.
- Resolved card error bug. When an appointment had 2 charges - a successful charge and a card error charge, the successful charge was preventing the card error from being resolved.
Posted on March 8, 2017
- Added ability for machina to Retry a charge!
- If a customer has a card error, sometimes they need to call thier bank to “unblock charges from Hux”. The card error email always demands that they reenter thier card so Hux can retry the charge. If they don’t reenter thier card, we currently don’t have a way to retry the charge on the same card, so we have added that ability in Machina.
- When we have a lot of card errors, we occasionally have found that by simply retrying the same charge it will work. This can be used to reduce some card errors, but is bad practice because declines hurt our reputation and cause more declines. Regardless, the option is there now.
- Add button and record if provider applicants have clicked the Calendly link to schedule phone interview.
- We use this in a drip campaign for applicants in CustomerIO.
- Also shown as a column in the Machina applicant list.
- Instant pay rejects bad debit card to avoid negative experience.
- Instant payouts relies on provider’s debit cards to be able to deposit money into their accounts. To check if a provider’s debit card is valid, a $1 transfer is attempted. If unsuccessful, the money is returned to us.
- Fixed regression where providers encountering a card error didn’t show the reassuring message. This message now appears as a toast when the error occurs, as well as persistently in the receipt.
“AJ’s card was declined. Don’t worry – Hux will make sure they resolve this issue.”
- Tip text was updated.
- Previous: “Hux paid you $90.00 for tip via Standard Transfer”
- Now: “Hux paid you a $90.00 tip via Standard Transfer”
- Prevented scenario that could exacerbate card errors.
- Previously, you were able to delete your declined card, so we removed the delete button for declined cards.
- Added email to provider list in Machina.
Posted on March 6, 2017
- Added Mixpanel, a powerful tool for the Product and Marketing teams
- Added support for collecting money from card errors on any type of charge
- Added a no-show button in Machine
- Server infrastructure upgrade
- Added unit testing for appointment creation and charging to the Marketplace and Machina. Unit Testing is an automated way of testing code for bugs.
- Added ability to assign a Support issue to a Hux employee
- Sped up the Marketplace by removing the following deprecated trackers:
- Bing
- Google Analytics
- Facebook
- Google Trusted Store
- Fixed a bug where the green charge button appeared too soon
- Changed provider application success message
- Moved TOS to end of provider application
- Adding instant pay card is now smarter – if the bank rejects a “test payout”, we’ll prevent the card from being added
- Beefed up security on new referral codes by increasing their lengths
- Fixed issue where the changes page (machina.hux.com/changes) wasn’t showing
- Added refund amount (if issued) and polished UI on the list of Stripe charges beneath the money section
- Added phone number to Providers and Applicants lists
Posted on March 1, 2017