Prosecution Insights
Last updated: August 14, 2026
Application No. 18/428,013

CONVERTING PULL-BASED CODE INTO PUSH-BASED CODE

Non-Final OA §101§103
Filed
Jan 31, 2024
Examiner
NAHAR, QAMRUN
Art Unit
2199
Tech Center
2100 — Computer Architecture & Software
Assignee
Electronic Arts Inc.
OA Round
1 (Non-Final)
88%
Grant Probability
Favorable
1-2
OA Rounds
7m
Est. Remaining
98%
With Interview

Examiner Intelligence

Grants 88% — above average
88%
Career Allowance Rate
625 granted / 710 resolved
+33.0% vs TC avg
Moderate +10% lift
Without
With
+9.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
14 currently pending
Career history
726
Total Applications
across all art units

Statute-Specific Performance

§101
19.2%
-20.8% vs TC avg
§103
33.5%
-6.5% vs TC avg
§102
29.6%
-10.4% vs TC avg
§112
12.7%
-27.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 710 resolved cases

Office Action

§101 §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 . Claims 1-20 have been examined. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 15-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. Claim 15 reciting a “One or more computer-readable media”, is not limited to tangible storage devices in view of pg. 21, par. 00110, in the instant specification, which suggests that such a medium may be a carrier wave or transmission medium (intangible). Accordingly, claim 15 does not recite tangible manufactures, and are non-statutory subject matter. As per claims 16-20, these claims are rejected for failing to cure the deficiencies of the above rejected base claim 15. Claims 1-7 and 9-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to abstract idea without significantly more. Claims 1, 9 and 15 recite receive source code comprising pull-based programming language instructions, wherein the pull-based programming language instructions comprise a plurality of nodes connected by a plurality of edges to form a directed graph; and convert the source code into push-based programming language instructions at least in part by: traversing the pull-based programming language instructions to determine one or more scopes of the directed graph including respective groups of one or more nodes of the plurality of nodes, the determining of the one or more scopes being associated with one or more conditional nodes of the plurality of nodes; and generating the push-based programming language instructions for the source code based on the one or more scopes of the directed graph. The limitations of converting the source code into push-based programming language instructions at least in part by: traversing the pull-based programming language instructions to determine one or more scopes of the directed graph including respective groups of one or more nodes of the plurality of nodes, the determining of the one or more scopes being associated with one or more conditional nodes of the plurality of nodes; and generating the push-based programming language instructions for the source code based on the one or more scopes of the directed graph, as drafted, is a process that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components. That is, other than reciting one or more processors and one or more computer-readable media (in claims 1 and 15) nothing in the claim elements precludes the step from practically being performed in the mind. It is noted that it is intended that the builder does the act of traversing and generating but such was not a requirement of the claim and thus cannot be considered in the BRI of such based on MPEP 2111 regarding unrecited limitations / reading elements of the specification into the claims. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of generic computer components, then it falls within the "Mental Processes" grouping of abstract ideas. Accordingly, the claims recite an abstract idea. This judicial exception is not integrated into a practical application. In particular, the claims recite the additional step of receiving source code comprising pull-based programming language instructions, wherein the pull-based programming language instructions comprise a plurality of nodes connected by a plurality of edges to form a directed graph. The receiving step is recited at a high level of generality (i.e. as a general means of receiving code) and amounts to mere data gathering, which is a form of insignificant extra-solution activity. The combination of this additional step is no more than mere instructions to apply the exception using generic computer components (i.e. the one or more processors and one or more computer-readable media). Accordingly, even in combination, this additional step does not integrate the abstract idea into a practical application because it does not impose meaningful limits on practicing the abstract idea. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the processor is a generic computer processor which performs the receiving step. The only additional element of receiving step which is insignificant extra-solution activity (MPEP 2106.05(g) and MPEP 2106.05(d) - i. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec, 838 F.3d at 1321, 120 USPQ2d at 1362 (utilizing an intermediary computer to forward information); TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 610, 118 USPQ2d 1744, 1745 (Fed. Cir. 2016) (using a telephone for image transmission); OIP Techs., Inc., v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1093 (Fed. Cir. 2015) (sending messages over a network); buySAFE, Inc. v. Google, Inc., 765 F.3d 1350, 1355, 112 USPQ2d 1093, 1096 (Fed. Cir. 2014) (computer receives and sends information over a network); but see DDR Holdings, LLC v. Hotels.com, L.P., 773 F.3d 1245, 1258, 113 USPQ2d 1097, 1106 (Fed. Cir. 2014) ("Unlike the claims in Ultramercial, the claims at issue here specify how interactions with the Internet are manipulated to yield a desired result‐‐a result that overrides the routine and conventional sequence of events ordinarily triggered by the click of a hyperlink." (emphasis added)); and WURC as data gathering, which is covered by court cases in MPEP 2106.05(g)). The claims are not patent eligible. Claim 2 recites "wherein the traversing includes: determining a last node of the plurality of nodes in the directed graph; assigning the last node to a root scope of the one or more scopes of the directed graph; traversing the directed graph to a first source node, wherein an input of the last node is based at least in part on an output of the first source node; determining the first source node is a conditional node that outputs one of a plurality of conditional inputs of the first source node based on a condition input of the first source node; creating a new scope of the one or more scopes of the directed graph, the new scope owned by the first source node and associated with a conditional input of the plurality of conditional inputs; and assigning a second source node that is the source of the conditional input to the new scope" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 3 recites "wherein the traversing further includes: assigning the first source node and a third source node that is the source of the condition input of the first source node to another scope associated with the first source node" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 4 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: determining a shared node is assigned to a first set of two or more scopes; determining a second set of scopes owned by another node receiving an input based at least in part on an output of the shared node is coextensive with the first set of two or more scopes of the shared node; and reducing the first set of two or more scopes to another scope to which the other node is assigned" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 5 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: inserting push-based programming language instructions for a conditional node into a list of push-based programming language instructions associated with a scope of the conditional node, the list of push-based programming language instructions including an insertion point for push-based programming language instructions associated with a first scope owned by the conditional node and associated with a first conditional input of the conditional node; and inserting the push-based programming language instructions associated with the first scope owned by the conditional node into the list of instructions at the insertion point" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 6 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: inserting a function call associated with a shared scope of a shared node assigned a plurality of scopes into a list of push-based programming language instructions associated with a scope of another node that receives an output of the shared node as an input; inserting push-based programming language instructions associated with a last node of the plurality of nodes into a list of push-based programming language instructions associated with a root scope; and subsequent to inserting the push-based programming language instructions associated with the last node into the list of push-based programming language instructions associated with the root scope: inserting, into the list of instructions associated with the root scope, push- based programming language instructions of a function associated with the function call including push-based programming language instructions associated with the shared node" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 7 recites "wherein the push-based programming language instructions of the function further include push-based programming language instructions to exit the function before a second execution of the push-based programming language instructions associated with the shared node" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 10 recites "wherein the traversing includes: determining a last node of the plurality of nodes in the directed graph; assigning the last node to a root scope of the one or more scopes of the directed graph; traversing the directed graph to a first source node, wherein an input of the last node is based at least in part on an output of the first source node; determining the first source node is a conditional node that outputs one of a plurality of conditional inputs of the first source node based on a condition input of the first source node; creating a new scope of the one or more scopes of the directed graph, the new scope owned by the first source node and associated with a conditional input of the plurality of conditional inputs; and assigning a second source node that is the source of the conditional input to the new scope" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 11 recites "wherein the traversing further includes: assigning the first source node and a third source node that is the source of the condition input of the first source node to another scope associated with the first source node" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 12 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: determining a shared node is assigned to a first set of two or more scopes; determining a second set of scopes owned by another node receiving an input based at least in part on an output of the shared node is coextensive with the first set of two or more scopes of the shared node; and reducing the first set of two or more scopes to another scope to which the other node is assigned" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 13 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: inserting push-based programming language instructions for a conditional node into a list of push-based programming language instructions associated with a scope of the conditional node, the list of push-based programming language instructions including an insertion point for push-based programming language instructions associated with a first scope owned by the conditional node and associated with a first conditional input of the conditional node; and inserting the push-based programming language instructions associated with the first scope owned by the conditional node into the list of instructions at the insertion point" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 14 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: inserting a function call associated with a shared scope of a shared node assigned a plurality of scopes into a list of push-based programming language instructions associated with a scope of another node that receives an output of the shared node as an input; inserting push-based programming language instructions associated with a last node of the plurality of nodes into a list of push-based programming language instructions associated with a root scope; and subsequent to inserting the push-based programming language instructions associated with the last node into the list of push-based programming language instructions associated with the root scope: inserting, into the list of instructions associated with the root scope, push- based programming language instructions of a function associated with the function call including push-based programming language instructions associated with the shared node and push-based programming language instructions to exit the function before a second execution of the push-based programming language instructions associated with the shared node" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 16 recites "wherein the traversing includes: determining a last node of the plurality of nodes in the directed graph; assigning the last node to a root scope of the one or more scopes of the directed graph; traversing the directed graph to a first source node, wherein an input of the last node is based at least in part on an output of the first source node; determining the first source node is a conditional node that outputs one of a plurality of conditional inputs of the first source node based on a condition input of the first source node; creating a new scope of the one or more scopes of the directed graph, the new scope owned by the first source node and associated with a conditional input of the plurality of conditional inputs; and assigning a second source node that is the source of the conditional input to the new scope" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 17 recites "wherein the traversing further includes: assigning the first source node and a third source node that is the source of the condition input of the first source node to another scope associated with the first source node" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 18 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: determining a shared node is assigned to a first set of two or more scopes; determining a second set of scopes owned by another node receiving an input based at least in part on an output of the shared node is coextensive with the first set of two or more scopes of the shared node; and reducing the first set of two or more scopes to another scope to which the other node is assigned" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 19 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: inserting push-based programming language instructions for a conditional node into a list of push-based programming language instructions associated with a scope of the conditional node, the list of push-based programming language instructions including an insertion point for push-based programming language instructions associated with a first scope owned by the conditional node and associated with a first conditional input of the conditional node; and inserting the push-based programming language instructions associated with the first scope owned by the conditional node into the list of instructions at the insertion point" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim 20 recites "wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: inserting a function call associated with a shared scope of a shared node assigned a plurality of scopes into a list of push-based programming language instructions associated with a scope of another node that receives an output of the shared node as an input; inserting push-based programming language instructions associated with a last node of the plurality of nodes into a list of push-based programming language instructions associated with a root scope; and subsequent to inserting the push-based programming language instructions associated with the last node into the list of push-based programming language instructions associated with the root scope: inserting, into the list of instructions associated with the root scope, push- based programming language instructions of a function associated with the function call including push-based programming language instructions associated with the shared node and push-based programming language instructions to exit the function before a second execution of the push-based programming language instructions associated with the shared node" (Mental Processes). The features of this claim do not add any additional elements integrating the abstract idea into a practical application or amounting to significantly more. Claim Rejections - 35 USC § 103 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. Claim(s) 1-5, 9-13 and 15-19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sundaresan (US 2025/0045049) in view of Yasue (US 2024/0385855). Per Claim 1: Sundaresan teaches one or more processors; and one or more computer-readable media storing computer-executable instructions that (par. 0091), when executed by the one or more processors, cause the one or more processors to: receive source code comprising pull-based programming language instructions, wherein the pull-based programming language instructions comprise a plurality of nodes connected by a plurality of edges to form a directed graph (“… A hardware storage device is disclosed having stored thereon computer executable instructions that are structured to be executable by a processor of a computing device to thereby cause the computing device to perform actions that: generate a dependency graph for a repository, wherein the repository comprises source code files having methods and classes, wherein the dependency graph comprises a plurality of nodes representing the source code file, methods and classes within the repository, an edge between two nodes represents a dependency between two nodes …” in par. 0111); and convert the source code into push-based programming language instructions at least in part by: traversing the pull-based programming language instructions to determine one or more scopes of the directed graph including respective groups of one or more nodes of the plurality of nodes; and generating the push-based programming language instructions for the source code based on the one or more scopes of the directed graph (“… obtaining a pull request comprising a plurality of code changes; mapping each of the plurality of code changes to a respective node in the dependency graph; generate a score for each of the plurality of code changes based on a size of connected components of the respective mapped node in the dependency graph and a page rank of the respective mapped node; selecting top-k code diff hunks based on highest scores; generate a prompt to a large language model, wherein the prompt comprises top-k code changes; obtain from the large language model a natural language summarization of the top-k code changes of the pull request; and output the natural language summarization of the top-k code changes in the pull request. …” in par. 0111). Sundaresan does not explicitly teach that the determining of the one or more scopes being associated with one or more conditional nodes of the plurality of nodes. However, Yasue teaches that the determining of the one or more scopes being associated with one or more conditional nodes of the plurality of nodes ([0065] Having generated the control flow graph data structure, paths through the control flow graph are identified from a start node to an end node. Each separate path may be identified and maintained as a separate potential or possible execution path for the computer application (or program). In addition, the source code path analyzer 210 may further identify any loop regions present in the control flow graph and assign a variable name representing the number of loop iteration count corresponding to each path in the loop. Thus, the source code path analyzer 210 generates a control flow graph data structure for the computer application source code 204 and analyzes the control flow graph data structure to identify the separate paths of the control flow graph, remove nodes of paths that do not have operators for which there are execution counts in the execution log data structure(s) 206, and generates variables for loops in the control flow graph data structure where those variables represent iterations of the loop. And e.g. see Fig. 11B). It would have been obvious to one having ordinary skill in the computer art before the effective filing date of the claimed invention to modify the system disclosed by Sundaresan to include that the determining of the one or more scopes being associated with one or more conditional nodes of the plurality of nodes using the teaching of Yasue. The modification would be obvious because one of ordinary skill in the art would be motivated to maintain performance of computer code execution without degrading it by instrumentation overhead (Yasue, par. 0004). Per Claim 2: The rejection of claim 1 is incorporated, and Yasue further teaches wherein the traversing includes: determining a last node of the plurality of nodes in the directed graph; assigning the last node to a root scope of the one or more scopes of the directed graph; traversing the directed graph to a first source node, wherein an input of the last node is based at least in part on an output of the first source node; determining the first source node is a conditional node that outputs one of a plurality of conditional inputs of the first source node based on a condition input of the first source node; creating a new scope of the one or more scopes of the directed graph, the new scope owned by the first source node and associated with a conditional input of the plurality of conditional inputs; and assigning a second source node that is the source of the conditional input to the new scope (par. 0109-0120 and 0135). Per Claim 3: The rejection of claim 2 is incorporated, and Yasue further teaches wherein the traversing further includes: assigning the first source node and a third source node that is the source of the condition input of the first source node to another scope associated with the first source node (par. 0109-0120). Per Claim 4: The rejection of claim 1 is incorporated, and Sundaresan further teaches wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: determining a shared node is assigned to a first set of two or more scopes; determining a second set of scopes owned by another node receiving an input based at least in part on an output of the shared node is coextensive with the first set of two or more scopes of the shared node; and reducing the first set of two or more scopes to another scope to which the other node is assigned (par. 0059-0061). Per Claim 5: The rejection of claim 1 is incorporated, and Yasue further teaches wherein converting the source code into push-based programming language instructions further includes performing a second traversal including: inserting push-based programming language instructions for a conditional node into a list of push-based programming language instructions associated with a scope of the conditional node, the list of push-based programming language instructions including an insertion point for push-based programming language instructions associated with a first scope owned by the conditional node and associated with a first conditional input of the conditional node; and inserting the push-based programming language instructions associated with the first scope owned by the conditional node into the list of instructions at the insertion point (par. 0109-0120). Per Claims 9-13: These are method versions of the claimed system discussed above (claims 1-5, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, these claims are also obvious. Per Claims 15-19: These are media versions of the claimed system discussed above (claims 1-5, respectively), wherein all claim limitations also have been addressed and/or covered in cited areas as set forth above. Thus, accordingly, these claims are also obvious. Claim(s) 8 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sundaresan (US 2025/0045049) in view of Yasue (US 2024/0385855), and further in view of Sliwka (US 2024/0261692). Per Claim 8: The rejection of claim 1 is incorporated, and further, Sundaresan does not explicitly teach wherein the computer-executable instructions further cause the one or more processors to: generate byte code based on the push-based programming language instructions. However, Sliwka teaches wherein the computer-executable instructions further cause the one or more processors to: generate byte code based on the push-based programming language instructions (par. 1101 and 1441). It would have been obvious to one having ordinary skill in the computer art before the effective filing date of the claimed invention to modify the system disclosed by Sundaresan to include wherein the computer-executable instructions further cause the one or more processors to: generate byte code based on the push-based programming language instructions using the teaching of Sliwka. The modification would be obvious because one of ordinary skill in the art would be motivated to facilitate interactions between web2.0 applications such as video games (Sliwka, par. 0002). Allowable Subject Matter Claims 6-7, 14 and 20 are rejected under 35 USC 101, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims and the 35 USC 101 rejection is overcome. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Janicic (US 2025/0244979) teaches a method for generating a directed graph. Any inquiry concerning this communication or earlier communications from the examiner should be directed to QAMRUN NAHAR whose telephone number is (571)272-3730. The examiner can normally be reached Monday - Friday 8-4pm. 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 can be reached on (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. /QAMRUN NAHAR/Primary Examiner, Art Unit 2199
Read full office action

Prosecution Timeline

Jan 31, 2024
Application Filed
Apr 16, 2026
Non-Final Rejection mailed — §101, §103
Jul 29, 2026
Applicant Interview (Telephonic)
Jul 30, 2026
Examiner Interview Summary

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12699555
Method And System for Compiling Applications
2y 5m to grant Granted Aug 04, 2026
Patent 12693856
APPARATUS, METHOD, AND COMPUTER PROGRAM PRODUCT FOR OUTPUTTING A SOFTWARE DEVELOPMENT NETWORK ENVIRONMENT ESCALATE ACTION AGGREGATION INTERFACE COMPONENT TO A SOFTWARE DEVELOPMENT NETWORK ENVIRONMENT OPERATIONS ACTION INTERFACE
2y 7m to grant Granted Jul 28, 2026
Patent 12693840
ROBOT PROGRAM GENERATION SYSTEM, ROBOT PROGRAM GENERATION METHOD, PROTOCOL CONVERSION DETERMINATION DEVICE, ROBOT PROGRAM, PROTOCOL, AND MANUFACTURING SYSTEM
2y 5m to grant Granted Jul 28, 2026
Patent 12664041
SYSTEMS AND METHODS FOR FAST-MAPPING OF COARSE-GRAINED RECONFIGURABLE ARRAYS
2y 3m to grant Granted Jun 23, 2026
Patent 12657304
UPDATE OF AN OPERATING SYSTEM IN A SECURITY ELEMENT
2y 4m to grant Granted Jun 16, 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

1-2
Expected OA Rounds
88%
Grant Probability
98%
With Interview (+9.9%)
3y 2m (~7m remaining)
Median Time to Grant
Low
PTA Risk
Based on 710 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