Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Side project passed $2.5k/mo revenue after 2 years (Phoenix and Vue)
381 points by enraged_camel 67 days ago | hide | past | favorite | 89 comments
Several years ago, I had a client whose salespeople were using Excel to generate sales proposals. This was inefficient and the resulting documents looked awful, so I developed a new process for them using a no-code platform. It featured a web form that was tied to a workflow engine, and a fancy PDF got emailed to the customer to sign.

When the client loved the solution, I knew I was on to something. However, the no-code platform wasn't very customizable, so I decided to rebuild the process as a SaaS product. The client's CTO wanted in and we became cofounders.

Today, we passed the $2,500/mo. threshold, and couldn't be more excited! (https://pricetable.io)

Things started slow. I wasn't a software developer by trade, so I was constantly "drinking from the fire hose." Also, my cofounder and I had disagreements regarding features, UX, sales strategy... you name it. We never fought, but initially there was a sense of disconnect.

Then one day, everything clicked. His company started to pilot our product, and after a few months became our first customer. Receiving feedback from real users was a breath of fresh air. It was also really eye-opening to see which assumptions we had made were slam dunks and which were hilariously wrong!

Things might have been easier had I picked a more mainstream stack like Rails/Django, but once I got up to speed with Elixir and Vue, development became a Zen-like experience. Both communities are very welcoming and immensely helpful. HN has also been an extraordinary source of inspiration; reading success stories always makes me launch my code editor! Similarly, hearing from companies that didn't make it helps us keep our expectations realistic.

Now we shift focus to finding new clients. We have a very solid success story and metrics to back it up. However, both my partner and I still have day jobs we need the income from, and the product requires a fairly high-touch sales approach. Any advice would be appreciated. :)




Hi,

If you ever want to talk about how you build and deploy your app along with your tech stack in detail let me know. I've love to have you on the https://runninginproduction.com podcast.

There's 14 Phoenix episodes at https://runninginproduction.com/tags/phoenix but the more the merrier since every story is unique.

If you wanted to come on the show click the "become a guest" button on the top right to get the ball rolling.


Just posting an update here.

The OP responded and we're in the process of scheduling a time.

Also, thanks a lot everyone!

I checked my email this morning and there were 10 new submissions to be on the show.

I will be responding to all of you with follow ups today.


Wanted to say that browserless was on this podcast recently, and was great experience. I’d definitely recommend others do it as well


Had not heard of this podcast yet, it’s just what I’ve been looking for. Thanks for it! Subscribed!


Thanks Nick. Saw your email and will respond tomorrow. Had not heard about your podcast so I appreciate you sharing it!


If you're doing interviews, I'd love to have you on the Alchemist Camp YT channel for a Code and Bootstrapping podcast.

For an idea of what would be like, check out my interview with Arvid Kahl or Julien Klapetch.

https://www.youtube.com/watch?v=vj2hfq5GZ8Q&list=PLFhQVxlaKQ...


Love the podcast, thanks for doing this.


Hey, I’m a senior consultant at a small consulting company (c17 people) and pretty interested in your product actually - it looks great.

My main feedback would be that it would be really useful if you could include a video demo on the main website. I clicked on it and will probably come back to sign up and see if it meets needs later, but if I could get a good feel for if it matches requirements quicker it might improve conversion.


Great feedback, thank you! My day job is also at a small consulting firm, and we actually use PriceTable for time keeping and project management. It has been working great for us. I’d be happy to chat more, and give you a demo. You can email me at ege@pricetable.io!


