3
17 Comments

Lately I’ve been working on a simple invoicing product

At first, it sounded easy

Create invoice
Add client
Add items
Generate PDF

But the more I build, the more I realize how many small details are involved

Things like formatting, edge cases, making it feel fast, keeping the UI simple without removing something important

It’s interesting because invoicing feels like a “solved problem” until you actually try to build it

Now I understand why even simple tools take time to get right

Curious if others have experienced this while building something that looked simple on the surface

on April 10, 2026
  1. 2

    So true, things that look simple from the outside usually have the most hidden edge cases. keeping it simple without breaking things is the real challenge

    1. 1

      yeah exactly, it’s the edge cases that really get you,
      you simplify one part and something else breaks or becomes unclear
      feels like a constant balance between keeping things simple and still making it work for all scenarios

      1. 1

        yeah exactly, it’s never as simple as it looks at first

  2. 2

    The "solved problem" trap is one of the most common reasons founders underestimate their own timelines. Every tool that looks simple from the outside has about 18 months of edge cases hidden inside it, and you only find them by actually building. I hit the same wall with my Chrome extension, something I thought was a 2-week feature turned into a 3-month rabbit hole the moment real users started hitting the cases I hadn't anticipated. What's been the most unexpected bit of complexity so far?

    1. 1

      that 2-week → 3-month shift is way too real 😅
      for me, the most unexpected part has been how many small things affect the final output,
      stuff like formatting across different cases, handling missing/partial data, and keeping it fast while generating PDFs,
      individually they seem small, but together they take way more time than expected

  3. 2

    Yeah, this hits hard — the ‘simple on the surface, complex in execution’ gap is very real. Invoice tools especially feel straightforward until you start handling all the tiny edge cases like formatting, speed, and keeping the UX clean without hiding important functionality.

    I’ve noticed the same thing — the hardest part is usually not adding features, but deciding what not to add so it still feels simple.

    Also sharing something I’m building in parallel — You have an idea. $19 puts it in a real competition. Winner gets a Tokyo trip (flights + hotel booked, minimum $500 guaranteed). Round just opened, so best odds right now: tokyolore.com

    1. 1

      yeah exactly, deciding what not to build is way harder than adding features

      I keep catching myself wanting to add “just one more thing” and then realizing it makes the flow heavier

      trying to stay disciplined and keep it simple, but it’s definitely not easy 😅

      1. 2

        Yeah, that’s the hardest part tbh — most products don’t fail because they lack features, they fail because they lose clarity.

        One thing that’s helped me is thinking in terms of “core loop protection” — if a feature doesn’t make the main action faster or clearer, it’s probably noise (even if it feels useful).

        Kinda ties into what you said about flow getting heavier.

        Btw, this is exactly the kind of problem I’ve been thinking about a lot lately — helping turn raw ideas into simpler, more structured outputs without adding friction. Happy to share what I’m seeing if that’s useful.

        1. 1

          “core loop protection” is a great way to put it

          I’ve been noticing the same — it’s easy to justify features individually, but together they slowly kill the main flow

          trying to constantly ask myself “does this make the main action faster or just add noise”

          1. 2

            Yeah makes sense — otherwise features just start slowing the core flow.

  4. 1

    How are you planning to handle support once users start coming in?

    I’m building something too and emails are already starting to get messy on my side.

    Curious if you’re using anything or just keeping it manual for now.

    1. 1

      good question, I’ve actually been thinking about this too

      for now I’m planning to keep it simple and handle things manually so I can really understand what users are struggling with

      feels like early on it’s more important to learn from conversations than optimize support

      will probably look into systems once things start getting messy 😅

      1. 1

        yeah that makes total sense — early on it’s more about learning from conversations than optimizing anything

        what I’ve seen is things feel manageable… until suddenly you start spending way more time just keeping up 😄

        what I’m building is more like a lightweight layer on top of your inbox — it summarizes, prioritizes and suggests replies so you don’t have to manually go through everything

        so you keep your current setup, just with a bit more clarity and less manual work

        1. 1

          yeah that makes sense honestly

          in the beginning it feels pretty manageable, but then suddenly you’re spending more time just keeping up with everything 😅

          been thinking a lot about how to make that part easier without adding more complexity

          1. 1

            yeah exactly , that’s the tricky balance

            most tools solve the “keeping up” part by adding more structure, but then you end up managing the tool itself

            what I’m trying to do is keep that same simple workflow, just make it easier to see what matters without adding another layer

            kind of like staying in your inbox, but with a bit more clarity on what’s actually going on

            happy to show you how it works if you’re curious

            1. 1

              that’s the tricky part
              tools end up becoming another thing to manage
              curious how you’re handling that without adding more friction

              1. 1

                yeah that’s exactly what I was trying to avoid

                the idea isn’t to introduce a new system you have to manage , it’s more like something that sits on top of what you already use

                so you’re not changing your workflow, just getting a bit more clarity from the conversations you already have

                if it feels like “another tool”, then it’s probably doing the wrong thing

                happy to show you how it actually works in practice if you’re curious

Trending on Indie Hackers
I shipped a productivity SaaS in 30 days as a solo dev — here's what AI actually changed (and what it didn't) User Avatar 296 comments I built a tool that shows what a contract could cost you before signing User Avatar 107 comments The coordination tax: six years watching a one-day feature take four months User Avatar 69 comments My users are making my product better without knowing it. Here's how I designed that. User Avatar 55 comments 85% of visitors leave our pricing page without buying. sharing our raw funnel data User Avatar 51 comments I Found Blue Ocean in the Most Crowded Market on the Internet User Avatar 39 comments