DEV Community

Cover image for Building FakerFill wasn't easy (and that's exactly why I did it)
jundymek
jundymek

Posted on • Edited on

Building FakerFill wasn't easy (and that's exactly why I did it)

FakerFill is not a simple project — and that was the point

A while ago I introduced FakerFill — a browser extension that helps developers and QA engineers test web forms faster.

What I didn't fully realize at the beginning was how big of a challenge this project would become.

I work mostly as a frontend developer, but this time I intentionally decided to build a complete, real product end to end — not a demo, not a side experiment.

I wanted to step outside my comfort zone and learn by doing something real.

Now, about two months later, I want to share what went well, what didn't, and what I learned along the way.

Before that, a few numbers for context:

  • 500+ users
  • a few PRO subscriptions
  • 8 positive reviews in the Chrome Web Store
  • many new features shipped
  • hundreds of hours spent to reach the current state

What is FakerFill? (quick recap)

For those who haven't seen it before:

FakerFill is a browser extension (available for Chrome, Edge and Firefox) that lets you test web forms without manually typing data.

It automatically fills form fields with realistic fake data, matched to the context of each field.

With one click, an entire form is filled.

You can also create custom templates, where:

  • some fields are skipped,
  • some use fixed values,
  • others are configured to match specific rules (format, length, seed, locale, etc.).

This saves a huge amount of time for developers and testers.

A very practical example:

When I was integrating FakerFill with Stripe, I didn't have to enter test card numbers and personal data dozens of times.

Everything happened with one click, using a predefined template.

Simple. Pleasant. Effective.


click the extension → click “Fill form” → form instantly filled


The part nobody talks about: what was actually hard

From the outside, a browser extension like this can look "simple".

In reality, there were many things I underestimated.

Some examples:

  • Form detection in real-world apps (React, Vue, dynamic forms, Shadow DOM)
  • Handling controlled inputs correctly
  • Making the UI work without breaking the page styles
  • Designing something flexible enough for many use cases, but still usable
  • Balancing "power" vs "simplicity" in configuration

Most of the hard work wasn't about writing code — it was about decisions:

  • What not to build (yet)
  • What must be configurable
  • What should "just work" without setup

Custom templates


Templates changed everything

The biggest leap forward was introducing templates.

Instead of filling everything randomly every time, users can:

  • analyze a form once,
  • configure fields exactly how they want,
  • save it as a reusable template.

From that moment, FakerFill stopped being "just a random data filler" and became a real developer tool.

This also changed how I use it.

Once I created a Stripe checkout template, I could test the entire payment flow again and again — without touching the keyboard.


Stripe template


What went right

Looking back, a few things clearly worked:

  • Building for myself first (I use FakerFill daily)
  • Shipping early and iterating based on real usage
  • Focusing on real developer workflows, not marketing features
  • Treating this as a product, not a toy project

User feedback — even a small amount — helped validate that the problem is real.


What I would do differently

I would ship earlier and make fewer things configurable at the beginning.

Trying to anticipate every edge case before real usage slowed me down more than the technical complexity itself.

But honestly — making mistakes was part of the value.


Why I'm sharing this

I'm writing this because I know many developers are:

  • building side projects,
  • thinking about launching tools,
  • or struggling to turn "something cool" into a real product.

FakerFill taught me more than any tutorial could — about trade-offs, ownership, and long-term thinking.


What's next?

There's still a lot to do — but this time the direction is much clearer.

The next steps are driven mostly by real user feedback, not assumptions:

  • features requested directly by users after real-world usage,
  • UX refinements based on where people actually struggle,
  • small but important improvements that make the extension feel faster and more predictable.

Performance is already in a good place, so the focus now is less on raw speed and more on polish, clarity, and usability at scale.


Final question

If you're building (or thinking about building) a developer tool:

What was the hardest part for you — the code, the product decisions, or getting real users?

I'd love to hear your experience in the comments.

Top comments (1)

Collapse
 
jundymek profile image
jundymek

If anyone is curious what I'm building, FakerFill is available here:
fakerfill.com