Thanks - I actually missed that you have a small video on your homepage :) (I was on mobile before so maybe that's why!)

At the moment to do a quote we have an excel document, which is basically a project plan which runs by week and we put the hours into each cell in the appropriate week (and on each row, specify the consultant). The output we get is a project plan which goes in our proposal document, and a fixed price which goes in there too.

Then we take the final number of hours estimated and input it into our accounting program which generates an invoice and tracks it through the lifecycle (with all the weird payment terms you get!). When we meet project hurdles we have an admin assistant which will then invoice on milestones.

Almost all our work is fixed price, but if we do need T&M we use Clockify to track time for free.

What would be the workflow with PriceTable? Can I replace the excel document or would I still need that to work out the overall hours requirement?


I would need to see an example to say for sure, but it does sound like you might be able to replace the Excel document, yes. Each line item in the estimate would be the weekly hour numbers. Once you create the estimate, you can download it as a PDF, and include it in your proposal document as an addendum (this is what we do for larger projects — for smaller ones we send the estimate directly from within PriceTable to the customer, and they just click a link to open it).

Once the customer accepts the proposal, you can create a project in PriceTable directly from the estimate, which carries over the title and description and automatically links it to the estimate. Then you plug in the total hours you quoted, and assign a cost code (your fixed rate). Then, as you log time against the project (similar to Clockify, which we used previously!), it counts those hours against the total, which is really nice because you can easily see how much billable time is remaining.

At any point in time, your admin assistant can run a report and pull up the billable time associated with any project or customer within a time range and generate an invoice from it. We currently do the invoicing outside PriceTable, but there is a "generate invoice from time entries" feature coming soon.


Thanks, I tried it out in the end but it seems too heavy and complex for our use. I also couldn't work out how to change the currency (which I would need to change on a per-project basis).

It looks like loads of work has gone into the product though so I wish you luck :)


Thank you for the feedback, and thank you for trying it out! I'm a bit surprised to hear about complexity, but perhaps I've been using it for so long now that I have a skewed perspective. I'd love to read more, if you have a few minutes: ege@pricetable.io

We will be adding a currency toggle soon. It's on the roadmap for the June update.


You need to onboard a sales/marketing person. Someone with a few years experience in business software sales. Will the sales increase be enough to pay for the new person is not a given but you have probably reached a point that for growth you need marketing. No matter how good a software is and how much the end user likes it you will need a sales guy to get it pass the purchase department.


A part-time marketing contract is a pretty common thing.

Somebody spending 4 hours a week on skillful promotion could make a lot of difference here, at a rather moderate expense.


Any tips for finding such a person if you don't know anyone in your circles?


You should post a part-time job on Twitter, like this guy: https://twitter.com/LouisSlices/status/1380455925346107397?s...

You can also email the job opportunity to me. I collect all part-time jobs on ParttimeCareers (https://parttime.careers).


I'm also curious!


Please post an update when you guys get a chance. I would also love to know.

Thanks!


I've been looking for this unicorn also... seems like somebody should make a service to play matchmaker here. :)


I would also appreciate any advice you could provide to find such a person.


As someone who isn't a software developer by trade, how did you decide on the software stack?

I hadn't even heard of Phoenix (I am not a web dev by trade, so maybe that's why!), so I am a bit surprised to see something less mainstream as a 'goto'.


Haha! I understand what you mean. It's a long story, but the gist of it is that I had been more of a hobby-grade developer, on and off, and had a few side projects that I would occasionally boot up and play with.

You could say that I was technical enough to be dangerous, but before PriceTable I did not have any "real-life" experience (or the depth and breadth of knowledge) that comes with building and maintaining a SaaS app with paying users.

I started playing with Rails back in... 2010 I think? And about five years ago someone in the Rails community introduced me to Elixir, and I fell in love with it. So when I conceived of PriceTable, I figured, why not use Elixir for it.


Also a hobby dev who learned Rails. What was the switch to Elixir like in terms of learning curve and community support?


To be honest, it wasn't all unicorns and rainbows. On the surface Elixir is very similar to Rails. But there are important differences. For example, Ruby is object oriented, whereas Elixir is not. I'd say it took me some time to ditch my OO habits and to start thinking of problems and solutions in terms of functional programming. Ruby also has a much larger standard library, whereas Elixir takes a plug-and-play approach: it has a small but solid foundation, and for any specialized functionality you're encouraged/required to reach for an external library.

There were other challenges too. Rails is a pretty mature ecosystem, and there are libraries and guides and examples for almost anything you can imagine. With Elixir/Phoenix, I ended up having to learn many concepts and system design principles and then implement them myself. For example, at the time I was working on the billing modules, the only Stripe library for Elixir was in a limbo, so I developed my own integration. With Ruby you'd literally install the official Stripe Ruby library and go wild.

Stuff like that wasn't necessarily a bad thing, mind you. I feel like a lot of things I took for granted in Rails (a lot of the "magic"), I had to actually learn with Elixir, and it made me a better engineer.

