Loading...
Answers
MenuBest practices and resources for developing "Best Match" sorting and automatic matching for an online tutoring marketplace.
Answers
One option is to allow sorting on different facets, and default to one that levels the playing field a bit.
For example, instead of showing the tutors with the highest ratings, perhaps you could show the tutors with the highest ratings in the last 14 days (average of the last 14 days' reviews only), or those with the most activity on the site in the last X days (using Clarity as an example, show people who are actively answering questions).
The option to see "highest rated" or "most reviewed" should still exist, but you can give your new folks a chance by creating a metric they can compete on if there's a short history option.
The catch with this, of course, is that you open the door for gaming the system by spammers or less ethical folks, so be ready to set clear guidelines and to make examples of people who abuse the filters.
Good luck!
I've worked on a few different matching / recommendation algorithms, and to some extent, we did exactly this at Skillshare.
For both "best match" during a search, as well as the default or auto-match, it's all about relevance.. there shouldn't really be a different goal for each.
If I'm searching for a specific course or subject, you should filter by that category.. then use things in the student's profile (e.g. major, year / age-range, etc) to determine best relevancy on the tutor side.
Without specifics, then you could at least use more general inputs, like location (in-person tutoring?) and time zone, to determine relevancy.
Beyond these, I would offer a filter / sort based on "new" or "featured" (curated) vs. "popular" or "highest rated" .. but use your internal algorithm (and UX design) to tweak whatever you want.
Happy to help and discuss in more detail based on the specifics of your business.
Related Questions
-
How do you manage a developer who's slow, especially when you have a small budget and you don't feel like you'll get things done in time?
Usually Programmers are only slow when they don't know how to solve a particular problem. So they will spend a lot of time researching and a lot of trial & errors to solve a problem. It is important that before you engage a programmer on a project, you break down the entire project into simple, easy to understand modules. Let him give you an estimate of how many hours he will require to complete each of the modules. Example: a typical site will have a login module, registration, My account, profile etc. So let him estimate how much he will require to do the login. You can go even detail here. (e.g. how much extra time if you were to implement Facebook/Twitter Login?). Once he start developing, track his progress closely and make sure he is following his given timeline. If he goes over his budgeted time on a module, talk with him and see what went wrong. It is often seen that they may be wasting their time on something very insignificant that you may have asked him to implement, but you can totally go by without it too. So by understanding what is taking longer time, you will be able to prioritise things better. You definitely need some tools to get this done. Google Spreadsheet or Excel works just fine. But if you don't mind spending a few bucks there are many agile project management tools that you might look into. Here is a list, google them all and sign up for trials: * AgileZen * Agile Bench * Assembla * AssiTrack * Blossom * Basecamp * Breeze * DoneDone * Eidos * Fogbugz * GreenHopper * Jugggla * Kanbanpad * Pivotal Tracker Or the reason why he is slow can be purely non-technical. Sometime your developer may don't share the same level of enthusiasm as you about the idea that you are working on. They often don't often see the "bigger picture" (since you don't share everything with them explicitly). If you can somehow get them excited about what he is a part of, it will work like a drug :) He will work day and night without questioning you. But you need to work equally as hard as him. The moment he sees that you are the boss and he is just the guy doing work for you -- his mentality will shift from being part of something to being the low paid developer. Ultimately its all about motivation and making him a part of your venture. After all he deserves it, if he is really playing a crucial role in the entire development.SK
-
What are the key accomplishments for the first year of a startup?
A generalized question can only get a generalized answer. The most significant accomplishment is validating that the product you have built is a fit with your target market. This is demonstrated primarily by engagement (the people who sign-up or who previously visited, continue to return) and secondarily by growth, ideally based on word-of-mouth or viral growth but effectively converting paid traffic is a great second prize. Other significant accomplishments include: Not running out of money Recruiting and retaining great talent who believe in the founders' vision. Your loved ones not thinking you're as crazy as they thought you were a year ago. I'm happy to talk to you in a call to give you more specifics about what you want to set as your goals more specific to your startup.TW
-
How can I manage my developers' performance if I don't understand IT?
Whenever you assign them a task, break down the task into small chunks. Make the chunks as small as you can (within reason, and to the extent that your knowledge allows), and tell your devs that if any chunks seem large, that they should further break those chunks down into bite size pieces. For instance, for the overall task of making a new webpage, _you_ might break it down as follows: 1) Set up a database 2) Make a form that takes user email, name, and phone number and adds them to database 3) Have our site send an email to everyone above the age of 50 each week When your devs take a look at it, _they_ might further break down the third step into: A) Set up an email service B) Connect it to the client database C) Figure out how to query the database for certain users D) Have it send emails to users over 50 You can keep using Asana, or you could use something like Trello which might make more sense for a small company, and might be easier to understand and track by yourself. In Trello you'd set up 4 columns titled, "To Do", "Doing", "Ready for Review", "Approved" (or combine the last two into "Done") You might want to tell them to only have tasks in the "Doing" column if they/re actually sitting at their desk working on it. For instance: not to leave a task in "Doing" overnight after work. That way you can actually see what they're working on and how long it takes, but that might be overly micro-manager-y At the end of each day / week when you review the tasks completed, look for ones that took a longer time than average (since, on average, all the tasks should be broken down into sub-tasks of approximately the same difficulty). Ask them about those tasks and why they took longer to do. It may be because they neglected to further break it down into chunks as you had asked (in which case you ask them to do that next time), or it may be that some unexpected snag came up, or it may be a hard task that can't be further broken down. In any case, listen to their explanation and you should be able to tell if it sounds reasonable, and if it sounds fishy, google the problem they say they encountered. You'll be able to get a better feel of their work ethic and honesty by how they answer the question, without worrying as much about what their actual words are. Make sure that when you ask for more details about why a task took longer, you don't do it in a probing way. Make sure they understand that you're doing it for your own learning and to help predict and properly plan future timelines.LV
-
What is the best method for presenting minimum viable products to potential customers?
Whoa, start by reading the Lean book again; you're questions suggest you are making a classical mistake made by too many entrepreneurs who live and breath Lean Startup. An MVP is not the least you can show someone to evaluate whether or not building it is a good idea; an MVP is, by it's very definition, the Minimum Viable Product - not less than that. What is the minimum viable version of a professional collaboration network in which users create a professional profile visible to others? A website on which users can register, have a profile, and in some way collaborate with others: via QA, chat, content, etc. No? A minimum viable product is used not to validate if something is a good idea but that you can make it work; that you can acquire users through the means you think viable, you can monetize the business, and that you can learn from the users' experience and optimize that experience by improving the MVP. Now, that doesn't mean you just go build your MVP. I get the point of your question, but we should distinguish where you're at in the business and if you're ready for an MVP or you need to have more conversations with potential users. Worth noting, MOST entrepreneurs are ready to go right to an MVP. It's a bit of a misleading convention to think that entrepreneurs don't have a clue about the industry in which they work and what customers want; that is to say, you shouldn't be an entrepreneur trying to create this professional collaboration network if you don't know the market, have done some homework, talked to peers and friends, have some experience, etc. and already know that people DO want such a thing. Presuming you've done that, what would you present to potential users BEFORE actually building the MVP? For what do you need nothing more than some slides? It's not a trick question, you should show potential users slides and validate that what you intend to build is the best it can be. I call it "coffee shop testing" - build a slide of the homepage and the main screen used by registered users; sit in a coffee shop, and buy coffee for anyone who will give you 15 minutes. Show them the two slides and listen; don't explain, ONLY ask.... - For what is this a website? - Would you sign up for it? Why? - Would you tell your friends? Why? - What would you pay for it? Don't explain ANYTHING. If you have to explain something, verbally, you aren't ready to build your MVP - potential customers don't get it. Keep working with that slide alone until you get enough people who say they will sign up and know, roughly, what people will pay. THEN build your MVP and introduce it first to friends, family, peers, etc. to get your earliest adopters. At some point you're going to explore investors. There is no "ready" as the reaction from investors will entirely depend on who you're talking to, why, how much you need, etc. If you want to talk to investors with only the slides as you need capital to build the MVP, your investors are going to be banks, grants, crowdfunding, incubators, and MAYBE angels (banks are investors?! of course they are, don't think that startups only get money from people with cash to give you for equity). Know that it's VERY hard to raise money at this stage; why would I invest in your idea when all you've done is validate that people probably want it - you haven't built anything. A bank will give you a loan to do that, not many investors will take the risk. Still, know not that your MVP is "ready" but that at THAT stage, you have certain sources of capital with which you could have a conversation. When you build the MVP, those choices change. Now that you have something, don't talk to a bank, but a grant might still be viable. Certainly: angels, crowdfunding, accelerators, and maybe even VCs become interested. The extent to which they are depends on the traction you have relative to THEIR expectations - VCs are likely to want some significant adoption or revenue whereas Angels should be excited for your early adoption and validation and interested in helping you scale.PO
-
What learning path do I have to take to become a "full-stack" web developer?
If I was just starting out, I'd consider learning Meteor (https://www.meteor.com/). It's just entered version 1.0 and after working with it for a little less than a year I do have some issues with it but it still makes for a very solid framework that gets you up and running very fast. You would only need to learn Javascript, and you can slowly work your way towards nodejs from there (which Meteor is based on) if you want to, or you could get the basics down and focus on learning design if you prefer.KD
the startups.com platform
Copyright © 2025 Startups.com. All rights reserved.