Build Apps Like a Pro

Achieve App Builder Certification Become an App Builder Pro

Preparing for Your First AppExchange App

Sometime in February, I decided to become an AppExchange developer. 3 months later, I had 3 apps on the AppExchange. Over 30 orgs trust these apps, and many gave 5-star reviews. What started as a challenge to myself became my career.

Achieving that speed and quality are not due to me being hard working or a particularly good coder, but because of the homework I did: define guidelines and study before building.

Define Guidelines

Before I started to work on my first app, I defined guidelines. The guidelines help me to stay focused on the right things.

Build Quickly

Being in and around start-ups the last 10 years taught me one thing: build and release quickly. It’s easy to lose motivation and focus if the project drags on for too long. Furthermore, it's only after release that you get real user feedback.

A long development phase leads to an abandoned project with a lack of user feedback.

My goal for my first app was to have it on the AppExchange within 4 weeks from the start of development.

I wanted to achieve that in two ways: having a simple app and learning everything necessary before I start (and not as I go).

High Quality

The AppExchange is full of valuable, popular but low-quality apps. A friend told me the story of a developer who received so many bug reports that he couldn’t handle them in a timely fashion. This led to a slur of negative reviews, loss of motivation by the developer, and ultimately the end of their AppExchange business.

Low quality code leads to bugs, bad reviews, and ultimately a failed app.

I learned everything I need to know about high-quality development before I started. I learned a lot about high-quality code on Trailhead, Codeacademy, and Focus on Force courses. My focus was on APEX, JavaScript, and LWC.

Easily Adaptable

The first version of my app will not be the last. I try to keep my apps simple, but my research told me there will be changes and additional features requested by users. My years of experience as a Technical Product Owner taught me the hard way: a badly structured codebase makes a solution painful to adopt.

Slow innovation speed can be caused by a bad codebase.

I planned out my app in full detail before the first line of code was written. My solution changed along the way, but I always kept the solution design up to date, which doubled as documentation for the AppExchange security review.

Great UI & UX (Fast & Responsive)

My experience as a product manager taught me that the best functionality is only as good as how the user experiences it. We all know apps that have a great idea at their heart but can’t shine because of bad UI & UX. This can ultimately overshadow the best app and lead to low demand.

A negative user experience will make the app look bad.

Develop in LWC as much as possible while following modern web standards and Salesforce best practices. I learned that on Trailhead and Codeacademy.

Follow Best Practices

We all know there’s a best practice for doing most things. Often enough, random StackExchange solutions do not always follow best practice. That can lead to a hodgepodge of a codebase. 

A messy codebase is hard to maintain.

I finished the LWC and Apex Superbadge before I started coding. Furthermore, I have a code review done by external experts. Big thanks to Tim and Neha.

Study Before You Build

I knew, my guidelines could only be followed if I study before I build. It was very tempting to start coding immediately, but that would only lead to issues down the line.

Best practices, good code quality, great UI & UX, and high speed can be achieved the easiest if I’m well-trained.

  • Codeacademy

I knew my app will be heavily based on JavaScript. I did the JavaScript basics course 3 years ago, but that was not sufficient. So much changed in the meantime. I wanted to follow the current best practices. That’s why I did the JavaScript basic course a second time. It was worth it!

Codeacademy: Learn JavaScript Course 

  • Trailhead

Salesforce has our back--that’s something we Salesforce professionals always can be sure of! That made Trailhead my first destination. The list of necessary Trailmixes and Superbadges looked daunting at first, but there was quite some overlap. It took me a few weeks, almost full-time, to get through all the Trails and Superbadges, but that was a well-spent investment down the line! Below you find a list of Superbadges I found particularly helpful.

  • Focus on Force

While Trailhead is great for foundation, Focus on Force is useful for deep knowledge. Focus on Force's content is not groundbreakingly different, but it is explained in a different, often better, way than Salesforce does. Going deep in two areas, Platform Developer 2 and JavaScript Developer 1, Focus on Force gave me the confidence to get started. 

