Journal

A weekend marathon of an infrastructure upgrade
I spent a weekend upgrading Cushion’s Heroku stack and Ruby version, which sent me down a path of fixing hundreds of failing tests and removing a feature.
I spent a weekend upgrading Cushion’s Heroku stack and Ruby version, which sent me down a path of fixing hundreds of failing tests and removing a feature.
Filtering in the Track > Reports section now persists through URL query parameters, so you can bookmark common reports (Thanks, Darren!)
Starting a new timer now auto-focuses the note field (Thanks, Charles!)
I hit a roadblock designing a UI that didn’t excite me, so I decide to take a step back and rethink a more personalized design.
Added hourly rate insight to invoice form
Added new availability timeline in the Timeline (beta)
Improved layout with more spacing in the new Timeline (beta)
Fixed the trial prompt after hitting the snooze button (Thanks, Elliot!)
Added click & drag workloads in the Timeline (beta)
Editing a timer-based entry via the modal now lets you edit the date in addition to the time
After taking a short break to collect myself, I eased back into work with a low-priority feature that I’ve been itching to add for a while.
Added hotkey labels for editing workloads in the Timeline (beta)
Improved spacing between filters in the Timeline (beta)
Improved timeline scrolling performance in Safari (beta)
Inline editing now has a confirmation step for saving and undoing in the Timeline (beta)
While building the drag & drop interaction for workloads, I accidentally created the coolest interaction I’ve ever made.
Fixed schedule not appearing for a new project in the Timeline (beta)
Added the ability to move and resize workloads by dragging in the Timeline (beta)
After taking a couple weeks off to move into our new home, I’m back in the saddle with creating and editing workloads.
Added the ability to create, edit, and delete workloads in the Timeline (beta)
To continue reaching feature parity with the existing schedule view, I added vacations to the new timeline.
Added vacations to Timeline (beta)
Added the ability to delete a project in the Timeline (beta)
Over the weekend, I ate the broccoli and built a nested drawer system, but ended up with a delightful parallax effect.
Added the ability to create a client inline when creating or editing a project in the Timeline (beta)
Improved tooltips to show relevant time-tracking, estimated time, and availability in the Timeline (beta)
The full circle journey of designing a tooltip that’s both simple and useful.
Holding shift or cmd while hovering the timeline now widens or narrows the date range (beta)
Added project notes to the Timeline (beta)
Added total estimated time to the past for comparison in the timeline (beta)
Projects in the new timeline are now sorted by activity (beta)
After visualizing tracked time, I jumped from the past and into the future to visualize estimated workloads.
Fixed invoice list coloring when an invoice is overdue (thanks, Brian!)
Workloads in the Schedule timeline (beta)
Fixed timezone issue in the timeline beta with tracked time in the evening (beta)
Now that Cushion can visualize tracked time, the next step is to combine tracked time and highlight when you overworked yourself.
Added total tracked time visual to the schedule timeline with highlighting for when you overworked yourself (beta)
Added tooltips for tracked time
Fixed date pickers to respect week start day preference
Added “Date Paid” to paid invoice template
After being close to launching tracked time in the schedule timeline beta, I decide to spend an extra week adding lazy loading.
Tracked time visualized in Schedule timeline (beta)
Straying from the plan to bring the timeline to 1:1 feature parity with the existing timeline, I visualize tracked time.
I take a short break from the timeline beta to launch the ability to duplicate an invoice. No big deal.
Added budget and track sections to project form in Schedule timeline (beta)
Added the ability to duplicate invoices
Fixed budget graph nav for users with a custom fiscal year to load correct initial year (thanks, Jake!)
Project actions in the Schedule timeline for “Start”, “Finish”, and “Cancel” now show an auto-populated form with the current date, relevant list to move to, and the option to archive (beta)
On the new path of pursuing a list-based layout, I group the projects by list and add an archive filter.
Added archive filter to Schedule timeline (beta)
Added archiving to project menu in the Schedule timeline (beta)
Group projects by list in Schedule timeline (beta)
Fixed setting a project color for the first time in the Schedule timeline (beta)
Added view filter to schedule timeline for showing all, active, or archived projects (beta)
Redesigned schedule timeline to include project list (beta)
Foreseeing a problematic future with the stacking layout, I rethink the direction and end up down a better path.
Fixed clicking zoom options in Firefox in Schedule timeline (beta)
Fixed clicking labels sometimes dragging in Firefox in Schedule timeline (beta)
Fixed vertical alignment of axis in Firefox in Schedule timeline (beta)
After adding the ability to add and edit projects in the Schedule timeline, I implement more detailed interactions with project actions.
Added project actions for starting, finishing, and canceling projects in the new Schedule timeline (beta)
Default a new project’s color to the client color in the new Schedule timeline (beta)
Fixed client & list dropdowns to auto-select project’s client & list when editing in the new Schedule timeline (beta)
Fixed client dropdown when project’s client is archived in the new Schedule timeline (beta)
Creating and editing projects in the Schedule timeline (beta)
Back to working on the app, I take the leap into creating projects, but via form first instead of click & drag.
I spend my holiday break bringing more fun to the Cushion homepage with a new design, full of illustrations and animations.
Improved Schedule timeline performance in Safari (beta)
Fixed Schedule timeline sizing in Safari (beta)