Elixir and Phoenix documentation is fantastic, and the community is both extremely friendly and very knowledgeable. There's an Elixir Slack that gets a fair amount of traffic, and both Jose Valim (Elixir creator) and Chris McCord (Phoenix creator) are very active both there and on the Elixir forums.

If you're interested in making the switch, I'd love to help. Shoot me an email at ege@pricetable.io!


As a former business guy who wanted software, I’d recommend that you focus on finding someone you trust over picking a specific tech stack. What you’re looking for is someone who can talk to you about the problem you’re trying to solve, which could be recommending no software, along with the benefits & trade offs of the whatever tools they intend to use. If someone you trust wants to use Elixir & Vue, great. If someone you don’t trust wants to use Elixir & Vue, run far away.


I agree with what you're saying, but I don't think it answers GP's question. OP didn't partner or hire someone to do something on an obscure stack, but OP themself as a non-programmer by trade chose that stack, and GP now wonders how OP came to that choice, as opposed to whatever should be the top hit when searching for a stack.


Most of the time it's just because something looks neat, is well documented and might be a useful skill. That's why I learned Ruby back in 2006 with little to no programming experience. I really wanted to make websites, but I hated the idea of learning Java.


It could start with identifying concurrency as a priority, then looking up the erlang BEAM as a best in class solution, and finally using recent forums to see what today's practical tools are for taking advantage of the BEAM and coming across elixir/phoenix.

*that's how I heard of it, at least. I'm not a developer, more of a sysadmin / analyst


I don't think there's a real answer to this that doesn't have a time variable.

Phoenix is pretty stable and fast. I'd assume it's pretty popular here.

I'd recommend .net core because i have the most experience with it ( but it moves fast since .net framework). But it's less popular here ( i think)

A couple of years ago, it was RoR ( and that is still a viable solution).

A long time ago, it was PHO and that's still a valid solution.

There are multiple answers to this and some people will prefer one over the other. It mostly has to do what they are used to and heard of.

I just wouldn't recommend a young and new javascript framework. Many have come and go.

Pick something stable and don't use the "latest and greatest" is the only advice i can give you.


It depends on motivation: is my motivation to learn something new or play around for fun? Then I'll choose whatever I'm interested in learning.

If the motivation is to build something I actually need independent of the stack - in other words, something I expect to be paid for building, or has some other utility - then I'll use what I know. That doesn't mean I won't learn new things, but I'll learn those things in order to get the job done, rather than for their own sake. That doesn't rule out small experiments - for example, trying out an individual library to accomplish a task - but the overall stack will be something I'm familiar with.


Was cofounder still customers CTO when their company started to use your product? Is he/she still employed on customer side?

It feels like quite a conflict of interest and a risk, if the winds on that (sole, as I understand) customer's side will change...


He was, and still is.

You are correct about the risk. They aren't our only customer but are the largest one. If they left, we would continue to be profitable, but just barely. :)

Regarding conflict of interest, he has handled it well. Like me with my own boss, he was transparent with his boss from day one, and is very good about defending his employer's interests with anything related to PriceTable. We have actually given his company a pretty great deal in terms of pricing — and that's because he negotiated like hell with me, his cofounder, on their behalf!

Regardless, that's why I'm anxious to expand our client base, because it would greatly reduce the risk of having most of our eggs in this one client's basket.


Depending on local laws and your cofounder‘s contract, there may also be a risk that his employer could claim ownership of the software.


Maybe risky if the client company finds out the CTO has been moonlighting, but there are risks worth taking. Many times, this is one of them.

Building a SaaS product without a first customer is, to me, riskier, so I say well done.


Hard to launch a biz without risk in some front


Just out of curiosity, are you leveraging liveview at all?

I also use Phoenix for my SaaS project (took me 5 years to hit $2.5k/mo so congrats!) but I went all-in on liveview. It's some solid tech and I'm pretty happy with it but I'm wondering what the limits are when there is a lot of interactivity which seems to be the case with your app.


Thank you! We are not leveraging LiveView at the moment, since we already have a full-blown Vue frontend. I have been watching it from the sidelines though, and I agree that it's both very solid and very promising. I'd be very interested to hear your experience with it, if you'd be willing to share (either here, or you can email me: ege@pricetable.io).


