Story

Inspiration vs Imitation

May 08, 2015

This week, a friend pointed me to a website. He didn’t say anything about the website—he just left me with the link. After visiting the website, I realized why. He didn’t need to say anything because he knew how much it would hurt to see.


I started coding at the age of 10. I built websites for my favorite video games, writing walkthroughs and listing cheat codes—assuming everyone visited my website as soon as it went live. The websites didn’t look great—they included the same “under construction” gifs and rotating 3D text that every other website had at the time. I looked at these other websites for inspiration, pulling from them what drew me in. “View source” was my textbook—a free behind-the-scenes for every website on the internet. I copy/pasted every bit of code I hadn’t seen before and tweaked it to see what else it could do. Programming was new to me and I was excited.

A couple years went by and I continued to learn about programming. My mom would drive me to the book store so I could bury myself in the “Computers” section. I read as much as I could in the hour we were there, fascinated by every “Introduction to” this language and all the “Bibles” for that language. When it was time to go, I would beg and plead for the book I just had to have. The book was rarely relevant to what I was coding at the time—I just didn’t understand it and that’s why I had to have it. I wanted to learn.

After a few trips with mom, I discovered a series of books that showcased the “masters” of my programming world. Each book included a CD with the actual work of the masters and the book would reveal the thought process and decision-making behind each piece, often including an example tutorial. These masters became my idols and I tried my best to create work as impactful as theirs was to me. I completed the tutorials and raced to show my parents—never mentioning the book, or the masters.

A few more years went by and I continued to follow their work. When they launched something new, I would learn from it and try to recreate it—just to see if I could. I redesigned my website every month to include a fancy new loading screen or an animated mouse trail—similar to the ones they had, but different enough to call it my own.

While many of my idols dropped off the radar over time, I continued programming. Several more years went by and I now had an entire decade under my belt. I no longer felt the need to rely on others for inspiration—I had ideas of my own. I filled my school notebooks with these new ideas, then raced home to see if they were even possible. Every night, I went back to the drawing board, hoping to come up with something that would give others the same spark that I felt in the book store.

I started to receive emails from young developers, asking for advice on where to begin. I directed them to my favorite books and websites, and we stayed in contact as they learned the same way I did. From time to time, I would recognize my own style in their work—just little things, like my favorite hex color or my go-to font combination. This didn’t bother me much because I also learned by trying what others have tried.

Occasionally, I would see someone go too far. I always hoped it was an honest mistake, but sometimes it wasn’t. They either thought no one would notice, or even worse, they didn’t care. Most of them didn’t realize just how small this community is or how much this action would hurt the original person. I’d try my best to warn them of the fine line between inspiration and imitation. I could only hope that they heard me.


The link I received was to another project management service. With my recent work on integrations, I thought it might be another app worth integrating with, but as soon as the website finished loading, I knew something was wrong. My heart sunk and a tidal wave of thoughts and questions hit me. I had trouble processing what I was seeing.

imitation-datepicker

I saw Cushion—not the name or the idea, but an undeniable resemblance to what I’ve spent the past year designing. I couldn’t sign up for it because it’s in private beta, too, but the video revealed enough to justify a conversation. I visited the Twitter page to reach the people behind it when my heart sunk even deeper—I recognized them.

They were Cushion beta users.

imitation-colorpicker

Aside from feeling sick, I felt betrayed. Not only because they were Cushion users, but because I remembered answering numerous questions they had about how I built parts of the app. I was naive to assume they were just curious developers, but this community is built on sharing what we know. And, there’s an unspoken trust that goes along with it.

imitation-table

I reached out, expecting acknowledgment and an apology, but I was met with a strong defensive stance—claims that the look is “standard design” and that Twitter Bootstrap scaled down would look the same; that the design existed before Cushion because they bought the domain name years ago; that I had no reason to be upset.

imitation-notification

