Hacker News new | past | comments | ask | show | jobs | submit login
Launch HN: FeaturePeek (YC S19) – Front-end review for the whole team
90 points by andrethegiant 6 months ago | hide | past | web | favorite | 42 comments
Hi HN! I'm Jason, one of the co-founders of FeaturePeek (https://featurepeek.com).

FeaturePeek lets front-end developers get UI/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.

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'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.

If you're familiar with automatic feature environments for pull requests — like what Heroku or Netlify offer — it's like that, but 1) we'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.

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 "This isn't what I meant", 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.

Eric has led Build & 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.

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/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/staging environments can be an integration war zone, especially for larger teams. Another developer'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/UX review of individual features should occur in isolation.

Here'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't need to install any run-time dependencies to take advantage of them.

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.

We'd love to hear your feedback, and answer any questions you may have :-)

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!

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.

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

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?

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.

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.

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/

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

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

Hmm :(

What about loading the commenting and review part onto our own environment?

Btw, did you guys talk to dockup? (another YC company I believe)

The second I saw this, I thought of Jane Wong (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!

> 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.

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?

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.

So, internal testing process has nothing to do with external phased releases? Ok, FeaturePeek crew can decide.

Thanks for the connection!

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.

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.

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


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.

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

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...

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?

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

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/

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.

Yep, Gitlab integration is on our roadmap

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.

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...

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

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


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

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.

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?

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

Sure – think of it as implementation feedback rather than design feedback. You use Figma to collaborate on mocked up designs – what do you use to verify that the implementation matches the designed spec?

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

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.

I can't seem to understand the need for it

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

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.

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

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!

Related: I couldn’t close the video modal on iOS.

Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact