Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR VERIFYING EXERCISE DATA
Document Type and Number:
WIPO Patent Application WO/2019/182739
Kind Code:
A1
Abstract:
The disclosure provides methods and systems for verifying exercise data of a user. The method may include acquiring a post containing exercise data about an exercise regimen performed by a user. The method may also include transmitting a request to a verification device for a verification result for the post and receiving from the verification device, a set of data containing a result of the verification process for the post. The method may further include causing the user devices to display the post and/or the verification results. This disclosure provides a centralized platform to showcase and track the progress of the exercise regimen performed by the user and by other users who are followed by the user.

Inventors:
BUTTERWORTH JEREMY (CA)
YOUNG CHARLES (US)
Application Number:
PCT/US2019/020025
Publication Date:
September 26, 2019
Filing Date:
February 28, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FLEXPIT LLC (US)
International Classes:
G06Q10/00
Foreign References:
US20120041767A12012-02-16
US20170259119A12017-09-14
Other References:
See also references of EP 3769272A4
Attorney, Agent or Firm:
SHARAREH, Shahnam et al. (US)
Download PDF:
Claims:
CLAIMS

We claim:

1. A system for verifying exercise data of a user, comprising:

a non-transitory, computer-readable memory;

one or more processors; and

a computer-readable medium containing programming instructions that, when executed by the one or more processors, cause the system to:

acquire, from a first user device, a post which comprises exercise data about an exercise performed by a first user;

transmit a notification to a plurality of devices to initiate a verification process for the post;

receive one or more responses from one or more of the plurality of devices in response to the notification;

determine a verification device from the one or more of the plurality of devices based on the one or more responses;

transmit a request to the verification device for a verification result for the post; receive, from the verification device, data containing the verification result for the post; and

transmit, to one or more user devices, the data containing the verification result to cause the one or more user devices to display an icon and the post simultaneously when the data satisfy a predetermined criterion, wherein the icon indicates whether the post has been verified by the verification process, wherein the icon indicates whether the post has been verified by the verification process.

2. The system of claim 1, wherein the exercise data reflects the progress of the first user over the prior exercise data.

3. The system of claim 1, further comprising programming instructions that when executed cause the system to cause the one or more user devices to display the icon and the post on a leaderboard based on the predetermined criterion.

4. The system of claim 1, wherein the predetermined criterion is an exercise type, a location, a gender, a body weight, an age, a group association, or a verification status.

5. The system of claim 1, further comprising programming instructions that when executed cause the system to cause the one or more user devices to display the icon and the post on the leaderboard associated with a group formed by the first user.

6. The system of claim 1, further comprising programming instructions that when executed cause the system to cause the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotted by the first user.

7. The system of claim 1, further comprising programming instructions that when executed cause the system to cause the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotting the first user.

8. The system of claim 1, wherein the verification result further comprises a comment from a user of the verification device.

9. The system of claim 1 , wherein the one or more user devices are associated with one or more users selected by the first user.

10. The system of claim 8, wherein the user of the verification device is a coach or a trainer.

11. The system of claim 1, wherein the first user is an athlete.

12. The system of claim 1, wherein the exercise is bench press, chest supported row, pushdown, bent press, push press, overhead press, deadlift, fly, biceps curl, lying triceps extensions, or back squat.

13. A system for verifying exercise data of a user, comprising:

a non-transitory, computer-readable memory;

one or more processors; and

a computer-readable medium containing programming instructions that, when executed by the one or more processors, cause the system to:

transmit, to a server device, a post entered by a first user via a first user device for verifying exercise data of the first user and an input that is a request to subject the post to a verification process by a second user;

receive, from the server device, data containing the post and a verification result from the second user; and

display, the post and an icon the first user device, wherein the icon indicates that the post has been verified by the second user.

14. A system for verifying exercise data of a user, comprising:

a non-transitory, computer-readable memory;

one or more processors; and

a computer-readable medium containing programming instructions that, when executed by the one or more processors, cause the system to:

receive, from a server device, a notification to verify a post entered by a user, the post comprising exercise data an exercise performed by the user; transmit, to the server device, a response indicating acceptance for verifying the post; receive, from the server device, the post for verification; and

transmit, to the server device, data containing a verification result for the post, wherein the data indicate whether the post has been verified.

15. A user device verifying exercise data of a user, comprising:

a non-transitory, computer-readable memory;

one or more processors; and

a computer-readable medium containing programming instructions that, when executed by the one or more processors, cause the system to:

transmit, to a server device, a post entered by a first user via a first user device for verifying exercise data of the first user and an input that is a request to subject the post to a verification process by a second user;

receive, from the server device, data containing the post and a verification result from the second user; and

display, the post and an icon the first user device, wherein the icon indicates that the post has been verified by the second user.

16. A method for verifying exercise data of a user, comprising:

acquiring, from a first user device, a post which comprises exercise data about an exercise performed by a first user;

transmitting a notification to a plurality of devices to initiate a verification process for the post;

receiving one or more responses from one or more of the plurality of devices in response to the notification;

determining a verification device from the one or more of the plurality of devices based on the one or more responses;

transmitting a request to the verification device for a verification result for the post; receiving, from the verification device, data containing the verification result for the post; and

transmitting, to one or more user devices, the data containing the verification result to cause the one or more user devices to display an icon and the post simultaneously when the data satisfy a predetermined criterion, wherein the icon indicates whether the post has been verified by the verification process.

17. The method of claim 16, wherein the exercise data reflects the progress of the first user over the prior exercise data.

18. The method of claim 16, wherein causing the one or more user devices to display the icon and the post further comprises causing the one or more user devices to display the icon and the post on a leaderboard based on the predetermined criterion.

19. The method of claim 16, wherein the predetermined criterion is an exercise type, a location, a gender, a body weight, an age, a group association, or a verification status.

20. The method of claim 16, wherein causing the one or more user devices to display the icon and the post further comprises causing the one or more user devices to display the icon and the post on the leaderboard associated with a group formed by the first user.

21. The method of claim 16, wherein causing the one or more user devices to display the icon and the post further comprises causing the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotted by the first user.

22. The method of claim 16, wherein causing the one or more user devices to display the icon and the post further comprises causing the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotting the first user.

23. The method of claim 16, wherein the verification result further comprises a comment from a user of the verification device.

24. The method of claim 16, wherein the one or more user devices are associated with one or more users selected by the first user.

25. The method of claim 23, wherein the user of the verification device is a coach or a trainer.

26. The method of claim 16, wherein the first user is an athlete.

27. The method of claim 16, wherein the exercise is bench press, chest supported row, pushdown, bent press, push press, overhead press, deadlift, fly, biceps curl, lying triceps extensions, or back squat.

28. A method for verifying exercise data of a user, comprising:

transmitting, to a server device, a post entered by a first user via a first user device for verifying exercise data of the first user and an input that is a request to subject the post to a verification process by a second user;

receiving, from the server device, data containing the post and a verification result from the second user; and

displaying, the post and an icon the first user device, wherein the icon indicates that the post has been verified by the second user.

29. A method for verifying exercise data of a user, comprising:

receiving, from a server device, a notification to verify a post entered by a user, the post comprising exercise data an exercise performed by the user;

transmitting, to the server device, a response indicating acceptance for verifying the post;

receiving, from the server device, the post for verification; and

transmitting, to the server device, data containing a verification result for the post, wherein the data indicate whether the post has been verified.

AMENDED CLAIMS

received by the International Bureau on 12 July 2019 (12.07.2019)

We claim:

1. A system for verifying exercise data of a user, comprising:

a non-transitory, computer-readable memory;

one or more processors; and

a computer-readable medium containing programming instructions that, when executed by the one or more processors, cause the system to:

acquire, from a first user device, a post which comprises exercise data about an exercise performed by a first user, wherein the exercise data comprise a photo or a video; transmit a notification to a plurality of devices to initiate a verification process for the post;

receive one or more responses from one or more of the plurality of devices in response to the notification;

determine a verification device from the one or more of the plurality of devices based on the one or more responses;

transmit a request to the verification device for a verification result for the post; receive, from the verification device, data containing the verification result for the post; and

transmit, to one or more user devices, the data containing the verification result to cause the one or more user devices to display an icon and the post simultaneously when the data satisfy a predetermined criterion, wherein the icon indicates whether the post has been verified by the verification process, wherein the icon indicates whether the post has been verified by the verification process.

2. The system of claim 1, wherein the exercise data reflects the progress of the first user over the prior exercise data.

3. The system of claim 1, further comprising programming instructions that when executed cause the system to cause the one or more user devices to display the icon and the post on a leaderboard based on the predetermined criterion.

4. The system of claim 1, wherein the predetermined criterion is an exercise type, a location, a gender, a body weight, an age, a group association, or a verification status.

5. The system of claim 1, further comprising programming instructions that when executed cause the system to cause the one or more user devices to display the icon and the post on the leaderboard associated with a group formed by the first user.

6. The system of claim 1, further comprising programming instructions that when executed cause the system to cause the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotted by the first user.

7. The system of claim 1, further comprising programming instructions that when executed cause the system to cause the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotting the first user.

8. The system of claim 1 , wherein the verification result further comprises a comment from a user of the verification device.

9. The system of claim 1, wherein the one or more user devices are associated with one or more users selected by the first user.

10. The system of claim 8, wherein the user of the verification device is a coach or a trainer.

11. The system of claim 1, wherein the first user is an athlete.

12. The system of claim 1, wherein the exercise is bench press, chest supported row, pushdown, bent press, push press, overhead press, deadlift, fly, biceps curl, lying triceps extensions, or back squat.

13. A system for verifying exercise data of a user, comprising:

a non-transitory, computer-readable memory;

one or more processors; and a computer-readable medium containing programming instructions that, when executed by the one or more processors, cause the system to:

transmit, to a server device, a post entered by a first user via a first user device for verifying exercise data of the first user and an input that is a request to subject the post to a verification process by a second user, wherein the exercise data comprise a photo or a video;

receive, from the server device, data containing the post and a verification result from the second user; and

display, the post and an icon the first user device, wherein the icon indicates that the post has been verified by the second user.

14. A system for verifying exercise data of a user, comprising:

a non-transitory, computer-readable memory; one or more processors; and

a computer-readable medium containing programming instructions that, when executed by the one or more processors, cause the system to:

receive, from a server device, a notification to verify a post entered by a user, the post comprising exercise data an exercise performed by the user, wherein the exercise data comprise a photo or a video;

transmit, to the server device, a response indicating acceptance for verifying the post; receive, from the server device, the post for verification; and

transmit, to the server device, data containing a verification result for the post, wherein the data indicate whether the post has been verified.

15. A user device verifying exercise data of a user, comprising:

a non-transitory, computer-readable memory;

one or more processors; and

a computer-readable medium containing programming instructions that, when executed by the one or more processors, cause the system to: transmit, to a server device, a post entered by a first user via a first user device for verifying exercise data of the first user and an input that is a request to subject the post to a verification process by a second user, wherein the exercise data comprise a photo or a video;

receive, from the server device, data containing the post and a verification result from the second user; and

display, the post and an icon the first user device, wherein the icon indicates that the post has been verified by the second user.

16. A method for verifying exercise data of a user, comprising:

acquiring, from a first user device, a post which comprises exercise data about an exercise performed by a first user, wherein the exercise data comprise a photo or a video;

transmitting a notification to a plurality of devices to initiate a verification process for the post;

receiving one or more responses from one or more of the plurality of devices in response to the notification;

determining a verification device from the one or more of the plurality of devices based on the one or more responses;

transmitting a request to the verification device for a verification result for the post;

receiving, from the verification device, data containing the verification result for the post; and

transmitting, to one or more user devices, the data containing the verification result to cause the one or more user devices to display an icon and the post simultaneously when the data satisfy a predetermined criterion, wherein the icon indicates whether the post has been verified by the verification process.

17. The method of claim 16, wherein the exercise data reflects the progress of the first user over the prior exercise data.

18. The method of claim 16, wherein causing the one or more user devices to display the icon and the post further comprises causing the one or more user devices to display the icon and the post on a leaderboard based on the predetermined criterion.

19. The method of claim 16, wherein the predetermined criterion is an exercise type, a location, a gender, a body weight, an age, a group association, or a verification status.

20. The method of claim 16, wherein causing the one or more user devices to display the icon and the post further comprises causing the one or more user devices to display the icon and the post on the leaderboard associated with a group formed by the first user.

21. The method of claim 16, wherein causing the one or more user devices to display the icon and the post further comprises causing the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotted by the first user.

22. The method of claim 16, wherein causing the one or more user devices to display the icon and the post further comprises causing the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotting the first user.

23. The method of claim 16, wherein the verification result further comprises a comment from a user of the verification device.

24. The method of claim 16, wherein the one or more user devices are associated with one or more users selected by the first user.

25. The method of claim 23, wherein the user of the verification device is a coach or a trainer.

26. The method of claim 16, wherein the first user is an athlete.

27. The method of claim 16, wherein the exercise is bench press, chest supported row, pushdown, bent press, push press, overhead press, deadlift, fly, biceps curl, lying triceps extensions, or back squat.

28. A method for verifying exercise data of a user, comprising:

transmitting, to a server device, a post entered by a first user via a first user device for verifying exercise data of the first user and an input that is a request to subject the post to a verification process by a second user, wherein the exercise data comprise a photo or a video; receiving, from the server device, data containing the post and a verification result from the second user; and

displaying, the post and an icon the first user device, wherein the icon indicates that the post has been verified by the second user.

29. A method for verifying exercise data of a user, comprising:

receiving, from a server device, a notification to verify a post entered by a user, the post comprising exercise data an exercise performed by the user, wherein the exercise data comprise a photo or a video;

transmitting, to the server device, a response indicating acceptance for verifying the post; receiving, from the server device, the post for verification; and

transmitting, to the server device, data containing a verification result for the post, wherein the data indicate whether the post has been verified.

Description:
SYSTEM AND METHOD FOR VERIFYING EXERCISE DATA

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 119(e) to United States Provisional Patent Application No. 62/647,295, filed March 23, 2018, the disclosures of which are incorporated herein by reference in their entireties.

TECHNICAL FIELD

The present disclosure relates generally to systems and methods for verifying exercise data. More specifically, the present disclosure relates to systems and methods for verifying exercise data by a certified user and displaying the verified exercise data on a ranked leaderboard.

BACKGROUND

The benefits of exercise and healthy living are well-known in present-day society. To this end, it is not uncommon for people to aspire to regularly workout or go to a fitness center. However, despite a person’ s good intentions or his desire to workout, a person may not achieve their exercise goals.

