IP Library Granted Patent US 12,242,821
Granted Patent B2
US 12,242,821 · App. 18/163,271 · Granted Mar 4, 2025

Systems and methods for creating software

Inventors: Siddhartha Ghosh (London, GB); Sarvaswa Tandon (London, GB); Ralph Bourdoukan (London, GB); Sachin Dev Duggal (London, GB); Rohan Patel (London, GB)
Assignee: Engineer.ai Corp
G06F8/316G06F8/20G06F8/36G06F8/71G06Q10/06311G06Q30/0283
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,242,821
App. No.
18/163,271
Granted
Mar 4, 2025
Kind
B2
Abstract

An online software development platform providing an integrated resource for design, development, and purchase of customer-desired software applications for software projects created by customers. The platform comprising one or more computers configured using computer readable instructions stored in non-transitory computer memory to provide the software development platform, wherein the software development platform is configured to implement a plurality of electronic operational domains providing user-interactive capabilities or internal functionalities of the software development platform. The domains comprising a project scope process, a pricing process, and a project development process. The platform is configured to use a configuration involving knowledge graph to recommend features.

Claims (38)

1. An online software development platform providing an integrated resource for design and development of customer-desired software applications, comprising:

one or more computers configured using computer readable instructions stored in non-transitory computer memory to provide the online software development platform, wherein the online software development platform is configured to implement a plurality of electronic operational domains providing user-interactive capabilities or internal functionalities of the online software development platform, the domains comprising:

a database configured to store the online software development platform-defined graph data structures including edges, nodes, and properties in accordance with one or more data schemas, wherein the online software development platform-defined graph data structures comprise a plurality of different types of nodes representing entities, the node types comprising template, project, and feature, each node type having a set of defined attributes, and a plurality of different types of edges that represent interrelationship between entities;

wherein the online software development platform is configured to collect data from activity in a project scope process, pricing process, and project development process in accordance with the online software development platform-defined graph data structures, wherein as part of the project scope process a plurality of features are selected by a current user to be included in the customer-desired software application;

wherein the online software development platform is configured to generate and store a graph database comprising the nodes and edges created from the collected data in the operation of software development platform and configured to reuse existing nodes and edges, add new nodes and edges, and adjust individual attributes of existing nodes and edges, wherein the graph database represents via nodes and edges an aggregation of previous software projects conducted on the online software development platform and related information and is updated to include new software projects using collected data; and

wherein the online software development platform is configured to, in response to a query of the nodes and edges, determine, using graph traversal of associations of one or more of the selected features, one or more other features to include in the customer-desired software application.

2. The online software development platform of claim 1 wherein the platform is configured to store the graph database in a first location, periodically perform a script that copies the graph database, loads the copied graph database to a second location, and interacts with the copied knowledge graph as part of the operation of the online software development platform to provide software tools based on the knowledge graph.

3. The online software development platform of claim 1 wherein the online software development platform is configured to include embedding generation that generates an embedding comprising a plurality of n-dimensional vectors that in accordance with an embedding algorithm represent the graph database, each n-dimensional vector corresponding to a node in the graph database and comprising vector values based on relationship to other nodes in the graph database.

4. The online software development platform of claim 1 wherein the platform is configured to store a plurality of different hyper parameters corresponding to different software tools on the platform.

5. The online software development platform of claim 1 wherein the online software development platform recommends to the current user the determined one or more features to add to a current software project of the current user.

6. The online software development platform of claim 1 wherein the online software development platform is configured to provide one or more feature recommendation in real time using the graph database in response to a query for a recommendation comprising features selected by the current user.

7. The online software development platform of claim 1 wherein the online software development platform is configured to:

include embedding generation that generates an embedding comprising a plurality of n-dimensional vectors that in accordance with an embedding algorithm represent the graph database, each n-dimensional vector corresponding to a node in the graph database and comprising vector values based on relationship to other nodes in the graph database; and

control the embedding generation with the hyper parameters and generate different and store different embeddings corresponding to different software tools.

8. The online software development platform of claim 7 wherein the query is applied to the embedding to generate an output for the control of an operation, display, or recommendation; and the online software development platform is configured to suggest a feature to add to the online software project based on the embedding.

9. A non-transitory computer readable medium storing one or more software applications that causes a computer system to execute a method that implements an online software development platform providing an integrated resource for design and development of customer-desired software applications, the method comprising:

implementing a plurality of electronic operational domains providing user-interactive capabilities or internal functionalities of the online software development platform, the domains comprising:

a database configured to store online software development platform-defined graph data structures including edges, nodes, and properties in accordance with one or more data schemas, wherein the online software development platform-defined graph data structures comprise a plurality of different types of nodes representing entities, the node types comprising template, project, and feature, each node type having a set of defined attributes, and a plurality of different types of edges that represent interrelationship between entities;

collecting data from activity in a project scope process, pricing process, and project development process in accordance with the online software development platform-defined graph data structures, wherein as part of the project scope process a plurality of features are selected by a current user to be included in the customer-desired software application;

