Changeblog

When I first built this site, way back in err... 3 months ago, the world was a different place. Well, not really, but it was certainly changing fast. The first version was hand coded, and very traditional in design, with a backend SQL database, and a frontend form with a set of filters that are used to construct SQL queries.

It was a crash course in modern web development, at a time when my coding had been limited to a handful of smallish Miro apps for several years. And it was largely just an online version of a spreadsheet of freelance tech leaders I started compiling that got out of hand.

But it always felt quite limited, and I've been keen to explore how AI could be applied to the site to make it more useful and engaging. The first fruits of my exploration into this are now live. Firstly, the new search experience with profile summaries detailed below is now live on the production site, combined with a design refresh to make site features easier to discover.

The biggest update though is the new (and experimental) AI powered conversational search assistant. This is not just a lightweight chat wrapper around the existing search backend. The assistant actually considers the companies that a user has worked at, and the stage, verticals, and business model of those companies, to validate the expertise that the profile claims.

In addition, the assistant understands which criteria are based on clear facts that need to be respected, such as preferences expressed for role, discipline, location and gender, and combines that with a more semantic understanding of challenges and domain experience. When returning results, the assistant does not just offer profiles, but also an explanation of why those profiles were returned, and how they match the search criteria.

You don't even have to describe the business for which you need support. Just give the assistant the name of the business, and it will share a summary of the business that it will use for matching profiles. You can even upload an existing job description if you have one.

As a first release, I expect the search assistant will be far from perfect, so I'm keen to gather feedback. The assistant offers a feedback button, which will share your conversation and any commentary you have to offer with me for review. I'd love to hear what you think.

Well March was a crazy month. Just a ton of events, including MTPCon, multiple ProductTanks, and ProductCamp SouthWest. Got to try out a new talk, and wrote a bunch of articles, but that left very little time to work on this site, until now...

About field

Following on from the SEO work in March, I've been working on making search results and social previews more useful. Taking inspiration from the LinkedIn 'headline' field, I've introduced a new About field, which is a single sentence summary of a profile, with a maximum of 140 characters.

This is used in two ways. Firstly in the new search results table, now in preview, to provide context on each profile beyond just their name and location. Secondly in the OpenGraph image which is used on social media sites whenever a profile URL is pasted. The Profile Manager now includes a link to your OpenGraph image in the header, so you can quickly preview the impact of profile updates.

However, with over 200 profiles on the site now, I needed to pre-populate the About field for each profile before relying on it for search results. So I fed each profile to ChatGPT and asked it to summarise. You can review and edit the About field for your profile using the Profile Manager.

Profile photos coming to search results

Along with the introduction of the About field, profile photos are also coming to search results now that enough profiles have them for that to be worthwhile. You can see that on the preview site, too. If you do not yet have a profile photo, simply log into the Profile Manager, and click "Update Profile". Your profile photo from LinkedIn (or Google if you signed in with Google) will be copied over automatically.

Improved mobile search results and profiles

The new search results page also adapts better to small screen devices, switching from a table view to a cards view below a certain size. Similarly, profile pages now switch to a list view on mobile devices, which avoids weird alignment issues.

A tiny bug fix, but an important one, because the new search experience is entirely dependent on the spatial index, so if a profile is dropped, it no longer appears in any search results.

Largely "under the covers" improvements in this update, but some good housekeeping...

SEO improvements

This weekend, I have been mostly learning about SEO. And in the process mostly learned that I don't want to work in the SEO business. Anyway, thank goodness for NuxtSEO (even if the docs are a little frustrating at tines). And with that, I've added:

  • Dynamic sitemap and robots.txt generation
  • Schema.org microdata
  • OpenGraph images for profiles
  • Twitter tags
  • Canonical URL tags
  • rel attributes on links to external sites

Hopefully that will make the Google Search Console happy, but we shall see...

Google authentication (experimental)

An (experimental) implementation of Sign-in with Google is now available for managing profiles. LinkedIn remains the primary and preferred authentication method, but Google Sign-in is available for members who log in to LinkedIn using their Google account.

On-site privacy policy and terms of service

When the site first launched, the privacy policy and terms of service were hosted on Google Docs. Turns out, ironically, that Google does not like that, and won't approve an OAuth Verification Request if these docs are not hosted on the site itself. Which was a good forcing function to migrate them to the site, even if the HTML produced by Google Docs is pretty pathological.

A smaller release this week after last week's big update, partly because I spent a lot of time on refactoring...

Launch of new search experience

The new search experience with relevancy based ranking that was described in detail in the previous update, has now rolled out on the production site. So if you have not had the chance to update your remote, hybrid, and onsite work preferences, and review your locations and focus areas, now would be a good time to do so!

Gender filter

In response to feedback that users would like a way to find coaches or advisors of their own gender, a new gender filter is now in preview. You can set your gender on your profile, which will ensure your profile is included in searches filtered in this way, although your gender will not be shown on your profile page.

Personal pronouns

You can now set your personal pronouns, which are shared on your profile page.

Profile photos

The profile page is still very basic, but it does now include profile avatars, which are copied from your LinkedIn profile when you update your profile, and uses a two column layout on desktop.