To help become motivated to regularly visit a fitness center, people often resort to techniques such as finding a workout buddy, scheduling sessions with a fitness trainer, attending workout classes, and the like. However, although these approaches for becoming motivated can be serviceable, they remain disjointed, lack a central hub, and may still result in the person losing motivation.

Moreover, with rapid growth in the use of social media, there remains a strong need for a platform to connect athletes, trainers, and coaches, allowing athletes to share their progress and compete with others around them using leaderboards. Such a platform should create a community of athletes and give visibility into the progress of athletes, and facilitate scouts on the quest for talent. It should also provide athletes and trainers with a place for showcasing their capabilities and growth, to motivate them to reach their goals while networking with other fitness enthusiasts.

It is with these problems and needs in mind, among others, that various aspects of the present disclosure were conceived. SUMMARY

This disclosure provides systems and methods for verifying exercise data of a user. The system may include a processor, a communication port, and programming instructions that, when executed, will cause the processor to perform certain functions. The system may acquire, from a first user device, a post containing exercise data about an exercise performed by a first user. In some embodiments, the exercise data reflects the progress of the first user over the prior exercise data. The system may transmit a notification to a plurality of devices to initiate a verification process for the post and receive one or more responses from one or more of the plurality of devices in response to the notification. The system may determine a verification device from the one or more of the plurality of devices based on the one or more responses and transmit a request to the verification device for a verification result for the post. The system may receive, from the verification device, data containing the verification result for the post.

The system may transmit, to one or more user devices, the data containing the verification result to cause the one or more user devices to display an icon and the post simultaneously when the data satisfy a predetermined criterion, wherein the icon indicates whether the post has been verified by the verification process, wherein the icon indicates whether the post has been verified by the verification process. In some embodiments, the system may cause the one or more user devices to display the icon and the post on a leaderboard based on the predetermined criterion. The predetermined criterion is an exercise type, a location, a gender, a body weight, an age, a group association, or a verification status. In some embodiments, the system may cause the one or more user devices to display the icon and the post on the leaderboard associated with a group formed by the first user. In some embodiments, the system may cause the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotted by the first user. In some embodiments, the system may cause the one or more user devices to display the icon and the post on the leaderboard associated with a user who is spotting the first user.

In some embodiments, the verification result further comprises a comment from a user of the verification device. In some embodiments, the one or more user devices are associated with one or more users selected by the first user. In some embodiments, the first user is an athlete. In some embodiments, the user associated with the verification device is a coach or a trainer. In some embodiments, the exercise is bench press, chest supported row, pushdown, bent press, push press, overhead press, deadlift, fly, biceps curl, lying triceps extensions, or back squat. A method for verifying exercise data of a user is also provided. The method may include acquiring, from a first user device, a post which comprises exercise data about an exercise performed by a first user. The method may also include transmitting a notification to a plurality of devices to initiate a verification process for the post. The method may continue with receiving one or more responses from one or more of the plurality of devices in response to the notification. The method may further include determining a verification device from the one or more of the plurality of devices based on the one or more responses and transmitting a request to the verification device for a verification result for the post. The method may include receiving, from the verification device, data containing the verification result for the post. The method may also include transmitting, to one or more user devices, the data containing the verification result to cause the one or more user devices to display an icon and the post simultaneously when the data satisfy predetermined criteria, wherein the icon indicates whether the post has been verified by the verification process.

The foregoing and other objects, features, and advantages of the present disclosure set forth herein will be apparent from the following description of particular embodiments of those inventive concepts, as illustrated in the accompanying drawings. Also, in the drawings, the like reference characters refer to the same parts throughout the different views. The drawings depict only typical embodiments of the present disclosure and, therefore, are not to be considered limiting in scope.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates an example of a system for verifying exercise data of a user.

FIG. 2 illustrates an example of a process for verifying exercise data of a user.

FIG. 3 illustrates an example of a process for verifying exercise data of bench press performed by an athlete.

FIG. 4 illustrates an example of a process for verifying exercise data of a user that may be implemented in a client system associated with the user.

FIG. 5 illustrates an example of a process for verifying exercise data of a user that may be implemented in a client system associated with a verifier.

FIGs. 6A, 6B, 6C and 6D (collectively“FIG. 6”) illustrate examples of a user interface for account sign up and account sign in.

FIGs. 7A, 7B, 7C and 7D (collectively“FIG. 7”) illustrate examples of a user interface for creating a new post.

FIGs. 8A, 8B, 8C and 8D (collectively“FIG. 8”) illustrate examples of leaderboards. FIGs. 9A, 9B, 9C and 9D (collectively“FIG. 9”) illustrate examples of a user interface for creating a group.

FIG. 10 illustrates an example of a computing device implemented for verifying exercise data of a user.

DETAIL DESCRIPTION

This disclosure is not limited to the particular systems, methodologies or protocols described, as these may vary. The terminology used in this description is to describe the particular versions or embodiments only and is not intended to limit the scope.

The disclosure provides systems and methods for verifying sports-related data, statistics, performance and exercise-related data about sports activities or an exercise regimen performed by a user. The benefits of exercise and healthy living are well appreciated in present-day society. To this end, people are aspired to regularly workout or go to a fitness center. In 2014, there were over 183,000 health clubs worldwide, which is a significant increase of 54,500 from 2009-2014. The total number of memberships at fitness centers in the United States increased by 7 million users from 2012-2016. In the meantime, there is a significant increase in the popularity of social media. For example, in 2017, 81 percent of U.S. Americans had a social media profile, representing a three percent growth compared to the previous year.

At least in one aspect of this disclosure, the system and methods presented in the disclosure takes advantage of the community atmosphere of social media and provides a centralized platform for users to showcase their progress in sports activities or exercise regimens that they participate or perform. In another aspect, the presently described system and the methods provide a centralized platform to track the progress of such activities and exercise regimens performed by other users. In another aspect, the disclosure also provides a system and method to create a post containing the performed sports activity or exercise data about an exercise regimen of a user and subject the post to a verification process by a certified user.

In another aspect of the present invention, the system and methods also provide a leaderboard for an exercise activity or a group to incentivize users to keep working toward a particular objective. By providing leaderboards for a subset of users, instead of only providing a single high-score leaderboard, it creates increased opportunity for a user to feature on a leaderboard early in the exercise activity, increasing the incentive to the user to continue trying hard. Providing leaderboards featuring a subset of users having a common attribute and/or affiliation, increases competitiveness in the users, providing an incentive to continue engaging in exercise activities. FIG. 1 illustrates an example of a system 100 for verifying exercise data. The system may include one or more internet-based server systems 110 that are capable of communicating with one or more client systems 120 via communication network 130. Although FIG. 1 illustrates a particular arrangement of server systems 110, client systems 120, and network 130, this disclosure contemplates any suitable arrangement of server systems, client systems, and network. As an example and not by way of limitation, one or more server of devices and one or more of client systems 120 may be connected to each other directly, bypassing network 130. As another example, two or more of client systems 120 and one or more of server systems 160 may be physically or logically co-located with each other in whole or in part. Moreover, although FIG. 1 illustrates a particular number of client systems 120 and server systems 110 and networks 140, this disclosure contemplates any suitable number of client systems 120 and server systems 110 and networks 130.

The server systems 110 may be coupled to any suitable network 130. As an example and not by way of limitation, one or more portions of network 130 may include an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, or a combination of two or more of these. Network 130 may include one or more networks 130.

