First startup has launched: it allows you to easily pull numbers from various APIs so you can keep track of your business.
You can either share those numbers publicly like this:
https://www.numbersq.com/agraddy
Or you can track numbers privately.
Let me know what you think!
Love seeing founders ship and share real results instead of waiting for everything to be perfect. Launching creates feedback, reveals assumptions, and accelerates learning in ways that planning alone never can. Foundersbar believes consistent shipping and customer feedback are some of the strongest drivers of startup progress.
Be sure to post updates on your Twitter! Using buildinpublic hashtag is pretty effective!
Thanks, yeah I've been doing that!
https://twitter.com/agraddy/status/1555440572684460035
I'll definitely follow. Do you have plans to make it so the dashboard you create is shareable with credentials? I'd like to be able to create a standalone metrics dashboard that I can share company-wide, and anyone can log in (to view, not edit) with their Google account so long as it's in the company domain.
I'm not positive if this is what you are asking but I already offer what I'm calling "Private Viewer" accounts. They are accounts that you can invite/give access to be able to view private numbers but they can't change numbers.
I don't have the "Invite User" functionality built out right now so to add a user right now, you have to contact me using the support section and I have to manually add the requested viewer(s) to your account. I've set the private viewer price at $5 / per user / month:
https://www.numbersq.com/pricing
I'm still exploring and investigating pricing so if you have any thoughts or feedback, definitely let me know.
If you are asking for something else that I'm misunderstanding, let me know.
You got it. That's exactly what I was asking about. Excited to check it out. Just signed up.
Great! This is very much a work in progress so if you have any problems, need a service added, or anything else, please don't hesitate to reach out.
found an issue for github notification connection https://imgur.com/a/6TMYlAD
also why it says #1 of 12
Thanks so much for pointing this out! I believe it should now be fixed. There were a couple different issues that cropped up when I was doing the initial move from dev to production. If you see any other problems, please don't hesitate to let me know.
The "#1 of 12" is because I'm doing the 12 Startups in 12 Months (Open Source Edition) challenge. I'm trying to launch 1 startup a month and this was the first launch!
Good luck, Anthony!
Thanks for all the work you did modifying your ScreenshotOne - Screenshot API Tool for me!
Nice! Keep going! This project remembers me the very first version of DucksBoard that was adquired by NewRelic!
Oh wow, that's interesting. I wasn't familiar with Ducksboard (or at least forgot about them - their wood panel dashboard looks familiar). I found this old video from their old home page:
http://vimeo.com/32257629
I have a theory that there is a goldmine of company ideas available if you go back through old announcements of companies that were acquired and then later shut down.
I just checked out that video too, the look of it reminds me of how Padlet used to look, too.
That video definitely brought back some memories of older design styles!
Totally agree on that! I also think that hype on tech / product is cyclic in time.
Example:
Example on your case:
Well, probably you'll need to put more effort on improve the UI, but still I Love your initiative!
Yeah, I agree. I think there are cycles with just about everything in life, from fashion to seasons, everything seems to cycle. I think being on the front end of a cycle in any industry is a powerful way to move ahead.
Nice App :)
Thanks a lot!
Like your challenge :) Nice app, keep going!
Thanks, I appreciate it!
This looks really nice! Considering the amount of time it took, it's freaking nice. The numbers page looks clean.
I wonder how you were able to implement those many data providers in such a short time.
Have you used any library? or do you already have some code where those data providers' APIs were implemented?
Thanks, to be completely transparent, I bought the domain two years ago and worked out all the marketing pages back then. I just never got around to building the app. So some of the marketing pages (home page and pricing page) were built a long time ago, but the app itself was built in the last month and a half.
The design is based on the really great, open source admin panel: https://tabler.io/ (I didn't use any of the code but wrote my own custom CSS).
NumbersQ currently has 10 active integrations (I'm defining an integration as being able to pull at least one number - it is pretty easy to add more numbers as needed):
It also has the ability to pull custom API endpoints.
The list on the homepage is basically what is possible but not all of those have been implemented. If someone requests an integration, I'll get it added.
I built it using custom code, I'm not using any API libraries (I'm hoping to release the open source code in about a week and a half). I've been a full time freelance developer for 17+ years and a lot of my work has involved integrating with APIs.
If an API provides curl examples, then it is pretty easy for me to convert that to working code (I usually find working with API libraries to be more frustrating than just writing the code myself).
Wow impressive @agraddy
Sometimes, I forget which dashboard to login to pull the data I need.
And once you're logged in, you must do a ritual before you find that weird link to the data 😭.
Congrats on the launch!
Thanks, yeah it is issues like what you described that I'm hoping to solve. I've heard that some people have their assistants lookup this type of information for them each day.
Exciting idea, @agraddy!
Do you bother giving some insights into the API integrations? I suppose there exist so many API endpoints for all of these services, how can you possibly be prepared for any possible number field and how would the user specify the desired field? Also given that APIs change over time, I can't wrap my head around how you would build this.
Wouldn't it be more sensible to let the user define arbitrary API endpoint URLs and the path to the number field inside the response?
Also, how do you deal with user authentication for protected APIs?
Great questions!
The way I have it set up is that users can pick from predefined numbers from different services. If they want other numbers then I have directions to either open a support request if the number they want is custom to their systems or if it is a public number, I have a Feature Requests section on the site where users can vote for new numbers:
https://www.numbersq.com/requests
I also have a "Custom" option where they can enter a URL and choose the value they want retrieved. Since I just launched, a lot of this will probably be further refined over time. The reason I don't make this the main option is because I want to target non-technical users who wouldn't know how to enter an endpoint (or even knows what an API endpoint is).
As for API changing, there is usually a bit of time during the transitions so the old API endpoints should work for quite a while. Since I'm only pulling very specific, predefined numbers, I don't think it will be too hard to keep up with - if a number stops working, I'm sure I'll have customers telling me :-)
User authentication definitely took a bit of work. Some services have open APIs so those were the easy ones. There are usually two other types of authentication: api key based authentication and OAuth authentication. The nice thing is that both of those tend to be pretty standard across the industry.
Depending on the type of API the user wants to connect with, the first time they select a service, I'll either ask them for the API key for the specific service or if it is OAuth based, have the link to begin the OAuth process. All of the connection information is then stored encrypted in the database.
I've been a freelance developer for 17+ years and a lot of my work has involved integrating various APIs so it is something that I've worked with for a while now.
Thanks for answering!
Awesome! Did you implement that yourself? I've seen some third-party tools around to gather feature requests, Ignition for instance.
Understandable! I hope your users will appreciate it because, as so often, this approach is related to much more work.
I see! I can imagine that also just investigating the correct way to authenticate for every API takes work due to lack of documentation. It is conceivable that some APIs are not even intended to be used by other services.
Yeah, I built the Feature Requests section myself. It is really basic right now. The database structure is pretty easy - table for requests, table for comments, and a table for votes so not a whole lot of additional work went into that section.
The entire site is custom code and I'm not pulling in any external libraries. Part of the motivation for this is so that when I open source the code it is fully self-contained and not requiring users to pull in a lot of other dependencies. I've also found that the fewer dependencies you have, the easier it is to manage over the long run (meaning years from now, I'm not going to have to be worrying about a deprecated third party library).
For APIs, yeah, the lack of documentation has been frustrating at times but one thing that really helps is to search for code on Github to see how other people are connecting to APIs. That will often point in the right direction on how to fix whatever problem it is that I'm working on.
I just wanted to ask why this is your strategy but could read it below. This indeed is inspiring and I wish all the best going that route!
Good tip! I'll remember that.
Thanks, I appreciate it!
Yeah, anytime I get stuck on a coding issue, it can help to see how someone else solved the problem. I wish all API documentation provided a working end-to-end example but a lot of times you have to just kind of hack around and figure things out.
I agree!
Fun fact, there also exist documentations with samples but without proper explanation of the parameters. This GitHub azure-webapp action for instance is bloated with text and examples, still you must read parameters from between the lines.
Yeah, clean documentation and examples is a very important skill that I wish more companies that have an API invested in.
It seems that everything is getting more bloated over time instead of more streamlined. That is one of the reasons I'm really trying to push a development concept I'm calling TACE development.
I've seen your TACE methodology and already put it on my read list!
Nice app and also a nice challenge (the 12 startup one). You will definitely come out of this challenge a different person😁
Thanks! I'm definitely already seeing improved focus from 12 in 12. Before I would have a bunch of ideas but it would be hard to know which one I would want to focus on. This challenge forces me into action without wasting time debating which project to focus on - I don't have time to waste debating ideas anymore 😁
So good man, kudos for the willpower 🫡
Thanks, there have definitely been some long days and nights but I'm really happy with where things are at!
nice post
Thanks, I appreciate it!
Nice! I like the idea!
PD: Have seen some overlapping text in pricing section (https://www.numbersq.com/pricing)
Thanks for letting me know about the pricing page, it should now be fixed.
I had made a last minute change before pushing to production and didn't catch the overlapping issue. Thanks!
hahah a pleasure!
Keep working on it, hope it gives you the results you want ;)
wow ! how did you created so many integrations in one month?
It currently has 10 active integrations (I'm defining an integration as being able to pull at least one number - it is pretty easy to add more numbers as needed):
It also has the ability to pull custom API endpoints.
The list on the homepage is basically what is possible. If someone requests an integration, I'll get it added.
I've been a freelance developer for 17+ years and a lot of my work involves working with APIs so I've gotten used to how they work and how to build quickly.
I've got a command line tool created so that I can quickly create a new integrations whenever anyone asks.
I also have a "Feature Request" section where people can vote for new integrations:
https://www.numbersq.com/requests
Hopefully that answers your question but if not, let me know.
good to know thanks for the detailed answer.
That's really cool! I'm always jealous by people who can build API first products. It seems like these people are always one step ahead of the competition.
Thanks! Your vidon.ai product looks really cool!
API integrations aren't that hard once you've worked with them for a bit. I bet if you worked with them for a bit, it would be pretty easy for you too.
For my 12 startups in 12 months challenge, I'm also releasing all the code as open source. My plan is to release the code for NumbersQ on Github in about a week and a half so hopefully that can help others with building API first products too.
Hi Anthony,
I like this idea. I'd had a similar idea in the past which went into my backlog. In fact, it's my ruthlessly-filtered list of things which A) can generate money, B) fit my tech stack, and C) I can get an MVP up and running on two weeks.
So first: Damn you! shakes fist in your direction :-)
Secondly, can I ask why you'd release this open source? I can understand if this was an app which your clients would need to install on their infrastructure, and so you could open source it and then offer the hosting/support/custom development as your source of income.
But in this model, someone could take your code and undercut you because they operate from a cheaper part of the world.
Just curious. But good luck with it, seriously.
Andy
When I was first thinking about the idea (I originally came up with the idea/bought the domain over two years ago), I was really surprised there was nothing like this on the market (at least nothing I could find). Everything was way too complex when all I wanted was a number. I'm guessing this may have been on a lot of people's backlogs.
That being said, I have a feeling (at least I'm hoping) that this could be a really large market. I'm sure there is room for more than one! You should definitely build yours if you get a chance.
There are a number of reasons I'm going the open source route (hopefully this isn't too long).
I much prefer sharing to keeping strategies a secret. I think it helps others (I know I've been able to learn a tremendous amount from other people sharing their code). If I know I'm sharing everything in the open, it allows me to spend a lot less time thinking about "should I share this or not." I just default to sharing unless there is a really good reason to keep it private.
I've learned a lot from Plausible.io's marketing strategies and have realized that sharing your code increases your marketing channels. Someone who is searching for open source software may find my products and then decide they actually just want to pay me to host it. I use Plausible for some of my analytics and was originally planning to just host their open source code myself and then realized it would be easier to pay them to do it.
Along with these startups, I'm also developing a custom web framework. If all the startups fail to turn a profit, I can pivot to promoting my web framework and I'll have 12 different fully working examples of how to use the framework. I could then provide support and services around the framework I've built.
Lastly, I'm frustrated with the current direction of front end web development. I think many of the principles that were originally used to develop the web are being lost and new developers have no reference for a different style of web development. I'm promoting an approach I'm calling TACE and by building these projects as open source, I'm hoping that I can provide working examples of TACE development for others to see and help push the industry in a different direction:
https://www.agraddy.com/introducing-tace
So to sum it up, help others, marketing, web framework as a backup plan, and promote TACE.
I'm not too worried about being copied or undercut. It happens with closed source products all the time. Here is the founder ScrapingBee posting about getting mad about copycats:
https://twitter.com/PierreDeWulf/status/1550420464119549952
Instead of getting mad at copycats, I figured it is better to be known as the market leader and let my customers get mad :-)
Thanks Anthony - appreciate the response.
That all makes sense actually. I'd forgotten about plausible being open source.
Regarding TACE, I've recently moved from Vue SPAs as my go-to framework, to Laravel Livewire. It's much easier to get working, and the time to first interaction is so much quicker. It's interesting how things cycle round, isn't it?
Andy
Yeah, cycles are an interesting aspect of life. @CoolBurnX made a similar observation in another comment here.
Just about every industry has cycles (from fashion to investment strategies) and I think being on the front end of cycles can be a powerful way to move forward.
Yeah, things like Laravel Livewire, Phoenix Liveview (which I believe was the first framework to introduce the patching concept which Laravel Livewire was inspired by), and Rails Hotwire are really interesting concepts that I think will have a major impact on the industry in the long-term.
In the process of this 12 in 12 challenge, I'm building my own custom web framework and eventually I want to include some of those live patching concepts.
nice idea
Thanks!