It was a shift in workflow to no longer use javascript but overall I've really enjoyed it.

Generally, when I create an app I use the typical route of react front-end and the backend is the API. To me, this almost feels like writing/maintaining the app twice especially on solo projects.

With liveview this isn't the case at all. You still have your separations of concerns but you get the server-side rendering workflow with all the benefits of a highly interactive front-end.

I want to emphasize though that I've been using liveview for less than a year on a relatively small app so I am by no means an expert. I'm certainly not suggesting that everyone drop javascript-heavy workflows and switch to phoenix/liveview but I do feel comfortable enough suggesting that it is a serious candidate to be considered.


I am building a property management software (PMS). It's a specialized form of CRM. I have dumped MVC entirely in favor of LiveView. handle_event and handle_info are a better programming model for high-level of interactivity in a page. It also gets you closer to the database, entirely bypassing GraphQL and client-side JavaScript. I had to expose a whole API endpoint to set a flag here, a preference there. No more of that.


Speaking of "closer to the database" Ecto is now one of my all-time favorite libraries.

Every time I think "this is going to be tricky".. nope. Ecto seems to have thought of that.


What's your SaaS project? Did you end up leveraging OTP or Phoenix channels much?


It's an app in the Shopify App Store.

Regarding OTP I'm still learning, but I am utilizing GenServers and of course passing messages between processes via the actor model which has been very useful.