generating and storing a graph database comprising the nodes and edges created from the collected data in the operation of software development platform, wherein the generating comprising reusing existing nodes and edges, adding new nodes and edges, and adjusting individual attributes of existing nodes and edges, wherein the graph database represents via nodes and edges an aggregation of previous software projects conducted on the online software development platform and related information and is updated to include new software projects using collected data; and

in response to a query of the nodes and edges, determining, using graph traversal of associations of one or more of the selected features, one or more other features to include in the customer-desired software application.

10. The non-transitory computer readable medium of claim 9 wherein the platform is configured to store the graph database in a first location, periodically perform a script that copies the graph database, loads the copied graph database to a second location, and interacts with the copied knowledge graph as part of the operation of the online software development platform to provide software tools based on the knowledge graph.

11. The non-transitory computer readable medium of claim 9 wherein the method comprising including embedding generation that generates an embedding comprising a plurality of n-dimensional vectors that in accordance with an embedding algorithm represent the graph database, each n-dimensional vector corresponding to a node in the graph database and comprising vector values based on relationship to other nodes in the graph database.

12. The non-transitory computer readable medium of claim 9 wherein the method comprising storing a plurality of different hyperparameters corresponding to different software tools on the platform.

13. The non-transitory computer readable medium of claim 9 wherein the method comprising recommending to the current user the determined one or more features to add to a current software project of the current user.

14. The non-transitory computer readable medium of claim 9 wherein the method comprising providing one or more feature recommendation in real time using the graph database in response to a query for a recommendation comprising features selected by the current user.

15. The non-transitory computer readable medium 9 wherein the method comprising:

implementing embedding generation that generates an embedding comprising a plurality of n-dimensional vectors that in accordance with an embedding algorithm represent the graph database, each n-dimensional vector corresponding to a node in the graph database and comprising vector values based on relationship to other nodes in the graph database, and controlling the embedding generation with the hyper parameters and generate different and store different embeddings corresponding to different software tools.

16. The non-transitory computer readable medium of claim 15 wherein the method comprising applying the query to the embedding to generate an output for the control of an operation, display, or recommendation; and suggesting a feature to add to the online software project based on the embedding.

17. A computer implemented method for providing an online software development platform that provides an integrated resource for design and development of customer-desired software applications, the method comprising:

implementing a plurality of electronic operational domains providing user-interactive capabilities or internal functionalities of the online software development platform, the domains comprising:

a database configured to store the online software development platform-defined graph data structures including edges, nodes, and properties in accordance with one or more data schemas, wherein the online software development platform-defined graph data structures comprise a plurality of different types of nodes representing entities, the node types comprising template, project, and feature, each node type having a set of defined attributes, and a plurality of different types of edges that represent interrelationship between entities;

collecting data from activity in a project scope process, pricing process, and project development process in accordance with the online software development platform-defined graph data structures, wherein as part of the project scope process a plurality of features are selected by a current user to be included in the customer-desired software application;

generating and storing a graph database comprising the nodes and edges created from the collected data in the operation of software development platform, wherein the generating comprising reusing existing nodes and edges, adding new nodes and edges, and adjusting individual attributes of existing nodes and edges, wherein the graph database represents via nodes and edges an aggregation of previous software projects conducted on the online software development platform and related information and is updated to include new software projects using collected data; and

in response to a query of the nodes and edges, determining, using graph traversal of associations of one or more of the selected features, one or more other features to include in the customer-desired software application.

18. The computer implemented method of claim 17 wherein the method comprising storing the graph database in a first location, periodically perform a script that copies the graph database, loads the copied graph database to a second location, and interacts with the copied knowledge graph as part of the operation of the online software development platform to provide software tools based on the knowledge graph.

19. The computer implemented method of claim 17 wherein the method comprising including embedding generation that generates an embedding comprising a plurality of n-dimensional vectors that in accordance with an embedding algorithm represent the graph database, each n-dimensional vector corresponding to a node in the graph database and comprising vector values based on relationship to other nodes in the graph database.

20. The computer implemented method of claim 17 wherein the method comprising storing a plurality of different hyperparameters corresponding to different software tools on the platform.