I was upset. The similarities were too blatant to ignore, but they weren’t seeing it. They offered to change the notification after admitting it looked similar, but how could they not see everything else? In a last-ditch effort to get through to them, I asked that they at least change the parts that look identical. They said they didn’t have time to, but joked that they could hire me to do it.

I was very upset. Almost an hour had gone by and nothing would change their mind. We ended the conversation.


Cushion has become my life, and I’m putting everything I have into making it my career. I’ve worked tirelessly for the past 15 months to turn this idea into something real, and it’s heartbreaking to see someone claim my work as their own.

Although this has been a truly emotional distraction, I’m going to continue making work that I can be proud of—because this is what I’m meant to do. I’m here for the long haul, and nothing is going to get in the way of making Cushion my own.

Share this on Twitter or Facebook

Archive

  1. Funding Cushion
    Story
  2. Hiring a Team of Freelancers
    Story
  3. Taking a Real Break From Work
    Story
  4. Slack as a Notification Center
    Dev
  5. Document Your Features
    Story
  6. 300
    Story
  7. Vacations
    Design
  8. Offering Discounts
    Design
  9. Waves of Traffic
    Story
  10. Less Blogging, More Journaling
    Story
  11. Retention Through Useful Features
    Design
  12. The Onboarding Checklist
    Design
  13. Spreading the Word
    Story
  14. From Beta to Launch - The Subdomain
    Dev
  15. From Beta to Launch - Sign up
    Design
  16. From Beta to Launch - Messaging
    Design
  17. Launch
    Story
  18. Authenticating with 3rd Party Services
    Dev
  19. Intro to Integrations
    Design
  20. Inspiration vs Imitation
    Story
  21. The Emotional Rollercoaster
    Story
  22. Designing Project Blocks
    Design
  23. Everything in Increments
    Story
  24. Deleting Your Account
    Design
  25. Designing the Subscription Page
    Design
  26. Rewriting the Timeline
    Dev
  27. Restructuring the Individual Project Page
    Design
  28. Project Blocks
    Story
  29. Redesigning the Homepage
    Design
  30. Multiple Timelines
    Design
  31. Archiving and Estimate Differences
    Design
  32. Multiple Financial Goals
    Design
  33. Zooming in on the Timeline
    Design
  34. Currency
    Dev
  35. Preferences, Accounts, and a Typeface Change
    Design
  36. Sending Out the First Email
    Story
  37. Currency Inputs, Notifications, and Invoice Nets
    Design
  38. Dots and Lines
    Design
  39. Calculating in the Database and Revealing Tendencies
    Dev
  40. Improved Form UX
    Design
  41. Cushion is Online
    Story
  42. Schedule Timeline Patterns
    Design
  43. A Slimmer Schedule Timeline
    Design
  44. The Schedule Timeline
    Design
  45. Plugging in Real Data for the First Time
    Design
  46. Transitions and Project Lists
    Design
  47. Death to Modals
    Design
  48. The Individual Project Page
    Design
  49. Estimated Incomes and Talks with Other Freelancers
    Story
  50. Statuses to Lists and the Paid Beta
    Story
  51. The Timeline
    Story
  52. Invoice Terminology
    Dev
  53. Modal Forms
    Dev
  54. Wiring the Backend to the Frontend
    Dev
  55. Balancing Design and Dev
    Story
  56. Timecop, Monocle, and Vagrant
    Dev
  57. Going with Ruby and Sinatra
    Dev
  58. Ditching local-first and trying out Node.js
    Dev
  59. Switching to AngularJS
    Dev
  60. Building the Table with Vue.js
    Dev
  61. Clients, Projects, and Invoices
    Dev
  62. Introduction
    Story

Ask a Freelancer

A podcast series where experienced freelancers answer questions about freelancing.

Listen to the Podcast

Talking Shop

An interview series where we talk to freelancers about important topics in the freelance world.

Read the Interviews

Running Costs

Take a close look at the costs that go into running a web app and why we use specific services.

View the Costs

How It’s Made

Follow along with the journal for insight into the overall experience of building an app.

Read the Journal