DEV Community

Michael Jordan
Michael Jordan

Posted on

It Started with Fonts: The Nearly Three-Month Road to Selling My Software

I've been writing code of one sort or another, as a hobbyist or professionally, for over half a century.

Some of my projects have involved years of work. The one I'm now trying to take to market started with fonts.

Fonts are one of those things we take for granted every day. My studies of them eventually grew into a .NET NuGet package anyone can download and use: Lxman.PdfLibrary.

I started it well before AI coding assistants were a thing. Towards the end, though, I certainly used AI to help me through the maze of transforms, matrix manipulation, and other technicalities involved in faithful document reproduction.

I've always had it in the back of my mind to release some of my work for others to use. After developing the library, I decided to build a closed-source product based on it. That became Pellucid, a PDF editor, which I've recently set up on my store.

I naively thought bringing a product to market meant building something good, putting together a little website, adding a way to take payments, and going to market.

This is the story of what that actually involved.

July: making it a company

On July 10, 2026, I submitted the paperwork to form an LLC in North Carolina. Pellucid launched on October 6.

Nearly three months between those two events, on top of the years of development that came before them.

That wasn't three months spent waiting for the state, or the bank, or a payment provider. There was development and testing going on too. But there was also a collection of business tasks that I'd badly underestimated, and several points where progress depended on someone else's approval.

The state formally filed the company on July 22, twelve days after I submitted the paperwork. By August 2, I had the stamped articles in my records.

Even here, there was a distinction to get right. The day I submitted the application wasn't the day the company legally came into existence. I'd initially treated the submission date as the formation date. The stamped paperwork corrected that.

Meanwhile, I was sorting out the product name. I went through seven candidates before settling on Pellucid. I'd already bought a domain for an earlier choice, then dropped that name after looking more closely at potential trademark conflicts.

These were preliminary checks, not a guarantee that a name was legally clear. They were enough to make me reconsider the first choice.

So there I was, dealing with formation dates, an operating agreement, domain names, and trademark research for something that had started with fonts.

August: a tax ID and a business checking account

On August 10, I obtained the company's EIN through the IRS online system and opened a business checking account.

Both happened that day. The bank approved the application the same day I applied, so I can't blame the bank for dragging that part out.

But a month had already passed since I'd submitted the state paperwork. The business now had its formation documents, a federal tax ID, and somewhere to keep its money separate from mine.

It also needed books. There were expenses to record, personal money put into the business to account for, and records to keep. Buying something for a project and recording it properly as a business transaction are separate tasks.

None of this added a feature to the PDF editor. It was still work that came with selling it.

There was another identity to sort out

Distributing a desktop application under a company name brought another set of requirements.

For Apple's organization enrollment, I needed a D-U-N-S number. On August 21, I located an existing record for the company. I didn't have to request a new one, but it was another piece of business identity to find and check.

Having an individual developer account and having an account under the company weren't the same thing. Later, on September 24, I requested the conversion of my personal Apple developer account to the company.

At that point, the conversion was in progress with no ETA. It was confirmed complete on September 29.

That settled the account conversion. Certificates, signing, notarization, and testing the actual customer packages were still separate work. An approved company account didn't turn a local build into a finished Mac release by itself.

September: adding a way to take payments

This was the part I'd mentally reduced to a small item on the list.

On September 21, I set up the company domain, business email, and company website. I also created the Lemon Squeezy store and completed its onboarding application.

Even the email setup had its own details: DNS records, email authentication, and checking that messages actually arrived and went out under the right address.

I chose Lemon Squeezy as the merchant of record. It handles customer payments and sales tax, then remits payouts to the business. That takes a substantial piece of the selling process off my hands. It doesn't remove the onboarding process.

After submitting the application, the store remained in test mode while it was reviewed.

I could work on the integration and test purchases, activation, and refunds. Being able to run those tests didn't mean I was approved to take real payments.

Lemon Squeezy requested a demonstration and more information. I submitted those on September 25. By September 28, merchant approval was confirmed.

A week from onboarding to confirmed approval isn't an extraordinary delay on its own. By then, though, it was late September, and I'd started the company paperwork in July. Each individual step looks fairly small when you describe it separately. Together they occupied a much larger stretch of the calendar than I'd pictured.

Approval wasn't the end of the list

Once the merchant account was approved, there was still a live product to configure and a customer purchase to fulfill.

A payment had to result in a usable license. A customer had to receive the right download, install it, and activate it. Refunds had to behave properly. There needed to be a way to deal with someone replacing a computer or losing access to a device.

There were decisions about refund terms, license coverage, and support. Those decisions then had to agree with what the website said and what the software actually did.

Test mode was useful, but a successful test purchase wasn't the same as verifying the live customer path. The packages being delivered needed to be the ones that had actually been checked, signed where appropriate, and accepted for release.

This is where the business work came back around to software engineering. There was more code and testing, but now it was about the machinery around the application as well as the application itself.

October: finally available

Pellucid launched on October 6 for Windows, macOS, and Linux.

From July 10 to October 6 was 88 days.

That number describes my journey, not a required waiting period for anyone else's business. Some tasks could overlap. Some happened quickly. Some required review. Software work continued alongside all of it.

What I'd underestimated was the total. Form the company. Check the name. Get the tax ID. Open the account. Keep the books. Establish the business email and website. Apply to the payment provider. Supply the demonstration. Sort out the developer account. Sign the releases. Verify that a purchase actually gives the customer something they can use.

I'd thought about most of those things, if at all, as small jobs to take care of once the software was ready.

They took nearly three months of calendar time to come together.

What I'd tell another developer

If you're planning to sell something you've built, investigate the business and distribution requirements while you're still developing it. Find out which accounts require a legal entity, what evidence the providers want, and which steps have a review process.

Keep the dates and confirmations. In my case, even the formation date needed correcting once the stamped document arrived.

And give the work between approvals a place in your schedule. Getting approved to accept payments still leaves you responsible for delivering the software and supporting the person who bought it.

After more than half a century of writing code, I still had plenty to learn about getting my own product to market.

It started with fonts. I hadn't expected the journey to include quite so much paperwork.


I'm the developer of Pellucid and the open-source .NET library Lxman.PdfLibrary that it builds on.

Top comments (0)