Prosecution Insights
Last updated: July 28, 2026
Application No. 17/681,598

RESOURCE-SHARING MESH-NETWORKED MOBILE NODES

Final Rejection §103
Filed
Feb 25, 2022
Priority
Feb 26, 2021 — provisional 63/154,516 +1 more
Examiner
ESPANA, CARLOS ALBERTO
Art Unit
2199
Tech Center
2100 — Computer Architecture & Software
Assignee
Turbineone Inc.
OA Round
4 (Final)
67%
Grant Probability
Favorable
5-6
OA Rounds
0m
Est. Remaining
93%
With Interview

Examiner Intelligence

Grants 67% — above average
67%
Career Allowance Rate
18 granted / 27 resolved
+11.7% vs TC avg
Strong +26% interview lift
Without
With
+26.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 6m
Avg Prosecution
17 currently pending
Career history
55
Total Applications
across all art units

Statute-Specific Performance

§101
1.9%
-38.1% vs TC avg
§103
91.2%
+51.2% vs TC avg
§102
5.7%
-34.3% vs TC avg
§112
0.6%
-39.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 27 resolved cases

Office Action

§103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Arguments Applicant’s arguments with respect to claim(s) 1-2, 4-9, 11-15 and 17-21 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-2, 8-9, 14-15 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over HS (US 20210271516 A1), in view of Li (US 20200210243 A1) and Daijavad (US 20170286181 A1). Regarding claim 1, HS teaches: A non-transitory computer readable storage medium storing instructions, the instructions when executed by a set of one or more processors causes the set of one or more processors to . ([0096] The present disclosure may take a form of a computer program product including program modules accessible from computer-usable or computer-readable medium storing program code for use by or in connection with one or more computers, processors, or instruction execution system.) capture, by a sensor of a first worker node in a network of worker nodes connected to each other through the network, a stream of data describing an environment of the first worker node. ([0055] The sensors 122-126 and 128-132 include a heat sensor, humidity sensor, light sensor, vibration sensor, proximity sensor, etc. The sensor nodes 112 and 114 include the sensors 122-126 and 128-132, respectively. Further, the sensor nodes 112 and 114 include a processor, memory, and a communication unit (not shown). The sensor nodes 112 and 114 are configured to perform computation on sensor data from the sensors 122-126 and 128-132. The computation may be defined as one or more tasks. The sensor nodes 112 and 114 are configured to decide whether the one or more tasks will overload the processor and the memory. Accordingly, the sensor nodes 112 and 114 are smart sensor nodes configured to determine whether workload offloading is required. [0055] The sensors 122-126 and 128-132 include a heat sensor, humidity sensor, light sensor, vibration sensor, proximity sensor, etc. The sensor nodes 112 and 114 include the sensors 122-126 and 128-132, respectively. Further, the sensor nodes 112 and 114 include a processor, memory, and a communication unit (not shown). The sensor nodes 112 and 114 are configured to perform computation on sensor data from the sensors 122-126 and 128-132. The computation may be defined as one or more tasks. The sensor nodes 112 and 114 are configured to decide whether the one or more tasks will overload the processor and the memory. Accordingly, the sensor nodes 112 and 114 are smart sensor nodes configured to determine whether workload offloading is required. See also [0058] and [0070-0080]) identify, by the first worker node, a first processing task to be performed by one or more worker nodes in the network of worker nodes, the first processing task comprising processing the stream of data describing the environment of the first worker node. ([0055]The sensor nodes 112 and 114 are configured to decide whether the one or more tasks will overload the processor and the memory. Accordingly, the sensor nodes 112 and 114 are smart sensor nodes configured to determine whether workload offloading is required. See also [0058] and [0070-0080]) transmit, by the first worker node through the network, a work request associated with the first processing task to a coordinating node in the network of worker nodes. ([0059] The operation offloading a task is performed in acts 202 to 214. At act 202, the sensor node 112 determines an event associated with overloading of its resources. The sensor node 112 decides to offload the task based on the event. The method of deciding the task to offload is explained in FIG. 5. [0060] At act 204, the sensor node 112 initiates the workload transfer by sending an overload message to the edge device 116. At act 206, the edge device 116 determines whether the sensor node 114 capable of executing the tasks. The determination is made based on resources available on the sensor node 114, a minimum task resource requirement associated with the task, predicted resources on the sensor node 114, and a proximity of the sensor node 112 and the sensor node 114 to field devices 106, 108 associated with the tasks. In the present embodiment, the sensor node 114 is selected for offloading. See also [0058] and [0070-0080]) receive, from the coordinating node through the network, a list of worker nodes in the network of worker nodes capable of performing the first processing task associated with the work request ([0088] FIG. 6 is a flow diagram illustrating an exemplary method 600 of executing one or more tasks in an IoT environment, according to another embodiment. The method 600 starts at act 602 by receiving an overload message from a first sensor node on an edge device. The overload message indicates an inability of the first sensor node to execute the one or more tasks. [0089] At act 604, a second sensor node capable of executing the one or more tasks is determined. The determination is based on resources available on the first sensor node and the second sensor node, minimum task resource requirement associated with the one or more tasks, predicted resources on the first sensor node and the second sensor node, and proximity of the first sensor node and the second sensor node to field device associated with one or more tasks. The determination is made in real-time by the edge device. See also [0056]) HS does not appear to explicitly teach: divide, by the first worker node the first processing task associated with the work request into one or more processing buckets; assign, by the first worker node, a processing bucket from the one or more processing buckets to a second worker node from the list of worker nodes; and However, Li teaches a known process of communication between worker entities wherein [0039] In some embodiments, compute node 402 can then partition the computation task into a plurality of sub-tasks based on the compute context of the data. More specifically, compute node 402 can partition the computation task in such a way that each sub-task only requires data stored on a single storage node. This way, the single storage node can perform the sub-task without the need to request additional data from other storage nodes. For example, when partitioning the computation task of updating a table into a number of sub-tasks, compute node 402 can partition the computation task based on the way the table is stored in multiple storage nodes. A sub-task can include updating a section (e.g., a set of rows or columns) of the table, with such a section being stored on a particular storage node. Hence, that particular storage node can perform the sub-task without the need to obtain additional table content from other storage nodes. Note that task partitioning can be optional. When the computation task is relatively small, compute node 402 may chose not to partition the computation task. transmit, by the first worker node to the second worker node from the list of worker nodes through the network, a request to process a second processing task from the processing bucket assigned to the second worker node. Li also teaches: [0048] The compute node can then send the sub-tasks to corresponding storage nodes based on the previously obtained path info (operation 606). More specifically, if a particular sub-task requires a portion of data, which is stored on a particular storage node according to the path information, the sub-task can be sent to that particular storage node. In the event of multiple replicas of the data existing on multiple storage nodes, the compute node can randomly select a replica to send the sub-task, instead of sending the sub-task to all replicas. In some embodiments, the compute node sends detailed computation instructions associated with a sub-task to its corresponding storage node, thus enabling the storage node to execute the sub-task. The computation instructions can specify what type of operation is to be performed on which data. For example, a table-update instruction may specify that all numbers in the top five rows of a table should be increased by 20% or that the first two columns should be merged. The storage node then loads data from its local drives, which can be SSDs or HDDs, executes the sub-task based on the received computation instruction, and sends the result of the sub-task to the compute node. Accordingly, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of HS and Li before them, to apply the known technique indicated in Li’s task partitioning technique with HS’s methods for tasks executions using internet of things devices for processing by worker nodes. This combination would result in a system capable of storing the divided task and efficiently distribute them to the worker for execution. HS does not appear to explicitly teach: receive, by the first worker node from the second worker node, a request for data to be processed to perform the second processing task from the processing bucket assigned to the second worker node, wherein the second worker node is different from the first worker node and the coordinating node; and transmit, by the first worker node to the second worker node, the data to be processed to perform the second processing task from the processing bucket assigned to the second worker node. However, Daijavad teaches: [0016] In exemplary embodiments, a requestor device is a member of the device-computing network that creates or receives a task to be executed by the device-computing network. The requestor device is configured to decompose, or divide, the task into a plurality of sub-tasks, which are then transmitted to the other members of the device-computing network for execution. [0025] In exemplary embodiments, the sub-task may include a destination for the computing devices 202 to transmit the data resulting from the execution of the sub-task. Based on the sub-task, the destination may be the requestor device 202a or it may be another worker device 202b. For example, a requestor device 202a may have a task that is decomposed into a sensing sub-task that is performed by a first worker device 202b and a computational sub-task performed by a second worker device 202b, which relies on the data from the sensing task. In this example, the first worker device 202b can be configured to transmit the sensed data directly to the second worker device 202b. Alternatively, the first worker device 202b can be configured to transmit the sensed data to another network location that is accessible by the second worker device 202b. See also [0033-0036] Accordingly, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of HS and Daijavad before them, to apply the known technique indicated in Daijavad’s direct worker to worker handoff of data to complete tasks with HS’s methods for tasks executions using internet of things devices for processing by worker nodes. This combination would have predictably allowed worker assigned task to obtain data needed for execution from another worker in the distributed network. Regarding claim 2,Li teaches: The non-transitory computer readable storage medium of claim 1, wherein each of the one or more processing buckets comprises an identification of a predefined task and a location where data for processing the predefined task is stored. ([0039] In some embodiments, compute node 402 can then partition the computation task into a plurality of sub-tasks based on the compute context of the data. More specifically, compute node 402 can partition the computation task in such a way that each sub-task only requires data stored on a single storage node. This way, the single storage node can perform the sub-task without the need to request additional data from other storage nodes. For example, when partitioning the computation task of updating a table into a number of sub-tasks, compute node 402 can partition the computation task based on the way the table is stored in multiple storage nodes. A sub-task can include updating a section (e.g., a set of rows or columns) of the table, with such a section being stored on a particular storage node. Hence, that particular storage node can perform the sub-task without the need to obtain additional table content from other storage nodes. Note that task partitioning can be optional. When the computation task is relatively small, compute node 402 may chose not to partition the computation task. See also [0040]) Same motivation as claim 1. Regarding claim 21, HS teaches: The non-transitory computer readable storage medium of claim 1, wherein the network is a mesh network. ([0054] Each group of sensors 122-126 and 128-132 is connected to respective sensor nodes 112 and 114 via wired network or wireless network. Further the sensor nodes 112 and 114 are connected via low powered network protocol such as REpresentational State Transfer (REST), Message Queue Telemetry Transport (MQTT), and Advanced Message Queuing Protocol (AMQP), etc. Each of the sensor nodes 112 and 114 are connected to the edge device 116 via wired network or wireless network. The edge device 116 is connected to the IoT cloud platform 102 via the network 150, (for example, wide area network). [0087] At act 524, the first sensor node establishes communication with the second sensor node in the IoT environment. At act 526, the one or more tasks are assigned to the second sensor node such that the second sensor node executes the one or more tasks. At act 528, an executed result of the one or more tasks is received by the first sensor node from the second sensor node. See also [0068]) Regarding claim 8, the claim recites similar limitation as corresponding claim 1 and is rejected for similar reasons as claim 1 using similar teachings and rationale. HS also teaches: A system comprising. (Claim 16. An edge device in an Internet-of-Things (IoT) environment, the edge device comprising). Regarding claim 9, the claim recites similar limitation as corresponding claim 2 and is rejected for similar reasons as claim 2 using similar teachings and rationale. Regarding claim 14, the claim recites similar limitation as corresponding claim 1 and is rejected for similar reasons as claim 1 using similar teachings and rationale. HS also teaches: A method for sharing a computational load among worker nodes of a plurality of worker nodes, comprising. (Claim 1. A method of execution one or more tasks in an Internet-of-Things (IoT) environment assigned to a sensor node, the method comprising:). Regarding claim 15, the claim recites similar limitation as corresponding claim 2 and is rejected for similar reasons as claim 2 using similar teachings and rationale. Claims 4-6, 11-13 and 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over HS (US 20210271516 A1), in view of Li (US 20200210243 A1), Daijavad (US 20170286181 A1)and further view of Moore (US 20150234845 A1). Regarding claim 4, HS teaches: The non-transitory computer readable storage medium of claim 1, wherein the instructions further cause the set of one or more processors to: receive, by the first worker node and from the second worker node, a notification of completion for the second processing task; and remove, by the first worker node and responsive to receiving the notification of completion for the second processing task, the second processing task from the processing bucket ([0062] At act 212, the sensor node 114 informs the sensor node 112 that the sensor node 114 is ready for assignment of the task. At act 214, the sensor node 112 assigns the task to the sensor node 114. At act 216, the sensor node 114 executes the task and transmits executed results to the sensor node 112. [0095] The sensor node 704 executes the task 730b and transmits the results to the sensor node 704. Further, the tasks 730a and 730b communicate with each other such that the task suite 730 is reformed after execution of the task 730b at the sensor node 704.) HS does not appear to explicitly teach: and remove, responsive to receiving the notification of completion for the second processing task, the second processing task from the processing bucket. However, Moore teaches:[0023] Name nodes can determine that a name node has become unavailable by detecting that no inter-name node "heartbeat" message has been received, e.g., during a specified time period. If a name node that previously handled a subpartition is no longer available, then the technology can assign the subpartition to a different name node. The subpartitioning can optimize load-balancing for situations not involving failover for failed name nodes. Without sub partitioning, one of the surviving name nodes would assume double the workload of the remaining surviving name nodes (e.g., one surviving node takes over the entire failed partition). Additionally, even in non-failure scenarios, subpartitioning can provide load-balancing benefit. Although the hash-based partition can ensure that the namespace (e.g., pathnames) are equally divided between the name nodes (e.g., partitions), the size of the managed data can be dominated by the total number of data blocks for the files in the partitions. With subpartitioning, the overall load can be balanced, e.g., by skewing the partitions of the name space assigned to various partitions/name nodes to achieve an overall balance of data managed between the various name nodes. For example, one of the name nodes (e.g., the primary name node) can have a smaller partition than other name nodes by assignment of fewer or smaller subpartitions. In various embodiments, the technology stores the files that are capable of being mounted in a redundant, highly available manner, e.g., at storage servers. As an example, NetApp, Inc. commercializes storage servers that provide multiple levels of redundancy such that even when some components fail, other components can still satisfy storage requests (e.g., to write data or read previously stored data) See also [0030]. Accordingly, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of HS and Moore before them, to apply the known technique indicated in Moore’s task heartbeat response technique with HS’s methods for tasks executions using internet of things devices for processing by worker nodes. This combination would result in a system capable of storing, removing, partitioning and reassigning task to nodes that notify (heartbeat) creating a more responsive network base on the status of the nodes. Regarding claim 5, Moore also teaches: The non-transitory computer readable storage medium of claim 4, wherein the instructions further cause the set of one or more processors responsive to receiving the notification of completion for the second processing task, determine whether the processing bucket is empty; responsive to determining that the processing bucket is not empty, transmit to the second worker node, a request to process a third processing task from the processing bucket assigned to the second worker node; receive, from the second worker node, a request for data associated with the third processing task. transmit the data associated with the third processing task to the second worker node; receive, from the second worker node, a second notification of completion for the third processing task; and responsive to receiving the second notification of completion for the third processing task, remove the third processing task from the processing bucket . ([0023] In some embodiments, the namespace assigned to name nodes may be further partitioned into multiple subpartitions (also referred to as "buckets"). Each subpartition may be stored as a separate file system (e.g., HDFS file), e.g., at a redundant shared storage system. As an example, the namespace assigned to each of four name nodes may be further divided into eight subpartitions, thereby creating a total of 32 subpartitions. Each subpartition (or a subset of the subpartitions) may be stored on storage systems available via a network to all of the name nodes (e.g., because they are stored on storage systems commercialized by NetApp, Inc.). If one of the name nodes is no longer available to service requests from client computing devices, e.g., because of crashing, overloading, or other issues, the other name servers subsume the subpartitions previously handled by the name node that is no longer available. As an example, suppose name node 0 ("master name node") originally handled subpartitions 0-7, name node 1 originally handled subpartitions 8-15, name node 2 originally handled subpartitions 16-23, and name node 3 originally handled subpartitions 24-31; and then name node 1 becomes unavailable. Then, the master name node (name node 0) could redistribute subpartitions 8-15 across itself and name node 2 and name node 3, e.g., so that name node 0 subsequently handles subpartitions 0-10, name node 2 subsequently handles subpartitions 11-21, and name node 3 subsequently handles subpartitions 22-31.) Same motivation as claim 4. Regarding claim 6, Moore teaches: The non-transitory computer readable storage medium of claim 5, wherein the instructions further cause the set of one or more processors to: responsive to receiving the notification of completion for the third processing task, determine whether the processing bucket is empty; and responsive to determining that the processing bucket is empty, redistribute unprocessed tasks of the first processing task across the one or more processing buckets including the processing bucket. [0038] FIG. 7 is a flow diagram illustrating a routine 700 for creating and distributing a partition table, consistent with various embodiments. The routine 700 begins at block 702. At block 704, the routine 700 creates a partition table based on the number of available name nodes, e.g., as indicated in the configuration information described above in relation to FIG. 6. At block 706, the routine 700 transmits the created partition table to all the other name nodes. The routine then returns at block 708. In various embodiments, the routine may also transmit the created partition table to other computing devices.[0039] FIG. 8 is a table diagram illustrating a partition table 800, consistent with various embodiments. The partition table 800 can indicate a hash value range 802 that specifies a partition and a name node 804 that handles the specified partition. Same motivation as claim 1. Same motivation as claim 4. Regarding claim 11, the claim recites similar limitation as corresponding claim 4 and is rejected for similar reasons as claim 4 using similar teachings and rationale. Regarding claim 12, the claim recites similar limitation as corresponding claim 5 and is rejected for similar reasons as claim 5 using similar teachings and rationale. Regarding claim 13, the claim recites similar limitation as corresponding claim 6 and is rejected for similar reasons as claim 6 using similar teachings and rationale. Regarding claim 17, the claim recites similar limitation as corresponding claim 4 and is rejected for similar reasons as claim 4 using similar teachings and rationale. Regarding claim 18, the claim recites similar limitation as corresponding claim 5 and is rejected for similar reasons as claim 5 using similar teachings and rationale. Regarding claim 19, the claim recites similar limitation as corresponding claim 6 and is rejected for similar reasons as claim 6 using similar teachings and rationale. Claims 7 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over HS (US 20210271516 A1), in view of Li (US 20200210243 A1), Daijavad (US 20170286181 A1) and further view of Parker (US 20120254280 A1). Regarding claim 7, HS does not appear to explicitly teach: The non-transitory computer readable storage medium of claim 1, wherein the first worker node is a body worn computing device. However, Parker teaches : ([0020] The device 10 may be any type of communications or mobile computing device including e.g., a cellular phone, digital media player (e.g., audio or audio/video), personal digital assistant ("PDA") and a smart phone, which is a combination mobile telephone and handheld computer having PDA functionality). Accordingly, it would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of HS and Parker before them, to include Parker’s distributed computing using mobile devices with HS’s methods for tasks exactions using internet of things devices . One would have been motivated to make such a combination to expand the computing capacity of a distributed system by using devices that are always with the user. Regarding claim 20, the claim recites similar limitation as corresponding claim 6 and is rejected for similar reasons as claim 7 using similar teachings and rationale. Conclusion THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to CARLOS A ESPANA whose telephone number is (703)756-1069. The examiner can normally be reached Monday - Friday 8 a.m - 5 p.m EST. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, LEWIS BULLOCK JR can be reached at (571)272-3759. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /C.A.E./Examiner, Art Unit 2199 /LEWIS A BULLOCK JR/Supervisory Patent Examiner, Art Unit 2199
Read full office action