Once you realize that everything is a process and those processes can pass messages (including to one's self) it allows for some pretty interesting stuff.


Too much information and text on your site. Cut it down to salient information. Same with pricing page, too many plans and too many features. Consolidate features at high level.


feedback from a potential customer (we use pandadoc.com right now, previously proposify.biz):

the main unanswered question I have: "is this for me?". (My company is a marketing agency).

normally I'd expect to see examples of your other clients, testimonials from customers, or case studies.

I saw 0 of this (whether it doesn't exist or I missed it is a separate problem).

Even if your customers are not notable brands, just knowing that someone else uses this and it works for them gives me more confidence as a potential customer.

Note how Stripe for example uses customer logos and real customer examples throughout their sales page. https://stripe.com/

If you're concerned about this, just try asking your existing customers. It sounds like they're involved with sales, so they probably understand the value of a testimonial. You could start the conversation by asking "How do use quotes, reviews, or testimonials in your sales process?".

side note: I like the demo video on the home page. I'm on a laptop screen and wanted to view it full screen so i double clicked the video, but this did nothing.

2nd side note: if you establish yourself within one type of customer, word will spread more quickly about your product, assuming it's actually a better solution.

Based on the example video, it looks like your product is used by remodeling companies

What stands out to me:

- thought out support for mobile devices

- integration with online payments


Your product looks great. Just had a brief skim over your main page and have seen one grammar error... "We understand that every second counts when you're on the field." should be "...in the field.". I would recommend ensuring grammar etc is correct, as this could easily turn away potential customers, regardless of how great your product is.


Or targeting that farming vertical.


Thanks! Will be fixed very soon.


No advice, but just from looking at your pricing options - do you actually get interested parties to click on the "get in touch" button for the Enterprise tier?

I wonder whether the difference in appearance to the other tiers provides an additional (albeit small) mental barrier. That, combined with the psychological incentive for clicking on the "Business" option (look, it's our most popular one! and it has a different background color!) might actually steer people away from ever exploring the "Enterprise" option.

Perhaps, though, you only intended it as a way to avoid having "Business" being the most expensive one? Kind of my "ugly shoe theory" (Why do shoe stores carry so many ugly shoes? So that the mediocre ones become more attractive.) I think people are more inclined to choose one of the "inner" options for a product they have not tried out before, because it seems like a saver choice.


Thank you for the question. The reason we encourage Enterprise customers to get in touch is so that we can better understand their needs and walk them through a customized onboarding process. In my experience with large customers, the sooner you engage them in a conversation the better, because it reduces the risk that they might miss an important feature while browsing the software on their own.

Regarding the Business tier being highlighted, that's because while using PriceTable ourselves, we have found the the feature set it offers actually lets one get the most out of the product. :)


Hi, thanks for your reply. It seems, though, I didn't make my point especially well, so let me try again.

I was not questioning the decision for offering an "Enterprise" tier. My point was coming from a user interface design angle: I was just wondering whether the specific design decision you took in the appearance of the Enterprise tier subconsciously discourages potential customers from choosing it.


May I ask how did you get the consulting gig in the first place?


Hey! So the consulting gig is my day job. I’ve been working with no-code platforms for more than a decade, and this client was for one of the projects assigned to me. I’m grateful because consulting is a really good way to look for new ideas in the marketplace since you’re always interfacing with customers and talking about their issues, sometimes in great detail. PriceTable was born out of one such project.


I see, thanks. So I assume you work for an agency and they let you build this SaaS product on the side. Pretty nice of them as some companies have rather draconic stipulations with regards to intellectual property produced while being employed by them.


Yes, you are correct. I'm good friends with my boss, and he has known for a while that I work on PriceTable on evenings and weekends, and is completely okay with it, and has even offered to help. So in that sense I feel very fortunate!


The original solution probably does belong to that company. The problem it set out to solve does not. A completely different solution also does not. Ergo...


Congrats! What workflow engine are you using?


We use a home-grown workflow engine that leverages a partially open-source job processing library called Oban (https://github.com/sorentwo/oban).


How would you say this differentiates from existing platforms like Salesforce/Zoho? Currently using Zoho. Curious what would make a company want to switch. A video of the shiniest features would be nice, like others have said.


This looks great. Just wondering if you can share any details on what hosting / architecture you're running this on? Is each user's space running in it's own container or everything in the same DB for example?


PriceTable is hosted on Gigalixir. The database is Postgres. Everything is in the same database, but each tenant has its own schema. When a new account/workspace is created, we create a new schema and run a set of migrations on it to create tables, indexes, and so on. From there, each request is routed to that schema using the tenant's prefix.

https://www.viget.com/articles/multi-tenancy-with-postgres-s...


Ah Thanks, thats interesting.


This is amazing.

I have been part of a startup working on 401k industry, and everything there is custom and time consuming. I helped build a very user-friendly tool to build 401K proposals, and I can see how your tool can be very very useful.


Looks impressive. Anything involving billing has the potential to be huge. If you shopped this around to VCs you would definitely get some bites. Maybe you guys should go "all in" for a couple of years?


FYI, there's a bug on the home page. The "Try for Free" button takes one to the pricing page, rather than the demo or signup page.


What do you use for signing documents electronically?


Contrary to another commenter here, I would suggest learning a bit about selling to businesses before (or even instead of) looking to raise money.

Go on YouTube and watch some MicroConf videos. Most of the most popular videos are exactly this theme.


Thank you for the advice. I will check those out!

For me, the challenge isn't really lack of knowledge of B2B sales (I do a fair bit of it in my day job) but rather lack of time. Prospecting and qualifying leads tends to be very time-consuming, and neither of us can dedicate ourselves to it since we both have day jobs. But I think you're right that our focus should be to expand our client base a bit more before looking to raise money.


At some point one (ideally both to avoid conflict later) will have to decide to go all in on your idea or otherwise it will always limp along due to the two of you not having enough time to devote to it.


Depends what their goal is. "Limping along" while generating thousands of revenue for each of them, while requiring only minimal attention, may be perfectly acceptable. That's a lifestyle business; they may not want to run a company.


Hah. I started to make something like this years ago, but got distracted early on. This looks great, and I'm jealous :)


What have you done to promote your product so far to get to 2.5 per month?


It sounds like a good time to raise a bit of money. Don't go crazy, but try to get enough of an investment that one or both of you can start working full time on the company. Or, if neither of you are comfortable with sales, try to bring on a third person who is. Congrats and good luck!!


Thank you! Interestingly enough, our first customer also offered to invest in us six months ago. We punted at first, but a few weeks ago they brought it up again unprompted, so I think they are serious. I’m just hesitant because I’m not sure how it would work to have a customer also be a shareholder. What are your thoughts?


More than that, what goal are you achieving by letting them invest? Will you use that money to hire a full time sales person, or another dev to accelerate the product, or...? Because if you don't know what you'd do with that money, you don't want that money (nor the extra voice and trouble it would bring).

You can always keep this thing bootstrapped. If you reach a point you need an extra pair of hands, you can evaluate if it makes sense to hire someone, and if debt or equity financing is necessary. But if you're not at that point, there's no reason to take that on.

A key thing to remember is being invested in is a means to an end. Ultimately it requires giving up a level of control, or taking on a level of debt; it's not simply 'a good thing to do'.

So even without considering the downsides of a customer as a shareholder, you may want to avoid doing it just because you don't know how the money will advance your goals.


I'd be wary of going with a customer/inventor, you might end up building a solution too tailored for them that you can't resell easily; and there are conflicts of interest for them.

Given the growth you're having organically on just two people and not that much time, I'd try to keep on your own a little bit more rather than searching for investors. That will take time, and hiring more people will also take even more time. Maybe it's worth it to put that time into getting new clients, knowing the market (i.e., what's your upper limit, what companies you can't reach, etc) and maybe growing revenue so when you do take investors and hire more people you're closer to breaking even.


Yeh try TinySeed - the help is likely more valuable than the money, which in itself likely helps a great deal.


Congratulations! Hard work does seem to pay off.


Looked neat, but scrolling down crashed Firefox before I could check out more on the page. It escalated to Windows blocking gpu access :/ (Never seen that one before)


Oh, that's weird. Doesn't happen to me on my Firefox.

There is an mp4 video embedded immediately underneath the header section, so maybe that's what caused the issue for you?


Huge amount of space wasted around two buttons. You easily accommodate a video widget too in that space so that new visitors do not need to scroll.


The project looks neat and definitely does way more than quite a few services in the same category.

Here's some feedback:

1) The video isn't visible on mobile (at least in Chrome). Also, add more screenshots/videos to get a better idea of what it looks like. Move Privacy and T&C sections from top menu to the footer.

2) Your website doesn't show what the software does apart from the video and some descriptions. A lot of companies do the mistake by listing all the features their product can do, instead of listing solutions your software is solving. Generating quotes and proposals is the ultimate PITA in every single company and experienced by every single sales rep, so they'll relate pretty well to things like ' can create initial quote 70% faster compared to other methods', etc.

3) If you struggle to come up with new ideas/evaluate existing features, look into CPQ software, some solutions have demo versions, so you could play around with it. No matter what kind of feature you'll come up with, there's a good chance some of them already implemented it.

4) If you don't know where to look/how to hire sales people, or which type is needed at this stage- get ready for a rough ride, it's a bit wild out there.