OK, this is a big one.

Profile management

Until now, I've been manually hand editing the DB (!) to apply any profile updates requested by community members. This clearly isn't scalable, not least because by this point there are 180+ members on the site. So were I to add any new profile fields, I would have to handle the updates needed for every single member.

So a pre-requisite to any improvements to the profile is a tool to allow community members to manage their own profile. This is now available here and linked from the Manage menu at the top right of the site. Note that the site uses Login with LinkedIn to authenticate you, and for some unknown reason LinkedIn does not provide us mere mortals access to profile URLs.

As a result I have to match logins with profiles by email address, which means that if your LinkedIn email address is not the same as the address you provided when you submitted your site profile, you must send me with your LinkedIn email before you will be able to begin managing your profile. This address will only be used for authentication purposes and will never be shared on your profile, or used to contact you.

Presence fields

Now that's done, I can add new fields to the profile, and make changes to the site that might motivate community members to update their profile. As I mentioned in the 1.0.1 update, it became clear soon after launch that requiring users to filter results by the country (or even region) in which the community member lived was too limiting for those members who primarily work remotely, and serve clients around the world.

As a result, I've added a new "presence" field to the profile, which allows members to indicate their availability for remote, hybrid, and onsite work. For remote work, you can indicate the regions that you accept clients from, and for hybrid and onsite you can indicate how far you are willing to travel.

New search experience (coming soon)

With that in place, the home page search fields will shortly be updated so that searches are not based on the location of the community member, but the location of the client, while also indicating whether they need someone who will work remote, hybrid, or onsite.

Location fields must be real places

In order to support this, use of a real physical location will now be required in the Location field on member profiles. Using "Remote" as your location will no longer be permitted. The presence fields now serve that need. When the new experience rolls out, I'll manually update any profiles that still have "Remote" in the location field to match the real world location of the community member, as best I can.

Relevancy based ranking

At the same time that the home page search is updated to use the presence fields, the ordering of results will also change to use a relevancy based ranking algorithm.

Concerns have already been raised with me since the site launched that a lot of profiles have selected a very long list of focus areas, that do not appear to be consistent with the experience the member has. I appreciate that members want to appear in search results as often as possible, but this could result in a bad user experience when users connect with members, only to find they are not the experts they claim to be.

I considered setting an upper limit on the number of options per focus area category, or requiring members to justify their choices of focus area somehow, but that seemed too heavy handed. I'd rather align incentives, so there are clear benefits to being selective.

If you're interested in the nitty gritty details of the algorithm, it's documented here, along with specific recommendations for how to improve your ranking. But the summary is that profiles that have chosen fewer selections of focus area, and/or are more geographically focused, are treated more favourably.

This is based on the assumption that if a profile has only 3 verticals selected, they are more likely to be a specialist in those verticals than someone who has 15 verticals selected. Similarly, a profile that accepts remote clients from a smaller geographical area will be favoured over someone who accepts clients from around the world, and a client with just one location on their profile will be favoured for hybrid or onsite work over one that has several, or lives further away.

This means that for every focus area, location, and presence field there is a trade off. If you select more options, you will appear in more searches, but you will be ranked lower overall. So choose your options carefully. The intention is that if a client engages with you, they would agree that you have recent and relevant real world experience and domain expertise in the focus areas you have selected.

The other benefit of this model is that those profiles that appear less often in searches will likely be ranked higher, thus ensuring that they have first dibs on the fewer suitable opportunities that come up.

Preview site

Given all of the above changes are quite substantial, I realise members will want to update their profiles in advance of them taking effect, and preview the impact. For this reason, I've launched a preview site, where you can try out the new search and ranking experience for yourself. Access the preview site at preview.fractionals.fyi.

Roadmap

Lastly, in addition to this changeblog, I've also published a roadmap, so members can see what's coming soon. As always, feedback welcomed via email or LinkedIn.

Believe it or not, when the site first launched, the list of supported countries was hardcoded, which meant I had to push a new release every time someone signed up with a new country. So this is a minor update that adds the full set of countries, and makes the region filter searchable to maintain usability. At the same time I've also made the verticals and expertise fields searchable, as their list of options are also quite long.

31st Jan 2025
v1.0.1

Within hours of the initial launch, it quickly became clear that the #1 feature request from the community was support for filtering results not just by country, but also by region, as many people accept clients from around the world. So, I've implemented a quick fix that expands a region into a list of countries, and added regions to the top of the country filter dropdown. Note that only regions for which there are profiles in the DB are currently included.

It also became clear that members are using the location field not to describe where they are based, but the regions they serve. This led to a lot of people trying to add "Remote, EU" (or similar) as their location. I've consequently realised that a new approach is needed that focuses more on where the role is based rather than where the member is based. Watch this space...

29th Jan 2025
v1.0.0

First release of the fractionals.fyi community directory, with basic support for filtering by role, discipline, location, and optionally by vertical, sales model, company stage, and domain expertise. Results are ordered alphabetically by first name, which is clearly not ideal in the long term, but will do for an MVP. Basic profile pages are supported, which just list all of the profile fields.