Prosecution Timeline

Show 10 earlier events
Jun 07, 2025
Request for Continued Examination
Jun 11, 2025
Response after Non-Final Action
Sep 18, 2025
Examiner Interview (Telephonic)
Oct 02, 2025
Non-Final Rejection mailed — §103
Feb 20, 2026
Response Filed
Apr 23, 2026
Final Rejection mailed — §103
Jul 23, 2026
Request for Continued Examination
Jul 26, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12675325
PIPELINE FOR RESOURCE AWARE WORKLOAD PLACEMENT USING A EUCLIDEAN-BASED PROJECTION METHOD
4y 2m to grant Granted Jul 07, 2026
Patent 12632305
INCREMENTAL ANALYSIS OF LEGACY APPLICATIONS
4y 4m to grant Granted May 19, 2026
Patent 12632307
Background Job Processing Framework
3y 8m to grant Granted May 19, 2026
Patent 12613737
RELATIVE DISPLACEABLE CAPACITY INTEGRATION
4y 7m to grant Granted Apr 28, 2026
Patent 12554553
DYNAMIC SCALING FOR WORKLOAD EXECUTION
4y 4m to grant Granted Feb 17, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

5-6
Expected OA Rounds
67%
Grant Probability
93%
With Interview (+26.5%)
3y 6m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 27 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month