Lessons learned from Record Rack

Record Rack official logo

Energy and persistence conquers all things.

Benjamin Franklin

Tomorrow, October 26, 2026, makes it exactly one year since me and my co-founder decided to start up Record Rack again. So far we've onboarded 5 shops all from the same business owner. It may sound small, but it wasn't easy at all.

Here are a couple random lessons I've learned from working on it.

You are not the user.

Scenario 1 โ€” There was a feature we thought our users would like: the ability to record a phone number for each customer per transaction. We added the feature.

We found out they only used it because it was a required field and even when the did, they would place a bunch of zeros in the <input> field. We took it out to reduce friction.1

Scenario 2 โ€” We added a suspend transaction feature that we didn't know anyone wanted. We put the feature out there. It is one of our most used features now.

You can't always predict the user. But you can test your assumptions.

Leverage in business is everything.

Don't start with flyers. Don't start with ads. Start with the three most powerful leverages:

  • The leverage of skill: What am I good at?
  • The leverage of network: Who do I know?
  • The leverage of location: Who are the people and what is going on around me?

These three leverages would put you lightyears ahead of the competition.

Only put table-related elements in the table element.

Failure to do so would make the browser fling your contents out disrespectfully.

Using no framework makes you the architect.

Framework is architecture that is thought out for you. And also assumed to work in your specific situation.

When you go into a problem without a framework, you get to tackle real problems head-on and choose the best solutions for your case. Sometimes it's not the best solution but you have to make choices to discover the wrong ones. I believe you learn faster this way without having to learn what "hydration" means on the web (and no, it's not about water ๐Ÿ˜‘).

Marketing is all about trust.

We almost hired a lady that claims she could get us more clients for our software. She said she'll make the flyers, the ads, the T-shirts, the YouTube videos etc. I immediately knew she wasn't the best marketer.

The best marketers leverage trust. They look at their friend group or the people they know the most to connect them with people like us.

The relationships matter, not the tools.

It's hard doing a 5-to-9. But nobody cares, work harder.

I find it hard to keep at this. I work a 9-to-5 and have other things that I have on my plate. I don't even get to write as I once did. But I have to suck it up and understand that sacrifices have to be made to reach your goals.

This being my second time working with my co-founder on this project, I want to do my best and knock it out the park! No time to be on the fence right now.

HTML web components are the bomb!

The first person I heard speak of this was Chris Ferdinandi. Then I saw it on Jim Nielson's blog, and later on Adactio. I had to try it for myself.

I dipped my toes in the water with it, using it here and there. Now, I want to use it everywhere! It serves my purpose so well, and I understand the reasoning behind it. This style of writing web components hasn't failed me yet.

Solving the wrong problem would kill your SaaS faster than any AI could.

Don't worry about AI stealing your idea. Focus on the clients; the people willing to pay for a product or service you have to offer.

AI is a good slave but horrible master.

I use AI for rubberducking and coming up with mockup ideas for the UI. I never blindly follow the AI's direction. I constantly audit, constantly criticize, trying to figure out what's best for my specific situation.

It works for me best this way.2

The web platform is advancing quickly, and I love it!

CSS nesting. Scroll-driven animations. Invoker commands. New navigation API. <details> element for collapsible information. And the list goes on.

The web has been moving at a blazingly fast speed, and it's hard to keep up. I'm glad I have a lot to keep myself preoccupied with before I run out of things to learn about the web.3

Automated testing saves you sleepless nights.

We don't do the best testing, but the little we do goes a long way. There are a bunch of end-to-end tests we need to do, as most of our tests focus on the database and the data transferred over the network.

Having nearly all your tests automated (especially end-to-end tests) would really give us confidence in making changes to the current code base and not having things break in production the next morning when users go use the app. (Not like I'm talking from experience or anything ๐Ÿ˜).

Abstaining from frameworks would make you less susceptible to attacks.

The amount of JS framework vulnerabilities that have been coming out recently have been outstanding. And bugs like PHP2Shell prove that even the language itself can expose you to threats.

However, the occurrence of bugs like PHP2Shell are few and far between. Keeping the tools we use light have seemed to work wonders for us.

Lightweight equals fast on the web.

At the end of the day, the client needs to download a response from the server. That payload determines the speed of your application because you literally pay for each byte transferred, and each byte could potentially slow down the user experience.

We understand this well at Record Rack. We try to focus on keeping the bloat and the noise out and only sending what is needed to the browser. Because of this, most of our pages load pretty quickly, without the use of an edge server or even loading screens for that matter.4

Respond to pressing feature requests quickly.

Priority is what you would always be battling when it comes to business. Make sure you listen to your clients complaints and try to work on easy wins when you can. Remember the concept of leverage; a little effort moves a much larger load!

There will be bugs.

You can't prevent bugs completely. And you don't really have to. Just make sure that the bugs don't affect the productivity of the client. If they do, that should be your top priority. If they don't, push them lower on the priority list.

User experience is no joke.

I constantly have to ask myself, "Why does this design work?" Knowing this information makes it easier for me to steal designs from others and apply it to mine.

The beautiful thing about business apps is that they don't have to be stylish. I could focus on making each component work and how to design web components from scratch for the application as opposed to animating gradients and battling with component library APIs.

But even with that, it ain't easy. But this stripped down way is much more informative than going the way focusing on beauty. Usability is just as important.

Learnability is also important. How quickly can the client learn how to perform actions and is it easy to remember? Do other pages in the UI behave similarly? So many questions!

The bottom line

These are just a few things I learned while working on Record Rack. I plan to talk more about this over the next coming weeks and my experience grows. Stay tuned ๐Ÿ˜‰!


  1. Fun fact: We ended up putting it back because the business owner wanted their staff to keep record of the phone numbers.ย โ†ฉ

  2. Ignore me please. Carry on with you AI agents and tokenmaxxing.ย โ†ฉ

  3. Thanks Kevin Powell (aka the King of CSS) for keeping me up-to-date, especially in CSS.ย โ†ฉ

  4. I plan to add loading screens soon, but I'm amazed how everything still works quickly without them. At least no complaints from our clients when we ask.ย โ†ฉ

Reply via email ๐Ÿ“จ