Links 140 may connect client systems 120 and server system 110 to communication network 130 or to each other. This disclosure contemplates any suitable links 140. In particular embodiments, one or more links 140 include one or more wireline (such as for example Digital Subscriber Line (DSL) or Data Over Cable Service Interface Specification (DOCSIS)), wireless (such as for example Wi-Fi or Worldwide Interoperability for Microwave Access (WiMAX)), or optical (such as for example Synchronous Optical Network (SONET) or Synchronous Digital Hierarchy (SDH)) links. In particular embodiments, one or more links 140 each include an ad hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of the Internet, a portion of the PSTN, a cellular technology-based network, a satellite communications technology-based network, another link 140, or a combination of two or more such links 140. Links 140 need not necessarily be the same throughout network environment 100. One or more first links 140 may differ in one or more respects from one or more second links 140. In some embodiments, server system 110 may generate, store, receive and send data, such as, for example, user profile data, concept-profile data, social- networking data, or other suitable data. Server system 110 may be accessed by the other components of system 100 either directly or via network 130. In particular embodiments, server system 110 may include one or more servers 112. Each server 112 may be a unitary server or a distributed server spanning multiple computers or multiple datacenters. Servers 112 may be of various types, such as, for example and without limitation, web server, news server, mail server, message server, advertising server, file server, application server, exchange server, database server, proxy server, another server suitable for performing functions or processes described herein, or any combination thereof. In particular embodiments, each server 112 may include hardware, software, or embedded logic components or a combination of two or more such components for carrying out the appropriate functionalities implemented or supported by server 112. In particular embodiments, server system 110 may include one or more data stores 114. Data stores 114 may be used to store various types of information. In particular embodiments, the information stored in data stores 114 may be organized according to specific data structures. In particular embodiments, each data store 114 may be a relational, columnar, correlation, or other suitable databases. Although this disclosure describes or illustrates particular types of databases, this disclosure contemplates any suitable types of databases. Particular embodiments may provide interfaces that enable a server system 110 and a client system 120 to manage, retrieve, modify, add, or delete, the information stored in data store 114.

In some embodiments, client system 120 may be an electronic device including hardware, software, or embedded logic components or a combination of two or more such components and capable of carrying out the appropriate functionalities implemented or supported by client systems 120. As an example and not by way of limitation, a client system 120 may include a computer system such as a desktop computer, notebook or laptop computer, netbook, a tablet computer, e-book reader, GPS device, camera, personal digital assistant (PDA), handheld electronic device, cellular telephone, smartphone, other suitable electronic device, or any suitable combination thereof. This disclosure contemplates any suitable client systems 120. A client system 120 may enable a network user at client system 120 to access network 130. A client system 120 may enable its user to communicate with other users at other client systems 120.

In some embodiments, client system 120 may include a web browser, such as MICROSOFT INTERNET EXPLORER, GOOGLE CHROME or MOZILLA FIREFOX, and may have one or more add-ons, plug-ins, or other extensions, such as TOOLBAR or YAHOO TOOLBAR. A user at client system 120 may enter a Uniform Resource Locator (URL) or other address directing the web browser to a particular server (such as server 112), and the web browser may generate a Hyper Text Transfer Protocol (HTTP) request and communicate the HTTP request to the server. The server may accept the HTTP request and communicate to client system 120 one or more Hyper Text Markup Language (HTML) files responsive to the HTTP request. Client system 120 may render a webpage based on the HTML files from the server for presentation to the user. This disclosure contemplates any suitable webpage files. As an example and not by way of limitation, web pages may render from HTML files, Extensible HyperText Markup Language (XHTML) files, or Extensible Markup Language (XML) files, according to particular needs. Such pages may also execute scripts such as, for example, and without limitation, those written in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, combinations of markup language and scripts such as AJAX (Asynchronous JAVASCRIPT and XML), and the like. Herein, a reference to a webpage encompasses one or more corresponding webpage files (which a browser may use to render the webpage) and vice versa, where appropriate.

In some embodiments, client system 120 may additionally include a custom-developed application configured to communicate with server system 110. For example, the client system 120 may include a mobile application developed for implementing the system and method disclosed herein. The custom-developed software may be a mobile application, a desktop software, or a plugin for desktop software. In some embodiment, the custom-developed application is FLEXPIT, which may be deployed as a mobile application, a desktop software, or a plugin for desktop software.

In some embodiments, the system may establish user accounts for one more users. The account types may include athlete accounts, coach/trainer accounts, scout accounts, and standard accounts. The system may provide a user account for each user and associate registration information with each user account. The registration information for each user account may include, for example, username, first name, last name, password, E-mail address, phone number, sex, age, date of birth, weight, height, city or country of residence, location, health-related data, dietary regimens and restrictions, health insurance information, etc., as shown FIGs. 6A-C. The registration information may also include user type (e.g., athlete, coach, trainer), sports that the user plays or participates (e.g., ski, soccer, volleyball, basketball, swimming, ice hockey), what level does the user compete (e.g., college level). The system may require additional information depending on the user type that a user registers as. For example, if a user is registered as a coach or a trainer, the system may prompt the user to upload additional registration information to verify his or her identity, as shown in FIG. 6C. The additional registration information may include a short video, photos, diplomas, certificates, etc.

The system may receive the registration information from a client system via an account registration process. Alternatively, and/or optionally, the system may retrieve the registration information of a user through a social networking service. Non-limiting examples of social networking services include Facebook, WhatsApp, QQ, WeChat, QZone, Tumblr, Instagram, Twitter, Google+, Skype, Viber, Line, Snapchat, Pinterest, Linkedln, Telegram, Reddit, Taringa, Foursquare, and YouTube.

In certain embodiments, the account registration process may include automatic or manual verification of registration information received from client systems to complete the registration process. For example, the system may transmit a message to client systems to indicate whether registration information has been verified whether the user account has been established. The message may be delivered to the client systems via Short Message Service (SMS), Multimedia Messaging Service (MMS), a push notification service or an E-mail service.

After the user account is established, the user may sign in the user account using login credentials (e.g., username, password) to view or submit a post, as shown in FIG. 6D. In some embodiments, the system may grant access to a user account after the system verifies the login credentials entered by the user for the user account associated with the system. Alternatively, the system may grant access to a user account based on the username and password entered by the user for a user account that is associated with a third-party service. Non-limiting examples of the third-party service may include Facebook, WhatsApp, QQ, WeChat, QZone, Tumblr, Instagram, Twitter, Google+, Skype, Viber, Line, Snapchat, Pinterest, Linkedln, Telegram, Reddit, Taringa, Foursquare, and Youtube.

FIG. 2 illustrates an example of a process for verifying exercise data that can be implemented by system 100. In some embodiments, upon receiving a request from a user device for creating a new post, the system may prompt the user to enter the information of the post, as shown in FIGs. 7A-B. The information of the post may include exercise- specific data of an exercise regimen of the user. The post may be a text, a photo or a video. Similarly, the exercise-specific data may also be a text, a photo or a video. The exercise-specific data may include additional information, such as the type of exercise, rep type, and location.

