How we combine React, Next.js, GraphQL, Apollo, and Ruby on Rails
In two of my most popular blog posts - "Collaborative Single Player Mode" and "Feature Planning", I mentioned one of my coding principles: Write code as if you are
A year ago during the first COVID-19 lockdown, I started working on a small macOS menubar app. I used Electron, React and Redux and it is open source.
The way I structure React applications for the last couple of years. The focus is on decoupling and making it obvious what is used where.
There are two types of work in feature development. The domain is the business logic, and plumbing is the utilities we use to build the system.
How sometimes is better to split React component into two than adding more props.
I've been keeping a personal journal for about 7 years now. Four months ago, I decided to start a dedicated "Manager Journal" to keep track of my work at Product Hunt.
Last year the whole world was forced to switch to working from home.
How I structure, React components at Product Hunt. The following component a directory pattern and optimizing for scanability.
I have a journal entry for the last 7 years of my life. I combine journaling and goal setting. Here is my process.
The writing of unit and E2E tests is different. Because the unit tests verify one thing and E2E tests verify multiple things (some implicitly).
How, I think about refactoring and code changes sequencing.
The story of technical failure at Product Hunt. We used Slate for an HTML editor and tightly coupled its internal structure to our database.
How I scope and execute features. My main focus is on de-risking the project by proper task splitting and getting constant feedback.
The Product Hunt engineering team has always been remote and it's surprisingly small for all the features and products we are shipping. One of our "secret" weapon for this is what we call "collaborative single-player mode".
One of the barriers to entry for writing tests is the "ergonomics" of our tools. Requiring too much ceremony or boilerplate for every test will put off even the most enthusiastic
Rules I use at Product Hunt to deal and structure external services in Ruby.
I get a lot of questions about how I'm using React.Context. A lot of people overuse it, and their applications become messy. Here are my tips.
Custom tooling and conventions about testing resolver and mutation GraphQL ruby classes.
Here are some of my tips on how to develop soft skills and habits to help to learn and grow as a junior developer.
I'm often asked about the Product Hunt onboarding process for remote engineers. So here is the our onboarding process.
How to extract custom React hooks to refactor complicated logic in your components.
Due to COVID-19, many people are forced to work from home. I have been working remotely since 2006, here some of my tips and tricks.
This is one of my favorite refactorings. It helps to group logic, making code easier to read and easier to extend.
At the time of this writing, our codebase and related projects have 222 mutations. Here the guide on structuring GraphQL mutations.