Building FoxyInvoice Chapter 2: Product Thinking
Explore the product thinking behind FoxyInvoice, built by SEOlith from internal accounting needs into a free invoicing tool with strategic pricing.

Stock photo for illustration only, not from the actual event
- Most software fails because developers build the wrong thing, not bad code.
- Start by solving your own real problems (scratch your own itch).
- A market with competitors proves demand; never compete with "like X but better".
- Three pricing tiers: free-forever, paid pro, and enterprise edition.
This open-source series written from a real production system dives into the product thinking behind FoxyInvoice, detailing why invoicing was chosen, the competitor map, and the pricing promise, with all chapters and diagrams hosted in SEOlith public repository. SEOlith, the small company behind the tool, originally needed its own books managed including invoicing, US sales tax across jurisdictions, and accountant-ready exports, running the enterprise version live at invoices.seolith.com.
Building software by scratching your own itch remains the oldest risk-reduction trick. As the first user, you never argue with specifications; instead, you fight your own immediate, honest, and free annoyance. You instantly know when the product is good enough because you rely on it every Monday. When the same codebase later targeted freelancers and small businesses at foxyinvoice.com, dogfooding persisted as every bug in the editor was encountered first-hand.
Dogfooding your own software bridges the gap between creators and end-users, ensuring that bugs and functional roadblocks are experienced by the development team from day one without waiting for external feedback loops.

Stock photo for illustration only, not from the actual event
An under-rated second advantage is that a real business functions as a requirements machine. Recurring invoices were not conceived in a brainstorm but originated from bills sent manually every month, while tax by jurisdiction stemmed from an amount miscalculated just once. Actual operational needs consistently generate superior requirements compared to abstract brainstorming sessions.
Internalizing the concept that competition proves the market is vital. A market devoid of competitors typically indicates zero demand. Invoicing attracts endless competitor waves because anyone with a side-hustle or consultancy must send invoices to collect payment, anchoring the universal and recurring need directly to financial transactions where people pay for reliability.
Prior to writing any code, a competitor map was drafted not to locate an empty quadrant, which did not exist, but because every competitor served as a paid research report indicating user values and resentments. The competitor map highlights lessons learned from QuickBooks, FreshBooks/Bonsai, Zoho Invoice, Wave, and Invoice Ninja.
The core strategy document defines FoxyInvoice in a single line: free-forever invoicing that gets you paid, from template to PDF to payment in minutes, backed by unmatched sales-tax depth. Three pricing tiers were established prior to launch and remain unchanged, comprising the free-forever tier, pro plan, and enterprise tier.
Source: Dev.to
Found something wrong in this article? Report an issue with this article
Comments
Leave a Comment