Non-limiting examples of the type of exercise may include squat, leg press, lunge, deadlift, leg extension, leg curl, standing calf raise, seated calf raise, hip adductor, bench press, chest fly, push-up, pull-down, pull-up, bent-over row, upright row, shoulder press, shoulder fly, lateral raise, shoulder shrug, pushdown, triceps extension, biceps curl, crunch, russian twist, leg raise, back extension, flat barbell or dumbbell bench press, incline barbell or dumbbell bench press, decline barbell or dumbbell bench press, flat chest press machine, incline chest press machine, decline chest press machine, dips (on parallel bars with slight forward lean), push-ups, flat dumbbell flyes, incline dumbbell flyes, decline dumbbell flyes, pec deck machine, cable crossovers/cable flyes, pull-ups, chin-ups, lat pull-downs, bent over barbell or dumbbell rows, t-bar rows, seated cable rows, chest supported barbell or dumbbell rows, chest supported machine rows, inverted rows, barbell, dumbbell or machine shrugs, seated overhead barbell or dumbbell press, standing overhead barbell or dumbbell press, overhead machine press, arnold press, barbell, dumbbell or machine upright rows, dumbbell, cable or machine lateral raises, dumbbell, cable or machine front raises, barbell, dumbbell, or machine rear delt rows, raises or flyes, barbell or dumbbell squats, barbell or dumbbell front squats, barbell or dumbbell split squats, barbell or dumbbell lunges, barbell or dumbbell step-ups, leg press, single leg press, machine squat/hack squat, leg extensions, barbell or dumbbell Romanian deadlifts, barbell or dumbbell straight leg deadlifts, barbell or dumbbell sumo deadlifts, glute- ham raises, hyperextensions, cable pull-throughs, good-mornings, leg curls, standing barbell or dumbbell curls, barbell or dumbbell preacher curls, seated dumbbell curls, incline dumbbell curls, hammer curls, concentration curls, cable curls, biceps curl machine, dips (on parallel bars, elbows close to body, without forward lean), flat close grip bench press, decline close grip bench press, close grip push-ups, laying barbell or dumbbell triceps extensions, skull crushers, overhead barbell or dumbbell triceps extensions, cable press-downs, bench dips. For example, a user may specify the life type as bench press and rep type as max weight, and the specific value of the max weight that he or she successfully lifted. The post may additionally include caption and comments from the user. Types of exercises and exercise regimens may be customized based on the user’s desired sports and fitness regime. For example, a swimmer may choose to post, monitor or verify such data as swimming speed, laps, treading water, jogging underwater speed. Similarly, a soccer player may choose to post, monitor or verify such data as speed, acceleration, deceleration, endurance, distance covered, ball handling, fatigue index, specific skill drills, goals, passes, shoots or even heart rate or the like.

In some embodiments, the system may prompt the user to upload a photo or a video. The photo or video may be retrieved from a photo/video gallery or library of the user device. In some embodiments, the system may invoke a camera function of the user device and allow the user to take photos or videos for uploading as part of the post. In some embodiments, the system may resize the photo or the videos according to a threshold value (e.g., maximum size in kilobytes, megabytes or gigabytes, maximum or minimum resolution in dots per inch (DPI) or pixels per inch (PPI)). In some embodiments, the system may resize the photo or the videos based on the transmission rate of the network 130 and the links 140.

In other embodiments, the system may prompt the user to input for privacy setting to specify whether the user intends to publish the post publically or keep it private, as shown in FIG. 1C. The system may also prompt the user for an input indicating whether the user intends to subject the exercise data of the post for a verification process by a second user. In some embodiments, the second user is the user who is registered as a coach or a trainer during the account registration process. In some embodiments, the second user is certified by the system during the account registration process or through a certification renewal program.

After the user enters the information of the post and uploads it for posting, the system may acquire from a client system on the user device the post containing exercise-specific data about the exercise regimen of the user 201. Examples of the exercise specific data may include, without limitation, the data based on physical workouts, such as lifting weights and/or other types of data related to the cardiovascular workouts, such as long distance running, sprints, 40 yard dash time, etc. Physical workouts may or may not require weights. For example, exercise specific data may include data based on workouts that do not need weights, such as pull-ups, push-ups, sit-ups, etc. The exercise specific data may additionally include weight information in lbs/kgs and number of reps that pertain to weight-training specific data, time and distance that pertain to cardio data, height/distance that pertain to jumping related exercise data. For strength exercises without weight, the number of reps data would apply. In some embodiments, the system may store the posts from the user in one or more databases deployed in data store 114. The system may also receive an input that is indicative of requesting or denying a verification process for the exercise- specific data of the post by a second user 203. If a verification process is requested, the system may transmit a notification to one or a plurality of devices to initiate a verification process for the exercise-specific data of the post 205. In some embodiments, the system may only transmit the notification to the devices of the second users who are certified for verifying the exercise- specific data of the post. The notification may be an in-app messaging or a push notification. In-app messaging (also known as in-app messages or in-app notifications) broadcasts messages to users when they are using the app, directly within the app itself. This generally looks like a pop-up window that can appear at the top, middle or bottom of the screen. In-app messages can include images, text, or any other types of multimedia. Push notifications are a type of message that may be sent by an application to a device, most commonly used by mobile apps to deliver pertinent information to users. These appear as alert- like messages on the home screen or in a notification area at the top of the screen. Alternatively and/or additionally, the notification may be delivered by email to one or more email addressed of a user.

The system may determine the qualification of the second user for verifying a post based on one or more factors, including location, credential and/or certification, exercise type, sex, age, club affiliation, etc. For example, the system may only transmit the notification to the devices of the second users who are located in the same geographic area as the user. In another example, if the post containing the exercise-specific data for bench press, the system may only transmit the notification to the devices of the second users certified to verify bench press. In some scenarios, if the number of the second users who are qualified for verifying the post, the system may only transmit the notification to a predetermined number of devices. In some scenarios, the system may receive a request from a user device specifying one or more second users to whom the user intends the post to be sent for verification.

After the system transmits the notification to one or more devices of the second users, the system may receive one or more responses from these devices in response to the notification 207. The one or more responses may include information indicating approval or declination of the request for verification. The one or more responses may additionally include the reason for approval or declination. The system may designate a single verification device among the devices of the second users who have approved to verify the post, based on the order of the one or more responses received by the system 209. In some embodiments, the system may designate the device from which the response is first received by the system. Similarly, the system may designate the second user of the single verification device as the verifier of the post. In some embodiments, the system may cause the user device to display a verification status of the post. The verification status may include pending approval, approved, or declined, as shown in FIG. 7D.

After the verification device and the verifier for the post are designated, the system may transmit a request to the verification device for a verification result for the post 211. The verification result may include a verification status indicating whether the exercise-specific data of the post has been verified by the verifier. The verification result may also include comments from the verifier. The system may receive the verification result for the post from the verification device 213. The system may automatically update the post in the database with the verification result. In some embodiments, the system may transmit the post and/or the verification result of the post to the user device of the user who uploaded the post 215. The system may also cause the user device to display the post and/or the verification result. For example, the system may cause the user device to display the post and an icon which indicates the exercise-specific data of the post has been verified by a verifier. In some embodiments, the system may also cause the user device to display the comments from the verifier along with the post. In some embodiments, the system may receive a modification (e.g., revision, deletion) of the post on the user device. The system may update the post in response to the modification, and cause the user device to display updated posts or to remove the post from the display.

