- Notes on Solopreneurship Engineering
- Posts
- Issue #5: The need for a boilerplate š©
Issue #5: The need for a boilerplate š©
Some few ideas, a discovery call for BeaconCX, and stats review for NextCommit
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/b8a0273b-e533-4fe3-994b-225a053d3a7d/5-boilerplate.png?t=1716570233)
Another busy week! š„µ
My daughterās birthday, the end of the year school play, and the PyCon that Iām attending all condensed in a week. š
Nonetheless, I have some updates! š„
The need for a boilerplate
Some struggle with having ideas, but my main struggle is having the time to implement them. š
When I started to set up BeaconCX, I started feeling the pain of repeating many things that I had already done for NextCommit:
setup the monorepo with the frontend, the components library, the BFF, the backend, etc.
setup the color scheme for the frontend,
add the scaffolding for accessing the database,
add the scaffolding for the client <> API communication,
integrate the authentication and authorization,
integrate the product analytics,
implement the Dockerfile,
etc.
This issue became even more relevant when I bumped into another idea I wanted to implement that would solve one of my problems (more on this later). I really didnāt want to repeat over and over again the very same thing. š¤Æ
Now I understand thereās a market for selling boilerplates! š
There are some caveats in the pre-made boilerplates that are out there, either open-source or paid:
they might be bloated with features you donāt need,
they might be implemented by people who are not knowledgeable enough about some areas (e.g. security),
they might be strongly opinionated and those opinions might differ from yours,
they might be implemented by people who didnāt face the problem that youāre trying to solve, but just packaged a boilerplate because it seems āeasy moneyā thanks to the success of Marc Lou,
if something has to be changed, it might start becoming inconvenient.
The main goal of having a boilerplate is to move fast, or at least to start fast. The best way to do so is to know every bit of the boilerplate because you solved those problems yourself at least once, so once you need to build on top, you know how to do it.
For all these reasons I wanted to have my own personal boilerplate. šŖ
Iām also convinced that many boilerplate buyers are actually buying the dream or the perception of becoming nearer to being a successful solopreneur rather than the boilerplate itself. I think itās similar to buying a domain, Iām wondering how many domains on average an indie maker owns. š¤£
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/89f86e07-c579-4fd2-8301-8927a8bfaa58/5-domains.png?t=1716569622)
Yeahā¦ Iām also guilty š
I donāt think itās necessarily a bad thing selling boilerplates, many are succeeding in using them. Who knows, maybe at some point Iād do the same if people ask. š
But as I said, many buyers are probably charmed by the potential of what a boilerplate could lead to.
So, what does my boilerplate look like? First of all, itās very opinionated. š¤£ Itās also very different from the majority of the boilerplates you see out there based on NextJS. Without going too low-level, hereās a high-level breakdown:
Monorepo with all the services (frontend, BFF, API, database mgmt, infra)
Tech stack:
Frontend: Remix with Typescript + Tailwind with DaisyUI for styling + Storybook
BFF: Remix with Typescript
API: Python using FastAPI, SQLalchemy as ORM, Alembic for migrations
Database: Postgres
Integrations:
Authentication: Clerk
Analytics: Plausible
Marketing campaigns: Mailerlite
Payments: Stripe
Error monitoring: Sentry
Infrastructure: Render
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/b8a0273b-e533-4fe3-994b-225a053d3a7d/5-boilerplate.png?t=1716570233)
The structure of my boilerplate
Starting next week, Iāll start working on the other idea I anticipated before, and Iāll verify how much time it would take me to get to a polished MVP. š
Working on multiple ideas at the same time
You might be wondering: āMarvin you have too many things on the tableā. Probably youāre not wrong. š
Now I have:
the new idea I mentioned about.
Does it make sense to work on these 3 altogether? š¤ In general, does it make sense to work on multiple products at the same time?
The answer is that it depends.
The main factors that must be taken into account in my opinion are:
time availability,
type of products.
Regarding availability, Iām working full-time on my ideas, so I have quite some time to dedicate. Unfortunately, I always struggle to allocate the canonical 40 hours a week due to multiple reasons, but I donāt have a 9-5 job right now stealing competing for the focus. āļø
Regarding the type of products, there are different axes that we could consider:
maturity: idea definition, MVP implementation, expansion with more features and/or focus on distribution, on auto-pilot and generating revenue.
space and business model: boring and validated vs. new and unknown.
problem complexity: time to implement the MVP, or even time to scope what the MVP looks like.
Each level of each axis requires a different effort and time commitment, and all combined would give an idea of the overall load.
According to these, let me apply it to NextCommit and BeaconCX:
maturity: as I mentioned multiple times in the previous issues, Iām now focusing mostly on organic distribution, so the MVP phase is well passed. This means that itās not taking much āmakerā time in terms of extra features, but all the "makerā time is focused on improving distribution (basically SEO).
space and business model: job boards are definitely not an uncharted sea. But the initial business model, that is monetizing the candidate, is kinda new. Some job boards were indeed able to succeed with it, but I wouldnāt consider it validated. On the contrary, monetizing job boards by selling sponsored job posts is more common and thatās what Iām aiming for.
problem complexity: since the MVP is done already, and it actually even has some features on top of the MVP, the problem becomes again, distribution. The organic search takes time to develop disregarding how much effort you put into it.
maturity: I didnāt even scope the idea yet.
space and business model: many CS platforms exist, and many are successful, but all are big companies. Can an indie even compete?
problem complexity: Iām spending quite some time talking to people, considering if thereās something I could provide to solve some problems, and only then eventually scope the MVP. This is a complex one.
As you might have realized the effort required by the two is very different and none of them take my whole time at this point. With BeaconCX Iām still reaching out to people, so it highly depends on other people's availability. With NextCommit, allocating all my time there doesnāt make much sense. This means that I have the bandwidth to allocate time to build something else even more if the complexity of the problem is not high. āØ
Of course, if I was working on two other projects both still at the MVP implementation, it would have been different, and I would have not even considered working on a third project. ā
Of course, this is my own āframeworkā and might not apply to you. For example, you might be great at handling building the MVP of multiple projects at the same time. The takeaway is that if you consider working on multiple projects, try to think about some axes that could help you answer whether it makes sense or if it would be counterproductive to the other ongoing projects.
I guess youāre now thinking: āOK, but now tell us, whatās the new idea you mentioned twice already at this point?ā š„
If things go as planned, by the next issue of this newsletter I should have an MVP already, so wait for it. š
BeaconCX discovery call
This week I had the chance to talk with an acquaintance of mine Nurzhan Ospanov. Heās leading the Customer Success, Customer Experience, and Professional Services teams at Cube Dev and has been working in the Customer Success space for many years. I couldnāt think of a better person to talk and chat with to understand and know more about this space! š
Similarly to the call I had with JosĆØ last week, we ended up talking about the so-called CJM - Customer Journey Map. The difference is that he has a specific framework where for each phase he clearly defines:
the goals,
the success criteria,
the expectation for a customer to stay in that phase.
I highly suggest you read his Medium post.
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/1e65d29b-5380-455d-b837-8c99bae63eb4/5-cjm.png?t=1716570922)
Customer Journey Map
The main takeaways were very insightful already: āØ
having the right signals to identify the health of a customer is critical: this highlights how much integrations with 3rd parties are crucial. But itās also often hard to have full visibility: you may end up with customers having a score of 100 not resembling the reality.
the adoption phase is super time-consuming: sharing the knowledge with the customers takes a LOT of time. Sometimes the customers do not spend the expected amount of time reading the docs, or the vocabulary used in the docs might not be up-to-date to the latest versions, or sometimes itās just not easy to connect the dots between documentation and the product especially if the product that is complex and/or strongly technical.
This made me think about a few questions:
what qualitative signals could be included to provide a clearer and more accurate assessment to the CS team?
how can the knowledge-sharing process be streamlined?
I have a few ideas already, but Iāll continue thinking and talking with different people before scoping an MVP. š¤
NextCommit traffic and SEO updates
Letās now jump back on NextCommit! š
The impact on traffic of disabling Google Ads
As expected, turning off the campaigns had a big impact on the traffic. But as I explained last week, this is fine as Iām now focusing on organic search.
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/4e481ee4-d87d-4ab6-ae25-0cce2460400d/5-google-ads-impact.png?t=1716568881)
Last 7 days vs previous period
Progress on organic search
To add some more content to the company pages and improve their quality and hopefully the SEO impact, I added a āWhy Join Usā section. This is what a page looks like:
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/8ee845be-dc14-4a9b-8544-1916cd6a704e/5-company-page.png?t=1716571348)
Company page example
And this is what the SEO performance looks like:
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/d8447c30-ebd2-4d39-90d6-fe2b5526c91e/5-gsc-last-4-weeks.png?t=1716571674)
Google Search Console Performance - Last 28 days
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/27ce5f01-e4e2-4850-9844-fefeed512301/5-gsc-pages.png?t=1716571700)
Google Search Console Indexed Pages
It seems like something is happening starting today! š Letās see if this is a new trend that will stabilize or just a random spike. But by looking at the data for the last 7 days, itās obvious that the changes in the company page are having an impact!
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/aba57b1f-c270-4a0f-acd3-94fb6c2a43c7/5-gsc-top-pages.png?t=1716571806)
Google Search Console Top Pages - Last 7 days
I havenāt yet created a page for each job post, but I will try to allocate more time in the next weeks.
PyCon Italy
This week I attended the PyCon Italy as every past year for the last 10 years. It has a nice atmosphere, many talks are interesting, and also a good chance to chat with both people you know and new ones.
But I added this section just to share that the t-shirt of this year was great! š
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/bcf9337d-8c7b-468f-b53a-9c3a9f9e78ad/5-pycon.jpeg?t=1716571954)
PyCon Italy t-shirt
Conclusion
Next week Iāll start working on the new project that I anticipated, and hopefully, it will be done by the next issue, so stay tuned! š
Iāll also continue talking with people for BeaconCX and if time allows, Iāll allocate some time to continue working on SEO-ing NextCommit.
I hope you enjoyed it! š
If youāre interested in following my journey, make sure to subscribe or follow me on X/Twitter and LinkedIn!
Appendix
Overview of current status
Here are some snapshots of different stats.
NextCommit
Users
In the last 7 days, I got:
+8 signups, now at 162 (+5.2%)
18 active users (sum of daily active users, not weekly unique active users) (it was 34, -47%)
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/f77fa400-d637-47b5-a127-748476d8ed0d/5-clerk-summary.png?t=1716572751)
Clerk Summary Stats
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/342c11da-f437-4e0c-ace4-a9ea1b4f9be5/5-clerk-sign-ups.png?t=1716572766)
Clerk Sign-Ups - Last 7 days
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/137be1c6-2fcb-4a4f-8a54-bec302006b29/5-clerk-active-users.png?t=1716572776)
Clerk Active Users - Last 7 days
Stripe
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/9eea9417-ac42-47d4-8f71-73e42499f482/5-stripe-gross.png?t=1716572905)
Stripe Gross volume - All time
Plausible Analytics
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/6d5d4b31-9517-4482-b865-1a16c6221a4e/5-plausible-landing.png?t=1716572265)
Analytics for the landing - Last 7 days
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/4dd95e2c-c073-4d7c-bba0-2edb3d74785d/5-plausible-app.png?t=1716572343)
Analytics for the app - Last 7 days
Google Search Console
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/15eec613-523c-4acc-abb5-fdf804bc137c/5-gsc-performance.png?t=1716572029)
Google Search Console Performance - Last 7 days
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/ffa097fd-4f51-4352-9227-e9e88e09d67f/5-gsc-pages.png?t=1716572047)
Google Search Console Indexed Pages
Personal branding
X
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/49ba7260-02e9-4ee3-9c21-e221539f9b88/5-x.png?t=1716572486)
X Premium analytics
![](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/1cd5a92e-3b0e-4f8d-8474-ffa79f470a27/5-beehiiv.png?t=1716572502)
Beehiiv Analytics
Reply