Interview chat in the Moonlight app

Previously, clients had to communicate with job applicants via email. The response rate was low, and it was a disconnected experience.

Today we are launching the ability to interview job candidates through Moonlight's web and Slack chat features. As a client, you can start a private channel to interview applicants with one click. The developer gets notified right away.

We believe this update will keep contractors more engaged in the hiring experience and will shorten the time from job post to hire!


Get notified about new messages

Moonlight users who have unread chat messages now will now get notified via email. Web messaging is now close to parity with Slack.

If you send a message in web messaging or Slack - you can expect a reply!

(Users who have set up Slack will not get these emails.)

Reminders to log hours worked

Every Monday morning, Moonlight automatically issues an invoice for every active job. Many developers have requested a reminder to finalize their time sheet before this happens. So, every Sunday morning - we now email all working developers to remind them to update the hours that they have worked!

If you're on top of your hours, you can also unsubscribe from these messages on the settings page.

Improving file uploads ๐Ÿ“‚

We have made some improvements to how file uploads work:

  • Uploading a user profile photo now accepts any image type. (Previously - only JPEGs were supported.)
  • Uploading a company logo now accepts any image type. (Previously - only JPEGs were supported.)
  • Web chat now allows you to upload files

Standardizing how we handle overdue invoices

Every Monday morning, the Moonlight system issues a new invoice to ongoing jobs. Invoices are due within seven days. Clients then need to review each invoice to either pay or dispute it.

Moonlight's terms state that the system should autopay overdue invoices:

Upon invoice raise:

The Client can pay the Invoice manually within seven (7) days of the Invoice being raised.

If not paid manually by the Client within seven (7) days, the invoice will be automatically paid by the system charging one of the payment methods of the Client on file at any time.


Until now, our team has manually managed overdue invoices. As we have grown, we have decided that it is time to automate this process for three reasons:

  1. Clients have already agreed to auto-payment.
  2. Developers trust that Moonlight will process payments on-time.
  3. Many companies would prefer that their invoices autopay.

Today, we are standardizing how we manage overdue invoices.

If an invoice is neither paid nor disputed before it is due, the following steps happen:

  • Due date: Client receives an email reminding them that Invoice ## is due.
  • One day late: Client receives an email notifying them [Action required] Invoice ## is overdue - scheduled for autopayment tomorrow.
  • Two days late: Moonlight automatically pays the invoice.

The system only autopays an open invoice after one week and four reminders. If the client has a reason to deny payment, they can do so in the app. Disputing payment disables reminders and auto-payment.

We hope today's update makes Moonlight more consistent for both clients and developers!

Easier communication with web chat

Last month, we started a Slack community for Moonlight clients and developers. It creates a private chat channel for every new job to help everybody communicate.

Today we are making communication between companies and developers even easier. All users can now take part in chat through the Moonlight website! Best of all, it works with or without a Slack account.

Under the hood, Moonlight mirrors all Slack channels to our app. For new or infrequent users, web chat makes communication easy and accessible. For experienced users, web chat integrates messaging deeply into the hiring experience.

We are continuing to expand communication tooling on Moonlight. With web chat, messaging becomes a part of every userโ€™s workflow. In the coming weeks, we are integrating chat with more stages of hiring. Stay tuned!


Timesheet bug fix

We received reports from multiple users about a bug in the time sheet feature. When users were recording hours, the date would shift days from the one they selected. Today we've deployed a fix for this!

This was timezone-related bug in our frontend Javascript code. The date picker component in our code returned a Date object of midnight in the local timezone. To convert it to the ISO day format that we use in the API, we originally used this code:

const date = val.toISOString().substring(0, 10);    

The issue is that the toISOString method converts the Date to the UTC timezone. This means that the calendar day may change!

The fix was to account for the UTC offset when calculating the date:

const dt = new Date(val);
dt.setMinutes(dt.getMinutes() - dt.getTimezoneOffset());
const date = dt.toJSON().slice(0, 10);

Screen Shot 2018-07-03 at 11.57.43 AM.png

Keep your profile up-to-date with the Skills directory!

Moonlight tracks over 300 different skills that we use to match developers with jobs. These range from programming languages like Python to libraries like React.js to more meta-skills like design thinking and machine learning. However, until now, we have not had a list where you could see all skills.

Today, we are launching the Skills directory, where you can browse all of the skills that Moonlight tracks. Click here to check it out!

Developers on Moonlight feature these skills on their profiles, and they only get matched with jobs that overlap with their experience. So, it's important to add all relevant skills to your profile!

We continuously add new skills (which you can keep track of in the #announcements channel on Slack!).

When logged in, the skill directory shows you which skills you have featured on your profile, and it lets you add new ones in a click!

If you have any questions, or if you want to feature new skills, email us at!


Auto-saving drafts of job postings and applications

One of the biggest complaints from our community has been that it's too easy to discard a job post or application while writing it. Today, that's fixed!

When a client posts a job, or when a developer applies to a job - we use a modal to collect details. While writing, sometimes users close the modal to reference information (like the job requirements in a post). Now, we are storing that saving that draft! So, when you open the modal back up, it restores what you were writing!

Data stores locally right now in a cookie. If you are interested in extending this functionality, please let us know about your use case!


Moonlight Slack Community

Today we are publishing the first version of a Slack channel for the Moonlight Community. All developers and clients will receive an invitation from "Moonbot" to join In addition, all active jobs on Moonlight will automatically have a private channel between clients and the developer.


Developers have a private #developers channel, and clients have a private #clients channel. In addition, we will use the #announcements channel to share product updates, new skills, and other important information.

In the future, we will be using Slack for all messaging on Moonlight. Job updates will be posted in their respective private channels, and Moonbot will message users personal account information. Messaging will be closely integrated with the Moonlight product UI.

Please review the community guidelines that we published last month. We strive for an inclusive and professional community.

No published changelogs yet.

Surely Moonlight will start publishing changelogs very soon.

Check out our other public changelogs: Buffer, Mention, Respond by Buffer, JSFiddle, Olark, Droplr, Piwik Pro, Prott, Ustream, ViralSweep, StartupThreads, Userlike, Unixstickers, Survicate, Envoy, Gmelius, CodeTree