
Launch HN: FeaturePeek (YC S19) – Front-end review for the whole team - andrethegiant
Hi HN! I&#x27;m Jason, one of the co-founders of FeaturePeek (<a href="https:&#x2F;&#x2F;featurepeek.com" rel="nofollow">https:&#x2F;&#x2F;featurepeek.com</a>).<p>FeaturePeek lets front-end developers get UI&#x2F;UX feedback from their team earlier in the release cycle. For every pull request, we spin up a dedicated feature environment with tools like commenting, screenshotting, and bug filing overlaid on top.<p>Our vision is to fill the void in product development that occurs after developer handoff. Great tools exist for design prototyping (Sketch), design feedback (InVision), developer handoff (Zeplin)... but then there&#x27;s a cliff, an empty gap, where teams use ad-hoc methods of iteration before shipping. We want to build a tool that shortens feedback loops between cross-functional teams so that the end of the release cycle is sane and stress-free.<p>If you&#x27;re familiar with automatic feature environments for pull requests — like what Heroku or Netlify offer — it&#x27;s like that, but 1) we&#x27;re platform agnostic, 2) we support Dockerized builds in addition to pure static assets, and 3) we overlay a suite of tools on top of each environment to help your team communicate more effectively.<p>My co-founder Eric and I wished that this existed at our last startup. While developing a web-based SaaS product, we found that our teammates would wait until the day before the release to leave implementation feedback on new features. The feedback ranged anywhere from CSS nits to the dreadful &quot;This isn&#x27;t what I meant&quot;, in which case we had to decide whether to scramble together a fix or to delay the release. It was tempting to fault the procrastinating reviewers, but it happened so often that we realized it was instead a flaw in the review process. We knew there had to be a better way.<p>Eric has led Build &amp; Integration teams at Apple and has experience in release management. My background is in front-end engineering and developer experience. So it was natural for us to think in terms of developer tools for release processes, and we decided to work on this together.<p>There are a few products that exist for gathering website feedback and filing bugs, but they all rely on using a browser extension in a dev&#x2F;staging environment. This method is inferior because 1) Getting everyone on your team to install a browser extension on every browser is a pain; 2) Code has already been reviewed and merged, which is way too late to start the feedback process. Waiting on code review before conducting feature review is an unnecessary speed bump; and 3) Dev&#x2F;staging environments can be an integration war zone, especially for larger teams. Another developer&#x27;s feature could break something in yours, so this environment is not suitable for conducting feature review. QA should still happen on the release as a whole, but the UI&#x2F;UX review of individual features should occur in isolation.<p>Here&#x27;s how it works: After your pull request builds in CI, call our one-liner to ping our services. We use the credentials present in your CI environment to pull your image from your container registry. If you build static content, we download your built assets and add them to an nginx image for you. When the environment is up, a deployment link posts in the pull request, and your team is notified via Slack. We use Kubernetes and Helm to manage and namespace each environment, which spin up and shut down based on VCS webhooks. Our team collaboration features sit on top of your app in a parent frame, so you don&#x27;t need to install any run-time dependencies to take advantage of them.<p>All new teams get a two-week free trial — but you can use the coupon code HN2019 to get an additional 50% off your first three months.<p>We&#x27;d love to hear your feedback, and answer any questions you may have :-)
======
slewis
We’ve been using this at my company for a couple months. It’s so important to
visually verify PRs for frontend work, but we weren’t doing it nearly often
enough, because there is a barrier to checking out and running a branch.
Feature Peek makes it so easy that it this naturally became part of our work
flow. We’re building better software. Thanks guys!

------
orisho
Something which I immediately wondered about is how does this work with
backend services when they are required to display part of the app. The FAQ
mentions something about environment variables, but is not clear. I would
suggest adding a section on that which is accessible outside your app to
reduce cognitive load and encourage adoption.