Assignments (1)
SUPPLEMENT NO. 1 TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 4, 2025
From: ENGINEER.AI CORP.; ENGINEER.AI GLOBAL LIMITED
To: VIOLA CREDIT PARTNERS MANAGEMENT, LIMITED PARTNERSHIP, AS COLLATERAL AGENT
Reel/Frame 070393/0620 →
Continuity (3)
Continuation 17348695 · Jun 15, 2021
Provisional Application 63039968 · Jun 16, 2020
Related Publication 20230418564A1 · Dec 28, 2023
References Cited (67)
US 6016394A · Walker · 2000 [cited by applicant]
US 6697824B1 · Bowman-Amuah · 2004 [cited by applicant]
US 7536676B2 · Baker et al. · 2009 [cited by applicant]
US 7783523B2 · Lopez et al. · 2010 [cited by applicant]
US 8458009B1 · Southworth · 2013 [cited by applicant]
US 8621423B2 · Knight et al. · 2013 [cited by applicant]
US 8640027B2 · Chandhoke et al. · 2014 [cited by applicant]
US 8997038B2 · Bozek et al. · 2015 [cited by applicant]
US 9129038B2 · Begel et al. · 2015 [cited by applicant]
US 9268544B2 · Kang et al. · 2016 [cited by applicant]
US 9286040B2 · Halley et al. · 2016 [cited by applicant]
US 9342623B2 · Narayanan et al. · 2016 [cited by applicant]
US 9477779B2 · Webber et al. · 2016 [cited by applicant]
US 9753960B1 · Troyanovsky · 2017 [cited by applicant]
US 9886247B2 · Laredo et al. · 2018 [cited by applicant]
US 10296308B2 · Lance · 2019 [cited by applicant]
US 10469741B2 · Ishibashi · 2019 [cited by applicant]
US 10521199B2 · Ganesan et al. · 2019 [cited by applicant]
US 10540153B2 · Stachura · 2020 [cited by applicant]
US 10776965B2 · Stetson et al. · 2020 [cited by applicant]
US 11995418B2 · Duggal et al. · 2024 [cited by applicant]
US 20030018952A1 · Roetzheim · 2003 [cited by applicant]
US 20050066304A1 · Tattrie et al. · 2005 [cited by applicant]
US 20060259442A1 · Iqbal · 2006 [cited by applicant]
US 20080004844A1 · Kefford · 2008 [cited by applicant]
US 20080235155A1 · Thywissen · 2008 [cited by applicant]
US 20090037287A1 · Baitalmal et al. · 2009 [cited by applicant]
US 20110088011A1 · Ouali · 2011 [cited by applicant]
US 20110271246A1 · Fujihara · 2011 [cited by applicant]
US 20110276354A1 · Bijani et al. · 2011 [cited by applicant]
US 20120331439A1 · Zimmermann et al. · 2012 [cited by applicant]
US 20140173454A1 · Sanchez · 2014 [cited by applicant]
US 20140330867A1 · Sarkar et al. · 2014 [cited by applicant]
US 20160055079A1 · Hanna · 2016 [cited by applicant]
US 20160139888A1 · Iyer et al. · 2016 [cited by applicant]
US 20170221240A1 · Stetson et al. · 2017 [cited by applicant]
US 20200057946A1 · Singaraju et al. · 2020 [cited by applicant]
US 20200125478A1 · Iyer et al. · 2020 [cited by applicant]
US 20200285450A1 · Das et al. · 2020 [cited by applicant]
US 20210149957A1 · Grossman et al. · 2021 [cited by applicant]
US 20220004366A1 · Ghosh · 2022 [cited by examiner]
US 20230168869A1 · Ghosh · 2023 [cited by examiner]
US 20230168870A1 · Ghosh · 2023 [cited by examiner]
US 20230176825A1 · Ghosh · 2023 [cited by examiner]
US 20230176826A1 · Ghosh · 2023 [cited by examiner]
US 20230176827A1 · Ghosh · 2023 [cited by examiner]
US 20230176828A1 · Ghosh · 2023 [cited by examiner]
US 20230185542A1 · Ghosh · 2023 [cited by examiner]
US 20230251830A1 · Ghosh · 2023 [cited by examiner]
CN 102880455 · 2013 [cited by applicant]
CN 107346249 · 2017 [cited by applicant]
CN 110457031 · 2019 [cited by applicant]
CN 110457313 · 2019 [cited by applicant]
CN 110515614 · 2019 [cited by applicant]
CN 111158670 · 2020 [cited by applicant]
KR 101975272 · 2019 [cited by applicant]
WO 2004102431 · 2004 [cited by applicant]
WO 2015136607 · 2015 [cited by applicant]
WO 2018005665 · 2018 [cited by applicant]
Sharlene Aminullah, “Cost Estimation of Service Delivery in Cloud Computing”, Aug. 2012, Arjuna Technologies Ltd., 95 pages ( Year: 2012). [cited by applicant]
Nathan Curtis, “Modular Web Design—Creating Reusable Components for User Experience Design”, 2010, Peachpit Press, 328 pages (Year: 2010). [cited by applicant]
International Search Report and Written Opinion, International Application No. PCT/EP2020/085866 mailed Mar. 31, 2021 (11 pages). [cited by applicant]
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for International Application No. PCT/US2017/057030, International Fili… [cited by applicant]
Angel Puerta et al., “The UI Pilot: A Model-Based Tool to Guide Early Interface Design”, 2005, ACM, pp. 215-222 (Year: 2005). [cited by applicant]
Thung, “API Recommendation System for Software Development,” Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, pp. 896-899 (2016). [cited by applicant]
Microsoft Development Support, “Recommendations API is retired! Here is what you can do,” Microsoft Dev Blogs, retrieved from https://devblogs.microsoft.com/, 5 pages (2019). [cited by applicant]
Yamanaka and Annamalai, “Build Recommendation Systems Using a Graph Database,” Oracle, 29 pages (2020). [cited by applicant]