Additional Tips

I want to share a few other tips I try to follow on my journey. This is not an exhaustive list, but maybe something for future posts.

Create Templates

Good developers taught me that they are only as good as the templates they use. Throughout my preparation, I created templates for different things I might need in the future. Especially the Superbadges are an amazing source of ready-to-use templates.

Notes & Cheatsheets

During my CTA preparation, I learned the value of notes and cheatsheets. While preparing, I created a few cheatsheets. My SFDX commands cheatsheet is a lifesaver, I just can’t remember them.

Get Feedback

I show my solution design and code as often as possible to random people. That way I can incorporate feedback early on. This also includes beta testing. I try to get random people to test, friends I found are too nice.

Research & Ideas

I perform user and market research as much as possible. For days on end, I do nothing but talk to potential customers, check out other apps, or talk to other AppExchange ISVs. Each time, I get another piece of knowledge which hopefully leads to success.

The research creates ideas for my apps. Every conversation, forum post, IdeaExchange entry, and comment on another AppExchange app can lead to an app idea. I collect all ideas in a huge pile and use the feedback of others to decide what to build next.

Marketing, Marketing, Marketing

Not even the best product is sold without any marketing. Salesforce itself is a marketing company with a tech team attached to it. If nobody knows about your product, nobody will use it, no matter how good you are. Be prepared to invest a lot of effort into marketing.

I’m currently still figuring out the marketing part of AppExchange. Once I’ve gained more experience, I’ll share it in a follow-up post.

Admin’s Helper - Apps for Happy Users

Hello! I’m Johann, a Salesforce Architect, Developer and Admin from Berlin.

Despite my curiosity about everything code and my training as a CTA, I stayed an Admin at heart.

And nothing makes the Admin in me happier than happy Users. Oftentimes, the small things make the biggest difference to Users. Admin's Helper strives to provide simple but powerful apps to Administrators.

Each app is focused on one requirement, is affordable, and can be installed in less than 30 minutes.

Product Quick Select

Sell the right products faster

  • Pre-define up to 5 products on an Opportunity
  • Fully customizable by Admins. No coding required.

Why you should make products quick to add

  • Promote products
  • Allow fast product selection
  • Have more accurate Opportunities

Knowledge Article PDF – Free Your Knowledge

Supercharge your knowledge base

  • Export any Knowledge Article as PDF with the click of a button
  • Salesforce Lightning and Experience Cloud (Community)

Layout customizations

  • Select any Field for the PDF via Field Set
  • Define different Field Sets for different Record Types

Why you should add a PDF download button

  • Enable customers or employees to download PDF versions from  an Experience Cloud site
  • Offline access to Knowledge Articles for field service
  • Share Articles easily via email

Fabulous Confetti

Make your org fabulous

  • Add confetti to any text, checkbox, or picklist field on any object
  • 6 styles of confetti and 9 types of music
  • Fully customizable via Admin Pane

Why you should add confetti to your org

  • Make Salesforce fun and increase adoption
  • Celebrate finished Tasks or closed Cases
  • Encourage clean data

Disclaimer:
I’m still at the beginning of my Journey to AppExchange. It has yet to be proven that my business model works. The turnover is still very low since most of my early customers got the app for free. Take everything I write with a grain of salt. Furthermore, everything is geared towards my situation, experience, goals, and so forth. Your experience, situation, and goals might differ.

I'm Johann, a Berlin Admin, Developer, Architect, and entrepreneur. I use all my knowledge and experience to craft small but powerful apps at Admin's Helper.


3 apps in 3 months: What sounds like a crazy idea was possible because I did my homework before I started. The homework I did was ‘defining guidelines’ and ‘study before I build’. The guidelines helped me to focus on the right things, while ‘study before I build’ made sure I was fast and good with my code.