~~~
andrethegiant
I've added a section in the product FAQs that tries to better address this –
does this make it more clear?
[https://peek.run/l74hv16](https://peek.run/l74hv16)

~~~
gingerlime
Not the GP, but had the same question. not sure it’s that clear. So if I have
a rails app with a database and redis, how can I use featurepeek?

~~~
andrethegiant
If your front-end is within rails, you can't really at the moment. We're only
focusing on the front-end design/implementation use case right now, so seeding
databases etc isn't our priority.

If you have your front-end in another project, and use rails only as a
backend, you can use environment variables in your front-end to point to
rails. That's what we do for our FeaturePeek dashboard app as a matter of
fact.

~~~
orisho
With a couple of educated guesses about how FP works coupled with the FAQ
content I'm able to imagine what it looks like, but I think a link to an
example project (or even inline if the length makes sense) would go a long
way. The key here IMO is something which allows you to passively learn what
you'll be required to do to get this to work. My experience is that requiring
users to perform an action such as signing up to learn this information will
discourage users.

~~~
andrethegiant
Good point! Our documentation[1] gives lots of examples. Also, our docs
repo[2] (Docker/Jenkins) and marketing website[3] (static/CircleCI) are both
open source and running on FeaturePeek, so that shows some real-world
examples.

[1] [https://docs.featurepeek.com/intro/](https://docs.featurepeek.com/intro/)

[2]
[https://github.com/featurepeek/documentation](https://github.com/featurepeek/documentation)

[3] [https://github.com/featurepeek/marketing-
website](https://github.com/featurepeek/marketing-website)

------
evrydayhustling
The second I saw this, I thought of Jane Wong
([https://twitter.com/wongmjane](https://twitter.com/wongmjane)) and her peeks
at unreleased features being tested in major apps. You should connect with her
to figure out how to help teams be intentional about where and how these tests
leak to end-users -- it's highly connected to this internal review cycle.

Selective leaks? No leaks? Let's be intentional!

~~~
avarun
> You should connect with her to figure out how to help teams be intentional
> about where and how these tests leak to end-users -- it's highly connected
> to this internal review cycle.

Uh, no it's not. Her "leaks" all come from finding code paths hidden behind
disabled feature flags in consumer apps. This has nothing to do with the
front-end review process, but entirely to do with the way companies gate
features that are already shipped to the end-user behind temporary flags.

~~~
wongmjane
I've never labelled myself as "leaker" nor whatever I discovered as "leaks"

That's what I find funny/absurd about the amount of stuffs I found just by
diving the app's code

Maybe if companies stop bloating their apps with the features that only 1% of
the world will ever be able to use, I wouldn't have been able to discover all
these?

~~~
avarun
I'm not saying you've ever labelled yourself as a leaker, but the person I was
replying to definitely tried to label your work as "leaks". I don't think
companies really care that you discover their features ahead of launch — if
they did they would change the way feature flags work.

------
hjnilsson
Interesting value-add to just using Heroku (or similar) PR apps.

Question about pricing: are "users" just developers, or anyone that should be
able to view the app?

While I find the pricing of $16 just fine if it is for developers / designers,
it is very common to need to show / share a feature with a few customers / QA
people / friends to get feedback, and if that kind of users are also priced at
$16, that adds up quickly.

~~~
andrethegiant
You can set your project / environments to be public, and then anyone with the
link can view it. This is useful for the one-off reviewers you mention – you
won't be charged for these users (viewers). However, they won't be able to
comment / perform writes.

You have control of who you invite to your FeaturePeek team, whether it's a
subset of your GitHub org or people outside of GitHub. You'll only be charged
for the users you invite.

------
throwaway13000
Can someone suggest a library for doing what is done at 59 seconds ?

[https://youtu.be/14UwLG1jQwU?t=59](https://youtu.be/14UwLG1jQwU?t=59)

I am looking for a library that lets me highlight a line of code and then
comment on it. Similar to gerrit or other code review tools, but for my side
project.

~~~
throwaway13000
Annotatorjs seems like it could the work but it is not working for me :(

------
aparajit
Congratulations on the launch, Jason! This is a super helpful and promising
product and we at Raicut will definitely be giving it a shot. Wish you and the
FeaturePeek team all the best, I'm also promoting y'all on Twitter...

------
sergiotapia
Interesting but your material glosses over how it handled backend
requirements.

If my app is a react static application that speaks to a backend staging
environment how does I set that up with Peek? What is the setup there?

------
cryptozeus
This is great ? Does it support all major browsers for feedback and metadata ?

~~~
andrethegiant
Yes – our least supported dependency is html2canvas[1] (for screenshotting),
which is supported in Chrome 1, Firefox 3.5, Opera 12, IE9+, Safari 6+. The
rest of our front-end is a React app, so if your browser can run React (which
is IE9+ I believe) then it should work on FeaturePeek. Give it a try and let
us know if you encounter any issues.

[1]
[https://github.com/niklasvh/html2canvas/](https://github.com/niklasvh/html2canvas/)

------
mcintyre1994
This looks pretty cool! Any plans to add Gitlab support? Or do you support any
sort of custom integration? I'm sure the CI piece would already work with
Gitlab's CI - if you could just ping a webhook with branch + peek.run link
that'd probably be enough to get something integrated.

~~~
esilverman
Yep, Gitlab integration is on our roadmap

------
gxespino
Interesting. Would love to be able to disable this for small changes (text
only, etc). I'd hate to have to run an extra, potentially costly/time
consuming, CI step for small UI changes.

Congrats on the launch. I use GIPHY to "preview" my UI changes in Github. I
wish the rest of my team did something similar.

~~~
andrethegiant
You can set a branch pattern[1] in your FeaturePeek config so that only
certain branch names spin up environments. (And yes – I feel your pain every
time I see an empty PR body.)

[1] [https://docs.featurepeek.com/pro-tips/#only-spin-up-
environm...](https://docs.featurepeek.com/pro-tips/#only-spin-up-environments-
for-certain-branches)

------
ablekh
Cool tool! Congratulations on your launch and good luck! :-)

------
ninetax
Congrats on the launch, I look forward to trying it out!

~~~
esilverman
Thanks!

------
colinmegill
FWIW, Figma has replaced that stack for me at this point

~~~
andrethegiant
Absolutely. We're fans of Figma too. They also draw the line in the sand at
developer handoff – we see ourselves as the logical next step.

~~~
finkin1
Can you elaborate on this a bit more? My team uses Figma to do the UI/UX work,
interactive prototype work, as well as receive and manage feedback via
comments all from within Figma. Is the value proposition simply a better tool
to receive and manage feedback than what Figma offers?

~~~
esilverman
Not exactly, you are talking about design feedback while this is leaving and
managing feedback on the in progress implementation itself, while the
developers pull requests is open. It's the phase after prototyping and design
handoff, when the engineer needs to make sure it's implemented correctly

------
sealthedeal
interesting, doesn't Heroku do something similar to this? How has your initial
feedback been?

~~~
andrethegiant
Yep – Heroku calls them Review Apps. We are recreating this functionality in a
platform-agnostic way (so you don't have to be tied to Heroku – i.e. it can
work if you deploy with AWS, Gcloud, etc), and additionally overlaying tools
on top of the running environment to help your team communicate more
effectively.

------
jaequery
I can't seem to understand the need for it

~~~
the_gipsy
For POs to constantly look over your shoulder and tell you to change stuff.

------
virtuexru
Just a heads up but if you click on the video with the pop up overlay & play
it, then exit/close the modal, the video will continue playing in the
background.

~~~
andrethegiant
That's what I get for developing with mute on. We'll get that fixed stat!
Sorry you have to keep listening to my cofounder's voice :-P @esilverman

Edit: Here's a FeaturePeek environment with the bug fixed, can you confirm?
[https://peek.run/2n5hvpp](https://peek.run/2n5hvpp)

~~~
vcavallo
Hah, I just fixed the same issue in a project I'm working on today. It's
always these kinds of things that sneak by.

Nice work on the launch!

