So…everyone said to ask my questions regarding what I need for my site, so here I go.
Note: I fully understand that this is a very, very complex website with very complex functionalities. I, no doubt, will have to hire some help with certain things as well as use 3rd-party companies for compute. I just want to build a bare-bones site in order to seek funding. That way, I can pay for building the very complex functionalities.
In the end, I’ll give you a real-world, very simple example that’s like what I’m trying to do.
Thanks in advance for the help.
My website needs the following functionalities:
General:
The site is to be based on several large databases of both structured and unstructured data.
- The site needs to search through all of the user-login-based profiles (that is, if one person has only one profile and another has four profiles, the system would have to search through all five profiles). As the search criteria is entered, the system will need to create a unique algorithm and to search the site. It will then use a vector comparison (blanks are nulls) for “fit” (perhaps using Euclidean or Manhattan distance) to determine which profiles best “fit” the searcher’s unique algorithm. Once fit is determined, the system displays the profiles with the best fit. Naturally, if the unique algorithm is too specific, there would be a lower number of resultant profiles and vice versa.
- There would, of course, need to be other types of other data analysis available – charts, graphs, et cetera.
- The ability to post site-wide money-generating advertisements and videos.
- A personalization system to create user-tailored feeds based on the above-mentioned advertisements and/or videos.
- The ability to display icons next to the profiles in the search results.
Type 1 Users:
The ability to * handle 200 million “type 1” user logins. (Dream big right?) Note: I’m made up the “type 1” name to differentiate between another type of user. - The ability for each of these 200 million users to fill out forms of structured data, thus creating a profile. Each user should be able to create multiple profiles that are “attached” to their login.
- In each profile, the user should be able to “attach” pieces of structured data from a database to their profile. The way I envision this is that they have a search bar, type in the piece of data they wish to attach, and (maybe) click to highlight that piece of data. They can do this as many times as they need to attach multiple pieces of data to their profile.
- Next to each attached piece of structured data that has been attached to their profile, they should be able to enter a number.
- On each user’s profile, there are free-form NoSQL fields, date fields, radio buttons, et cetera.
- Each user should be able to post account-related documents, videos, and pictures.
- Each user should be able to send messages to other users (of any type).
- Each user should be able to engage in live chat operations.
Type 2 Users: - The ability to handle an additional 90 million “type 2” user logins (for a total of 290 million site users).
- The ability for each of these 90 million users to fill out forms of structured data to perform research and other database-based data analysis.
- The ability to create multiple tab home pages featuring text, documents, videos, and pictures.
- Each user should be able to send messages to other users (of any type) – both to specific individuals as well as to grouped individuals.
- Each user should be able to engage in live chat operations.
Real world example:
Tim is an amazing track and cross-country runner. He wants to find someone to train with in his large city.
He goes on the site and posts the following:
Tim
Profile 1 Track Race Times
Solar Sprint Challenge Time: 59 minutes
Storm Chaser Relay Time: 69 minutes
Chronos Cup Time: 75 minutes
Geo Dash: 34 minutes
Profile 2 Trail Race Times
Rock Creek Run: 107 minutes
Rough and Tumble Run: 138 minutes
Tim finishes entering his times, and then enters other information such as his zip code to find likely runners near him.
The following runners are found by the system:
Sonya **
Profile 1 Track Race Times
Solar Sprint Challenge Time: 62 minutes
Chronos Cup Time: 90 minutes
Geo Dash: 44 minutes
Barney
Profile 1 Track Race Times
Storm Chaser Relay Time: 71 minutes
Chronos Cup Time: 74 minutes
Profile 2 Trail Race Times
Rock Creek Run: 108 minutes
Profile 3 Ultra Marathons Race Times
Ultra Winner Marathon: 240 minutes
Dog Days Ultra: 264 minutes
Jack
Profile 1 Track Race Times
Solar Sprint Challenge Time: 58 minutes
Chronos Cup Time: 74 minutes
Geo Dash: 35 minutes
Profile 2 Trail Race Times
Rock Creek Run: 105 minutes
Profile 3 Ultra Marathons Race Times
Ultra Winner Marathon: 238 minutes
Dog Days Ultra: 262 minutes
Ragged & Jagged Ultra: 247 minutes
Used Google Gemini for this:
To find Tim's best training partner, we can design an algorithm that calculates the Mean Absolute Percentage Fit based exclusively on the races both Tim and a potential partner have in common.
The Algorithm
Identify Shared Races: Filter out any races where either Tim or the other runner has a null value.
Calculate Individual Race Fit: For each shared race, determine the pacing similarity using the formula:
"Race Fit"=1-|"Runner Time" -"Tim's Time" |/"Tim's Time"
Calculate Overall Percentage Fit: Average the individual race fits and multiply by 100 to get a percentage.
The Runner Data Matrix
Race Name Tim Sonya Barney Jack
Solar Sprint 59 min 62 min null 58 min
Storm Chaser 69 min null 71 min null
Chronos Cup 75 min 90 min 74 min 74 min
Geo Dash 34 min 44 min null 35 min
Rock Creek Run 107 min null 108 min 105 min
Rough & Tumble 138 min null null null
Ultra Winner null null 240 min 238 min
Dog Days Ultra null null 264 min 262 min
Ragged & Jagged null null null 247 min
The Math & Match Calculations
- Sonya
Shared Races: Solar Sprint, Chronos Cup, Geo Dash
Math:
Solar Sprint: 1-|62-59|/59=1-0.0508=94.92%
Chronos Cup: 1-|90-75|/75=1-0.2000=80.00%
Geo Dash: 1-|44-34|/34=1-0.2941=70.59%
Average Fit: (94.92%+80.00%+70.59%)/3= 81.83% - Barney
Shared Races: Storm Chaser, Chronos Cup, Rock Creek Run
Math:
Storm Chaser: 1-|71-69|/69=1-0.0290=97.10%
Chronos Cup: 1-|74-75|/75=1-0.0133=98.67%
Rock Creek Run: 1-|108-107|/107=1-0.0093=99.07%
Average Fit: (97.10%+98.67%+99.07%)/3= 98.28% - Jack
Shared Races: Solar Sprint, Chronos Cup, Geo Dash, Rock Creek Run
Math:
Solar Sprint: 1-|58-59|/59=1-0.0169=98.31%
Chronos Cup: 1-|74-75|/75=1-0.0133=98.67%
Geo Dash: 1-|35-34|/34=1-0.0294=97.06%
Rock Creek Run: 1-|105-107|/107=1-0.0187=98.13%
Average Fit: (98.31%+98.67%+97.06%+98.13%)/4= 98.04%
Conclusion
Tim's Best Training Partner: Barney (98.28% Fit)
While Jack is an incredibly close second at 98.04% and actually shares more races in common with Tim (4 races vs. Barney's 3), Barney's specific running times match Tim's actual pacing slightly better overall.