Alternatively, and/or additionally, the system may transmit the post and/or the verification result to one or more user devices, based on one or more query criteria. For example, a user may choose to view the posts from other users which satisfy one or more query criteria the user specifies. The query criteria may include name, exercise type, exercise condition, age, sex, location, verification status, group association, club affiliation, the popularity of the post, rating, spotting/spotter status, number of spotters, etc. Upon receiving queries from a user device, the system may interrogate the database and retrieve the posts that meet the query criteria. The system may also cause the user device to display the post and the verification result. For example, the system may cause the user device to display the post and an icon which indicates the exercise-specific data of the post has been verified by a verifier. In some embodiments, the system may also cause the user device to display the comments from the verifier along with the post. In some embodiments, the system may receive a modification (e.g., revision, deletion) of the post on the user device. The system may update the post in response to the modification, and cause the user device to display updated posts or to remove the post from the display.

If a verification process is not requested, the system may transmit the post that is not subjected to the verification process to the user device and cause the user device to display the post. In some embodiments, the system may cause the user device to display the post along with an icon indicating that the post has not been verified by a verifier. In some embodiments, the system may transmit the unverified post to one or more user devices, based on one or more query criteria. For example, a user may choose to view the posts from other users who satisfy one or more query criteria the user specifies. The query criteria may include name, exercise type, exercise condition, age, sex, location, verification status, group association, club affiliation, the popularity of the post, rating, spotting/spotter status, number of spotters, etc. Upon receiving queries from a user device, the system may interrogate the database and retrieve the posts that meet the query criteria. The system may also cause the user device to display the post. For example, the system may cause the user device to display the post and an icon which indicates the exercise-specific data of the post has not been verified by a verifier. In some embodiments, the system may receive a modification (e.g., revision, deletion) of the post on the user device. The system may update the post in response to the modification, and cause the user device to display updated posts or to remove the post from the display.

In some embodiments, the system may transmit and cause the user devices to display the post and/or the verification result based on group association. In creating a group, the system may receive from a user a selection of group members. The group members may be manually selected by the user or based on a criterion, as shown in FIG. 9. The criteria may include name, exercise type, exercise condition, age, sex, location, club affiliation, team affiliation. The system may create one or more groups based on one or more criteria. In some embodiments, the system may transmit and cause the user devices to display the post and/or verification result of group members. The system may also receive a feed for the post from the devices which display the post. The feed may include comments and/or fistbumps from a group member. The term“fistbump(s)”refers to a symbol indicating respect and/or approval. The system may also cause the user device to display comments and/or fistbumps from one or more group members.

In some embodiments, the system may transmit and cause the user devices to display the post and/or the verification result based on the spotting/spotter status. The term“spotting” refers to other users who are followed by the user. The term“spotter” refers to a user who is following another user. For example, a user may choose to view the posts from users who he or she is spotting. In another example, a user may choose to view the posts from users who are his or her spotters. In establishing a spotting/spotter relationship, the system may receive from a user device a selection of users who the user intends to spot. Likewise, the system may identify the spotters of the user. In some embodiments, the system may cause a user device to display the number of users spotted by the user and/or the number of users spotting the user. The system may transmit and cause the user device to display the post and/or their verification results from another user spotted by the user or from another user spotting the user. The system may also receive a feed for the post from the devices which display the post. The feed may include comments and/or fistbumps from a spotter or another user who the user is spotting. The system may also cause the user device to display comments and/or fistbumps from one or more spotter or one or more other users who are spotting the user. In some embodiments, the system may transmit and cause the user devices to display the post and/or the verification result based on the popularity of a post and/or the popularity of a user. The system may rank the posts based on the number of times that a post has been viewed by users and/or the number of fistbumps that a post has received. The system may also rank a user based on the number of spotters he or she has. The system may determine and cause the user devices to display a predetermined number of the most-viewed posts. In some embodiments, the system may determine and cause the user devices to display the posts from a predetermined number of most popular users. The system may also cause the user device to display comments and/or fistbumps for these most-viewed posts and for the posts from the most popular users.

In some embodiments, the system may receive an input from the user that is a rating of a verifier. The rating may be in the form of for example a five-star rating system. However, different metrics may be used, including a point-based system. In some embodiments, the system may permit to receive and record the rating of the verifier from a given user only once. The system may receive the rating of verifier from one or more user devices of one or more users. The system may perform a statistical analysis on a plurality of received rating values for a verifier and generate an aggregated rating value for the verifier. The system may transmit the rating of the verifier and cause a user device related to the verifier to display the rating. The user device related to the verifier may be the device associated with the verifier. The user device related to the verifier may be the device that displays the posts verified by the verifier. The user device related to the verifier may be the device that has identified the device as a verification device for a post. In some embodiments, the verifier and/or the rating of the verifier may be part of a query criterion that a user specifies to filter posts.

FIG. 3 illustrates an example of a process for verifying exercise-specific data of a post implemented in system 100. The post contains exercise-specific data about bench press performed by an athlete. The system may receive the post containing exercise-specific data about bench press from the user device associated with the athlete 301. The system may also receive an input from the user device of the athlete indicating if he or she wants to subject the exercise-specific data of the post to a verification process by a trainer or a coach 303. If the system determines that the input from the athlete is an acceptance of verifying the post by a coach or a trainer, the system may transmit a notification to one or more user devices associated with a coach or a trainer to initiate a verification process for exercise- specific data of the post 305. The system may determine the qualification of the coach or trainer of the one or more devices to verify bench press performed by the athlete. The system may transmit the notification only to those devices associated with the coach or trainer qualified to verify bench press. The system may determine the qualification of the coach or trainer based on other factors, including location, sex, rating, club association, etc. In some embodiments, the system may transmit the notification to the one or more user devices associated with a coach or a trainer selected by the athlete. The system may receive one or more responses from the one or more user devices associated with a coach or a trainer in response to the notification 307. The response from the one or more devices may be an approval or a rejection to verify the exercise- specific data of the post from the athlete. The response may also include the reason for approval or rejection.

The system may designate one verification device from one or more user devices associated with the coach or trainer who agrees to verify the exercise specific data of the post 309. The system may determine the designation of the verification device based on the order of responses received by the system. For example, the system may determine the designation of the verification device on a“first come, first serve” basis. Accordingly, the system may designate the coach or trainer associated with the verification device as a verifier for the post. After the verification device is designated, the system may transmit a request to the verification device to prompt the verifier to verify the exercise-specific data of the post 311. The system may receive a verification result for the post from the verification device 313. The verification result may include information indicating the exercise- specific data have been verified by the coach or trainer. The verification result may further include comments from the coach or trainer with regard to the post. The system may transmit the verification result and/or the verified post the user device of the athlete and cause the user device to display the verified result and/or the verified post. The system may also cause the user device to display the verified post and an icon indicating that the post has been verified by the coach or trainer. The system may also transmit the verification result and/or the verified post to one or more user devices when the post satisfies a predetermined criterion 315. The system may cause the one or more user devices to display the verified post and an icon indicating that the post has been verified by the coach or trainer.

If the system determines that the input from the athlete is a rejection of verifying the post by a coach or a trainer, the system may transmit the unverified post the user device of the athlete and cause the user device to display the unverified post. In some scenarios, the system may also cause the user device to display the unverified post and an icon indicating that the post has not been verified by the coach or trainer. The system may also transmit the unverified post to one or more user devices when the post satisfies a predetermined criterion 321. The system may cause the one or more user devices to display the unverified post and an icon indicating that the post has not been verified by the coach or trainer.