5) Start thinking of the ways your product can be integrated with CRM systems(e.g. Salesforce). There's even more money in there + lots of sales teams already use CRM systems one way or another, so some integrations would be easier to sell.

6) Your revenue is too low right now to be able to hire sales/marketing people without pouring in additional capital, so here's what you can do:

a) start selling it yourself. Even though for both of you it's part time gig on top of the main jobs, diving into the sales side will be fascinating and eye opening. It doesn't need to be very hard. You are selling to sales directors/heads of sales/etc. Go on LinkedIn, search for those kind of roles and start contacting ( even if it's 1-5/day). This way you'll get an idea of what's missing and how it works and what kind of people you need to hire.

b) do some content marketing. Case studies are amazing. Speak to your existing clients, ask if they'd like to help you out and write how your product is helping them.

c) If you want to hire sales reps without huge upfront costs, look into the sites, where you can get people working on commission only. I don't remember any off top of my head but google would probably give some suggestions.

For those who are less familiar with this software sector: there's tons of money in this. There are quite a few large market players going all in on this. There's lots of market consolidation happening too in recent years. Having said this, there's still a lot of space for smaller products, like this one, as there's tons of companies that don't require all the bells and whistles of enterprise level quoting tool.


Thanks, this is great feedback. Regarding the first one, the video is not displayed on mobile because it's an mp4 and we wanted to be respectful of people's mobile device data plans. That said, I think adding it as a "watch video" button that loads it on demand might be something we need to think about...

I've made a list of your other suggestions. Thank you so much!


Congrats !


Maybe try to create some good blog content. Rank them on low competition key words. This will help you to get organic traffic. More organic traffic more MRR. Keep up the good work.


[flagged]


You must be fun at parties.


I am ;) but if everyone was to just blow smoke this guy would never uncover his potential.


wow, UI looks really great. I wish I can work on this product, are you guys hiring? ;)


Why is this user being downvoted? The comment seems as innocuous as it gets...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: