Here's a link to the product for the unaware: conncord.com
The Why
I've been working with anitya.space. It's a 3D VR/XR platform that is focused on making the creation of immersive experiences easy and accessible. This makes the platform a perfect fit for use in education and corporate training (to name a couple of examples).
Now anitya has a Discord server that the team uses for internal communication but also to provide support to their users, announce events, product updates, and other cool stuff. anitya also uses HubSpot as their CRM for marketing and sales. In fact, that is how we first started working together—I’m an expert at the platform, and they needed help understand how to make the best use of the (expensive) tool.
The trouble is, there was no way for the team to know who they are talking to on their Discord server, or, how many of their platform users are in their community and who they are. It makes tracking support tickets a challenge when you don’t know who is who across three different systems (Discord, HubSpot and their app).
So in the true spirit of a RevOps nerd, I figured out a way to do it. To match the Discord IDs of server members with the Contact IDs in HubSpot, which then relates to the userID on the app database. I had it all figured out in my head.
Now all I had to do was to actually make it happen.
The How
Now, I’m fairly new to web dev. In fact, I only started learning this stuff in March (because I decided to build FirstBidr). So I had some knowledge of how to make it happen. But most of it was foggy to me.
At this stage I knew:
- I was going to use Flask for backend because it is relatively easy to learn and use
- I should probably use NextJs app router for front end because it’s the new hot shit and everyone is talking about it, which means I’ll probably have access to good support when I have noob questions (turned out to be a good decision)
- I knew I was going to Dockerize my application to make it easy to deploy and update over time.
The bad part is: I didn’t know how to actually do any of this.
The good part is: I can free up my time as needed because I freelance (and I’m my own boss dammit!)
The MVP
So I freed up a lot of my time. And got to work on Sept 30.
On Oct 2, I had the MVP ready, with auth, database, and Stripe ready. On Oct 4, I onboarded anitya with a generous trial. At this stage my priority was:
- Get user feedback
- Add necessary features
- Squash bugs found by my one and only user
And bugs there were. The most annoying one was this one because by god, did I find HubSpot developer documentation confusing and counter intuitive.
Luckily, with the help of a good samaritan, I was able to implement a fix. (the “fix” was to cache responses to the 100s of requests HubSpot hammers my server with whenever someone is typing in the “Send Message” field. HubSpot does not debounce the input so poor sods like me have to handle the surge in requests every time)
The Initial Promotion
I was happy I was able to solve a problem for anitya, but I obviously wasn’t going to stop there. I found this thread on HubSpot’s forum that was looking for a tool that would do exactly that Conncord does—bingo! I made a comment there and a few days later I had my second user 🎉
Promotion 2.0
I made a few posts on reddit. That brought my website some traffic, but no installs.
I had to get the app on HubSpot’s marketplace ASAP.
Marketplace Listing Goes Live
On November 7 2024 at 6:22 PM UTC, my app was published on the market place. Amazing—I had finally put something out for the world to use, something I had built with my own hands.
Currently, this listing is the biggest source of traffic for my app. The 7 days its been up, it generated ~7 installs, which is fantastic! Sure, not all of them are paying users, but it still makes me happy that so many people are finding something I built useful. To the point where some ar willing to subscribe to it.
[Last updated on Nov 14. I’ll update this as I have more things to share, and as time allows]