FIG. 4 illustrates an example of a process that may be implemented on the client system 120. Upon receiving an input from a user that is indicative of a request to create a new post, the system may prompt the user to enter the information of the post. The information of the post may include exercise- specific data of an exercise regimen of the user. The post may be a text, a photo or a video. Similarly, the exercise-specific data may also be a text, a photo or a video. The exercise-specific data may include additional information, such as the type of exercise, rep type, and location. For example, a user may specify the life type as bench press and rep type as max weight, and the specific value of the max weight that he or she successfully lifted. The post may additionally include caption and comments from the user.

In some embodiments, the system may prompt the user to upload a photo or a video. The photo or video may be retrieved from storage or a memory of the user device. In some embodiments, the system may invoke a camera function of the user device and allow the user to take photos or videos for uploading as part of the post. In some embodiments, the system may resize the photo or the videos according to a threshold value (e.g., maximum size in kilobytes, megabytes or gigabytes, maximum or minimum resolution in dots per inch (DPI) or pixels per inch (PPI)). In some embodiments, the system may resize the photo or the videos based on the transmission rate of the network 130 and the links 140.

The system may prompt the user to input for privacy setting to specify whether the user intends to publish the post publically or keep it private. The system may also prompt the user for an input indicating whether the user intends to subject the exercise data of the post for a verification process by a second user. In some embodiments, the second user is the user who is registered as a coach or a trainer during the account registration process. In some embodiments, the second user is certified by the system during the account registration process or through a certification renewal program. The system may also prompt the user to input for privacy setting to specify whether the user intends to publish the post publically or keep it private. The system may also prompt the user for an input indicating whether the user intends to subject the exercise data of the post for a verification process by a second user. In some embodiments, the second user is the user who is registered as a coach or a trainer during the account registration process. In some embodiments, the second user is certified by the system during the account registration process or through a certification renewal program. After the user enters the information of the post and uploads it for posting, the system may transmit to a server device a post containing exercise-specific data about the exercise regimen of the user 401. The system may also transmit an input that is indicative of requesting or denying a verification process for the exercise-specific data of the post by a verifier 403. If a verification process is requested, the system may receive from the server device the post and/or a verification result for the post. The system may additionally receive from the server device the comments from the verifier 405. The verification result may include information indicating that the post has been verified. The system may cause the user device to display the verified post and/or comments from the verifier. In some embodiments, the system may also display an icon along with the post 407. The icon indicates that the exercise-specific data of the post has been verified by the verifier. In some embodiments, the system may receive a feed entered by the user for the post and cause the user device to display the feed. The feed may include comments and/or fistbumps from another user. Another user may be a group member, a spotter, or someone who the user is spotting.

If a verification process is not requested the system may receive from the server device the post that is not subjected to the verification process and cause the user device to display the post. Alternatively, and/or optionally, the system may cause the user device to display the post prior to being transmitted to the server device when the system determines that no modification has been imposed on the post. The modification may include revision or deletion. In some embodiments, the system may cause the user device to display the post along with an icon indicating that the post has not been verified by a verifier. In some embodiments, the system may transmit the unverified post to one or more user devices, based on one or more query criteria. For example, a user may choose to view the posts from other users which satisfy one or more query criteria the user specifies. The query criteria may include name, exercise type, exercise condition, age, sex, location, verification status, group association, club affiliation, the popularity of the post, rating, spotting/spotter status, number of spotters, etc. Upon receiving queries from a user device, the system may interrogate the database and retrieve the posts that meet the query criteria. The system may also cause the user device to display the post. For example, the system may cause the user device to display the post and an icon which indicates the exercise-specific data of the post has been verified by a verifier. In some embodiments, the system may also cause the user device to display the comments from the verifier along with the post. In some embodiments, the system may receive a modification (e.g., revision, deletion) of the post on the user device. The system may update the post in response to the modification, and cause the user device to display updated posts or to remove the post from the display. FIG. 5 illustrates an example of a process that may be implemented on a client system of a verifier. The system may receive from a server device a notification to verify a post entered by a user 501. In some embodiments, the system may prompt for action from the verifier that is either an acceptance or a rejection for verifying the post 503. The system may receive additional inputs from the verifier. The additional inputs may include the reason for acceptance or rejection for verification of the post. The system may transmit to the server device the response from the verifier indicating whether the request for verifying the post has been accepted by the verifier 505. In some embodiments, the system may transmit to the server device the response from the verifier indicating whether the request for verifying the post has been accepted by the verifier 521. After the system transmits the response indicating the acceptance to verify the post, the response may be in a queue among the responses transmitted by other user devices. A device transmitting the response may be designed as a verification device based on one or more criteria. In some embodiments, the device transmitting a response is designated as the verification device if the response is received by the system first. If the verifier is designated to verify the post, the system may receive from the server device the post for verification and cause the verifier device to display the post containing the exercise-specific data 507. After receiving from the verifier inputs that constitutes a verification result for the post, the system may transmit the verification results for the post to the server device 509. The verification result may include information indicating that the exercise-specific data of the post has been verified. The verification result may include comments from the verifier regarding the exercise-specific data. In some embodiments, the verification result may include information about the verifier. Such information about the verifier may include name, qualification, location, and rating of the verifier. In some embodiments, the system may cause the verifier device to display the number of pending notifications and/or pending requests received from the server device that are in need of actions from the verifier. The system may cause the verifier device to send a reminder message about pending notifications or pending requests via an SMS message service, an E-mail service, or a push notification service. The system may also determine a change of the status of any of the pending notifications and/or pending requests, update the pending notifications and/or the pending requests accordingly to reflect the change of the status.

In some embodiments, the system may cause one or more user devices to display posts on a leaderboard, as shown in FIGs. 8A-D and FIGs. 9A-D. The term“leaderboard” refers to a user interface that is configured to display one or more posts from a user, a group of users, or a subset of a group of people. Providing leaderboards for an exercise activity or a group incentivizes users to keep working toward a particular objective. By providing leaderboards for a subset of users, instead of only providing a single high-score leaderboard, creates increased opportunity for a user to feature on a leaderboard early in the exercise activity, increasing the incentive to the user to continue trying hard. The subset of users may be affiliated or associated with the user to which the leaderboard is presented. The subset of users may be selected based on an indication of one or more user parameters. Providing leaderboards featuring a subset of users having a common attribute and/or affiliation, increases competitiveness in the users, providing an incentive to continue engaging in exercise activities.

Leaderboards may be implemented on a client system and configured for display posts on a mobile device, a tablet, a laptop, or a desktop computer. In some embodiments, the system may provide a leaderboard for each exercise activity. For example, the system may provide a leaderboard for bench press, as shown in FIG. 8B. Likewise, the system may provide a leaderboard for chest press. In some embodiments, the system may provide a leaderboard for a group of users or a subset of a group of users, as shown in FIG. 8C. In one example, the system may provide a leaderboard for spotters of a user. In another example, the system may provide a leaderboard for users who are spotted by the user. The system may similarly provide a leaderboard for a group created by the user, as shown in FIGs. 9A-D. In creating the group, the system may receive from the user a selection of group members. The system may also receive an input from the user a privacy setting indicating whether the group can be viewed publicly or remains private. The system may also receive an input from the user a notification setting indicating whether the user wants to receive updates of the group members. The updates may include any activity associated with a group member, include a new post, a progress, a feed, a fistbump, an achievement of goals, etc.

