Why under 2 hours isn’t luck
No surprise to say that I am the first person on earth to set up a portal in FormaPortal.
During the beta phase, I personally set up the portals for our initial clients. It wasn’t about saving on staff, it was the best experience a founder can get: the more real life scenarios you see up close, the better you can test and shape the product around them. I try to take on as much of that setup work myself as I can, so we can support people properly and keep building for the difficult scenarios too, not just the easy ones.
Most of the portals I have set up took less than 1.5 hours, with the slowest at around 2 hours. When you think about building a portal from scratch, that’s remarkable how efficient this already is, and we are still working to bring it down further.
That number isn’t an accident. B2B software implementations typically take 30 to 90 days once you count discovery, configuration and training, and the average business still spends around 11 hours setting up a single client manually across separate tools for forms, billing and access control, according to research on client onboarding. Under 2 hours was what we set out to achieve, not something we stumbled into.
In this article, I’ll share an investor portal example: what it required, and how we tackled it.
What our client needed
Our client runs investor relations for a growing firm and needed a private, gated investor portal rather than another public microsite. Their list looked like this:
- A private portal with gated access and onboarding flow, not an open page anyone could stumble onto.
- Separate application questions for individual investors and for corporate investors, since the two groups needed to answer different things.
- The ability to approve, reject or override any response that came in, because not every submission arrives clean.
- A place to share company announcements directly with investors rather than through a mailing list.
- Different tiers of investors seeing different content, so a smaller backer and a lead investor were not shown the same page.
- Real control over their own content. Most platforms they had used before locked content behind rigid templates, and they wanted the freedom to write and structure things their own way.
- A login that did not require investors to remember another password, so a magic link was the obvious answer.
None of these are exotic requirements on their own. Together, they usually mean stitching together a form tool, an access control system, a CMS and a login provider, then hoping the seams hold.
What went live in under 2 hours
Working from that list, here is what actually got configured: branding (logo, favicon and colour palette), authentication, a custom domain, onboarding flow, plans, billing, pages, announcements, policies, and the navigation bar and footer. None of it was a placeholder version to tidy up later, the custom domain, billing and policies all had to be genuinely correct from the start. All of it, live and usable, inside 2 hours. Doing this for the first time may take a bit longer. What we are aiming for is that it stays close: straightforward enough that a new user gets most of the way there without needing help, and honest enough that we keep looking for ways to shave more time off it rather than calling it finished.
Rebuilding onboarding
Setting this portal up changed how we think about onboarding itself. Providing the raw capability, gated access, an advanced form builder and so on, was one part of the job. Keeping the experience smooth and obvious for the person actually clicking through it was the harder part, and every company we work with tends to need a slightly different shape of onboarding. Solving it for one client was never going to solve it for everyone.
That is why onboarding now lives as its own section inside settings, built so each client can design their own flow. For this build specifically, here is what that meant in practice. We set the portal to gated access rather than open registration, matching how our client actually wanted to run investor relations. We added a step asking investors to fill out their form before they could get anywhere near the portal itself. When we accepted an account, we assigned it a plan there and then, so what a person could see was decided from day one rather than fixed after the fact.
Whether submissions get auto-accepted or routed to a staff member for review is entirely the client’s own choice to make, and for this build our client chose to have someone look over each one directly. A few investors filled in their form badly, so instead of asking them to start again from scratch, we amended and overrode a couple of responses directly, and where a resubmission genuinely was needed, they could simply try again.
Access that respects how content actually relates
Another thing I really liked about building this portal is how access works underneath it all. Content can be public or authenticated, and we could split it further by whichever plan an investor held, plan assignment itself is configurable to however a client wants to run it.
Where it gets more interesting is with parent-child relationships. Events are a good example: we can have event groups such as in-person events, webinars, or a regional set like London events. Each event under one of those groups inherits its parent’s access automatically, unless we step in and override a specific event. Nobody has to re-set permissions on every single item just because it belongs to a wider set.
The same setup works well beyond investor portals
What fascinated me afterwards was that none of this was built solely for investor relations. It’s the same settings, the same onboarding builder and the same access rules I would set up for a client portal, a membership portal or a vendor portal, just answering a different list of questions each time. That’s generally a better sign than the two-hour number on its own: it means the speed comes from the product actually being flexible, not from one narrow path that happens to fit one kind of customer.
A portal set up in under 2 hours, with everything already prepped
One of the experiences I love so much about building this portal is how user friendly we’ve built it to be. The navigation is smooth, the look and feel is very intuitive and fresh. And it’s highly configurable: you just use and set it up according to what you need, instead of what the product forces you to use.
It felt a bit like cooking a meal where every ingredient is already washed and chopped before you even start. The slower, harder work, authentication, billing logic, access rules, onboarding flows, is already done. What is left is the fun part: deciding how it should look, what it should say, and how it should feel for the people using it.
As FormaPortal, we wanted to share our experience because it is a genuine example: a real client and a portal that was live in well under two hours. If your own portal setup right now still means stitching together a form tool here and a login system there, that gap between 30 to 90 days and under 2 hours isn’t a stretch goal. It’s simply what setting one up should feel like once the pieces aren’t fighting each other.
Coming up next...
We’re now working on integrating with other tools. We’ve just launched our Zapier integration, and we’re now testing the initial version of MCP, which allows you to interact with FormaPortal using your Claude subscription.
We’re hoping that, once this feature is fully functional, the two-hour setup time will become even shorter, perhaps a new portal could be set up within minutes.
We’re looking forward to sharing the good news soon!
