
PigCI
Stop memory leaks before they reach Production
When I first started, I used a GitHub Integration to help users get the most out of the library. I had pretty high hopes that by hooking up with GitHub & using their Marketplace would be a great way to get users started, while potentially being a source of income.
GitHub paused their Marketplace verifications a few months back, which is a requirement for adding paid plans on their platforms. Every few weeks I got a little less hopeful about the whole situation :/
I decided to ditch the GitHub marketplace this week. It was proving a total distraction. Instead of figuring out if people will pay for the product, I was kind of sitting on my hands thinking "They might unpause this week".
https://pigci.com/github-integration-deprecation-notice - I posted a lengthier explanation for my customers here.
If there is a lesson to learn, it's don't invest in a single platform early on! If I had setup via Stripe, then maybe added myself to the Marketplace further down the road I might have felt more motivated. Instead I lost a lot of enthusiasm on a waste of time.
PigCI requires users add a gem to their Rails projects in order to help pass/fail pull requests.
It has taken a while, but I've just crossed over 2400 downloads (with over 1000 being from the latest version). It's pretty exciting to see that number climbing up.
One thing I've been doing to help promote it, is asking other developers I know personally to install it & give me some feedback. If they have something I can quickly get done, I try to make that change then let them know.
That said, I'm also discovering a lot of users really just want to use the as a standalone tool & don't want to have to install a GitHub app. I'm thinking I might change my focus away from being a GitHub integration & just focus on the gems functionality.
3 Likes
3 Comments
3 Comments
I opened my email at 6am, there was an email with the subject line "PigCI has been approved for the GitHub Marketplace". I was ecstatic!
I had applied to be listed as an unverified listing the previous week, which meant I could be listed in the marketplace (So easy discoverability) but couldn't charge until I reach 100 users.
That afternoon I put together a list of things I thought I needed to help me reach 100 users. Mostly I intended to focus on the following things:
- Fix small annoyances If I could remove a click or avoid a user having to configure something, I'd do it.
- Build landing pages - The product is helpful, but getting people to try is difficult. I need to build out key pages explaining the benefits.
3 Likes
Comment
I was ready to go! I had been quietly tinkering away the last few months, but I was able to build out the key functionality of the product.
I decided to setup as a GitHub application as if I could get 100 installs, I could mark as a "Verified" application in the GitHub Marketplace, which would mean GitHub would handle all the billing.
I pushed my codebase to the production environment I setup on Heroku. I sent the link to a few friends, and awaited feedback.
2 Likes
Comment
The UX was feeling really solid, I could click around on my mockup app & really feel the value the product could provide.
However, working on weekends was taking its toll. Between my main job & PigCi, I didn't have any free time. Plus when I looked at the app, while I liked the UX it was a very bland canvas. I needed some colour to bring it to life!
I enlisted to help of a freelancer designer friend of mine to help build out the logo, colour scheme & landing page. I just handed over my middleman app & let them at it, while I took a weekend away from the screen.
When I returned I loved what they had done! The product really communicated a clean experience, with a hint of playfulness & personality. I was so happy & energised, it was great!
I started planning how I'd implement it in Ruby on Rails!
4 Likes
2 Comments
2 Comments
I started working on a product where I really wanted to track some key metrics of the test suite over time. I knew I had some code that "worked" to track the metrics & I decided to spend a few free days working on a nice web app.
I built out some UX ideas using Bootstrap & Middleman. Both these together let me build out ideas for flows and spot any problems early.
I showed a few friends over beers and feedback was quite positive! It definitely thought that even if the product goes nowhere, I'd have a nice project for my portfolio.
2 Likes
Comment
After writing the blog post, I got a trickle of emails asking if ever turned the code I chucked together in an evening into a gem.
I'd always follow up a few quick questions about what they'd expect from the library, if they'd pay for it. The responses were consistently positive, but I always took them with a dash of salt (what if they were just being polite instead of honest).
I left the idea in my "neat, but no one will use this" idea pile.
1 Like
Comment
I pushed the minor change to the Ruby on Rails app I was working on, deploy it & went to bed. An hour later I started receiving email notifications indicating there was an issue.
I had upgraded a library used in my app, which had introduced a memory leak! It was the worst kind of hockey stick growth & meant the app needed restarting every hour (which caused 30 seconds of downtime).
I rolled back the change, and quickly cobbled together some code to help track down what had caused the error, fix it, wrote a blog post & forgot about it.
1 Like
Comment
About
After letting a memory leak reach production, I wanted to find an easy way to track key metrics during CI (when my test suite would run).



Comment