In some embodiments, the system may provide a leaderboard based on one or more criteria entered by the user. In one example, the system may provide a leaderboard based on location (e.g., nearby, country, region, state/province, pre-determined radius). In another example, the system may provide a leaderboard based on rep range and/or weight. In some embodiments, the leaderboard may be configured to display contents after being filtered by one or more criteria (e.g., max reps, max weight, age, sex, location).

In some embodiments, the system may set an existing leaderboard as a default leaderboard. The system may configure the default leaderboard so that the system causes a user device to display the default leaderboard once the system grants the access to a user. In some embodiments, the leaderboard may be configured to display the progress of a user based on a comparison between current exercise-specific data and the historical exercise- specific data over a period of time. In some embodiments, the leaderboard may be configured to display a ranking of users included in the leaderboard. The system may determine the ranking based on the most up-to-date exercise-specific data or aggregated exercise- specific data over a period of time. The leaderboard may be configured to display additional information associated with users on the leaderboard. For example, leaderboard may be configured to display current ranking position the user with respect to other users on the leaderboard, as shown in FIG. 8D. In addition, the leaderboard may be configured to display maximum reps or maximum weight a user has achieved.

In some embodiments, the system may transmit a weekly report presenting the progress a user achieved over a period of time. The progress may include a change of a ranking position with respect to other members of the leaderboard. The progress may also include certain achievements or badges the user has received. In some embodiments, the leaderboard is configured to display a trophy or a badge indicating that the user has achieved an exercise set for a group of users.

FIG. 10 is a functional diagram illustrating a programmed computer system for image processing in accordance with some embodiments. As will be apparent, other computer system architectures and configurations can be used to perform the described image processing technique. Computer system 1000, which includes various subsystems as described below, includes at least one microprocessor subsystem (also referred to as a processor or a central processing unit (CPU) 1006). For example, processor 1006 can be implemented by a single chip processor or by multiple processors. In some embodiments, processor 1006 is a general purpose digital processor that controls the operation of the computer system 100. In some embodiments, processor 1006 also includes one or more coprocessors or special purpose processors (e.g., a graphics processor, a network processor, etc.). Using instructions retrieved from memory 1007, processor 1006 controls the reception and manipulation of input data received on an input device (e.g., image processing device 1003, I/O device interface 1002), and the output and display of data on output devices (e.g., display 1001).

Processor 1006 is coupled bi-directionally with memory 1007, which can include, for example, one or more random access memories (RAM) and/or one or more read-only memories (ROM). As is well known in the art, memory 1007 can be used as a general storage area, a temporary (e.g., scratch pad) memory, and/or a cache memory. Memory 1007 can also be used to store input data and processed data, as well as to store programming instructions and data, in the form of data objects and text objects, in addition to other data and instructions for processes operating on processor 1006. Also as is well known in the art, memory 1007 typically includes basic operating instructions, program code, data, and objects used by the processor 1006 to perform its functions (e.g., programmed instructions). For example, memory 1007 can include any suitable computer-readable storage media described below, depending on whether, for example, data access needs to be bi-directional or uni-directional. For example, processor 1006 can also directly and very rapidly retrieve and store frequently needed data in a cache memory included in memory 1007.

A removable mass storage device 1008 provides additional data storage capacity for the computer system 1000, and is optionally coupled either bi-directionally (read/write) or uni- directionally (read-only) to processor 1006. A fixed mass storage 1009 can also, for example, provide additional data storage capacity. For example, storage devices 1008 and/or 1009 can include computer-readable media such as magnetic tape, flash memory, PC-CARDS, portable mass storage devices such as hard drives (e.g., magnetic, optical, or solid state drives), holographic storage devices, and other storage devices. Mass storages 1008 and/or 1009 generally store additional programming instructions, data, and the like that typically are not in active use by the processor 1006. It will be appreciated that the information retained within mass storages 1008 and 1009 can be incorporated, if needed, in standard fashion as part of memory 1007 (e.g., RAM) as virtual memory.

In addition to providing processor 1006 access to storage subsystems, bus 1010 can be used to provide access to other subsystems and devices as well. As shown, these can include a display 1001, a network interface 1004, an input/output ( I/O) device interface 1002, an image processing device 1003, as well as other subsystems and devices. For example, image processing device 1003 can include a camera, a scanner, etc.; I/O device interface 1002 can include a device interface for interacting with a touchscreen (e.g., a capacitive touch sensitive screen that supports gesture interpretation), a microphone, a sound card, a speaker, a keyboard, a pointing device (e.g., a mouse, a stylus, a human finger), a Global Positioning System (GPS) receiver, an accelerometer, and/or any other appropriate device interface for interacting with system 1000. Multiple I/O device interfaces can be used in conjunction with computer system 1000. The I/O device interface can include general and customized interfaces that allow the processor 1006 to send and, more typically, receive data from other devices such as keyboards, pointing devices, microphones, touchscreens, transducer card readers, tape readers, voice or handwriting recognizers, biometrics readers, cameras, portable mass storage devices, and other computers. The network interface 1004 allows processor 1006 to be coupled to another computer, computer network, or telecommunications network using a network connection as shown. For example, through the network interface 1004, the processor 1006 can receive information (e.g., data objects or program instructions) from another network, or output information to another network in the course of performing method/process steps. Information, often represented as a sequence of instructions to be executed on a processor, can be received from and outputted to another network. An interface card or similar device and appropriate software implemented by (e.g., executed/performed on) processor 1006 can be used to connect the computer system 1000 to an external network and transfer data according to standard protocols. For example, various process embodiments disclosed herein can be executed on processor 1006 or can be performed across a network such as the Internet, intranet networks, or local area networks, in conjunction with a remote processor that shares a portion of the processing. Additional mass storage devices (not shown) can also be connected to processor 1006 through network interface 1004.

In addition, various embodiments disclosed herein further relate to computer storage products with a computer-readable medium that includes program code for performing various computer-implemented operations. The computer-readable medium includes any data storage device that can store data which can thereafter be read by a computer system. Examples of computer-readable media include, but are not limited to: magnetic media such as disks and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks; and specially configured hardware devices such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), and ROM and RAM devices. Examples of program code include both machine code as produced, for example, by a compiler, or files containing higher level code (e.g., script) that can be executed using an interpreter.

The computer system as shown in FIG. 10 is but an example of a computer system suitable for use with the various embodiments disclosed herein. Other computer systems suitable for such use can include additional or fewer subsystems. In some computer systems, subsystems can share components (e.g., for touchscreen-based devices such as smartphones, tablets, etc., I/O device interface 1002 and display 1001 share the touch-sensitive screen component, which both detects user inputs and displays outputs to the user). In addition, bus 1010 is illustrative of any interconnection scheme serving to link the subsystems. Other computer architectures having different configurations of subsystems can also be utilized.

The use of the word“a” or“an”, when used in conjunction with the term“comprising” in the claims and/or the specification, may mean“one,” but it is also consistent with the meaning of“one or more,”“at least one,” and“one or more than one.” As used in this specification and claim(s), the words“comprising” (and any form of comprising, such as“comprise” and“comprises”),“having” (and any form of having, such as “have” and“has”),“including” (and any form of including, such as“includes” and“include”) or“containing” (and any form of containing, such as“contains” and“contain”) are inclusive or open-ended and do not exclude additional, unrecited elements or method steps.

Other objects, features, and advantages of the present invention will become apparent from the following detailed description. It should be understood, however, that the detailed description and the examples, while indicating specific embodiments of the invention, are given by way of illustration only. Additionally, it is contemplated that changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.