IP Library Granted Patent US 12,265,799
Granted Patent B2
US 12,265,799 · App. 18/163,258 · Granted Apr 1, 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,265,799
App. No.
18/163,258
Granted
Apr 1, 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 (32)

1. A software development platform providing an integrated resource for design, development, and purchase of customer-desired software applications for software projects created by customers, 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 software development platform configured to collect data from activity in the software development platform in accordance with platform-defined graph data schema, wherein the graph data schema defines a set of node types representing entities, the node types defined to be feature, project, template, problem group, and creator, each node type having a set of defined attributes, and different types of edges that represent interrelationship between entities; wherein a feature node represents an independent unit of predefined functionality that comprises a basic building block of the platform, a project node represents a collection of features, template node represents a structured collection of features that represent a software application, problem group node represents a set of features that solve a problem, and a creator node represent a developer;

the 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 the software projects conducted on the software development platform and related information and is updated to include new software projects using collected data; and

the software development platform configured to, in response to a query of the nodes and edges, control one or more parts of the operation of the platform.

2. The software development platform of claim 1 wherein the platform is configured to traverse nodes and edges and stop travel to identify one or paths comprising connected node and edge paths in the graph database in accordance with a graph traversal algorithm, wherein the platform stops traversal when a criterion of the algorithm is not found.

3. The software development platform of claim 1 wherein the platform is configured, in response to the query, to provide a service comprising feature recommendation, timeline, or pricing.

4. The software development platform of claim 1 wherein the graph schema includes defined node attributes comprising attributes for the feature node comprising complexity and price and for the project node comprising timelines, status, and developer squad.

5. The software development platform of claim 1 wherein the 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.

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

7. The software development platform of claim 1 wherein the platform is configured define the graph schema to include edge definitions comprising feature-feature, project-feature, template-feature, project-template, template-problem, and creator-project.

8. A non-transitory computer readable medium storing one or more software applications that causes a computer system to execute a method that implements a 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 software development platform;

collecting data from activity in the software development platform in accordance with platform-defined graph data schema, wherein the graph data schema defines a set of node types representing entities, the node types defined to be feature, project, template, problem group, and creator, each node type having a set of defined attributes, and different types of edges that represent interrelationship between entities; wherein a feature node represents an independent unit of predefined functionality that comprises a basic building block of the platform, a project node represents a collection of features, template node represents a structured collection of features that represent a software application, problem group node represents a set of features that solve a problem, and a creator node represent a developer;

configuring the platform 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 to reuse existing nodes and edges, add 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 the software projects conducted on the 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, controlling one or more parts of the operation of the platform.

9. The non-transitory computer readable medium of claim 8 wherein method comprising configuring the platform to traverse nodes and edges and stop travel to identify one or paths comprising connected node and edge paths in the graph database in accordance with a graph traversal algorithm, wherein the platform stops traversal when a criterion of the algorithm is not found.

10. The non-transitory computer readable medium of claim 8 wherein method comprising in response to the query, providing a service comprising feature recommendation, timeline, or pricing.

11. The non-transitory computer readable medium of claim 8 wherein the graph schema includes defined node attributes comprising attributes for the feature node comprising complexity and price and for the project node comprising timelines, status, and developer squad.

12. The non-transitory computer readable medium of claim 8 wherein method comprising 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.

13. The non-transitory computer readable medium of claim 8 wherein method comprising storing a plurality of different hyper parameters corresponding to different software tools on the platform.

14. The non-transitory computer readable medium of claim 8 wherein the method comprising configuring define the graph schema to include edge definitions comprising feature-feature, project-feature, template-feature, project-template, template-problem, and creator-project.

15. A computer implemented method for a 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 software development platform;

collecting data from activity in the software development platform in accordance with platform-defined graph data schema, wherein the graph data schema defines a set of node types representing entities, the node types defined to be feature, project, template, problem group, and creator, each node type having a set of defined attributes, and different types of edges that represent interrelationship between entities; wherein a feature node represents an independent unit of predefined functionality that comprises a basic building block of the platform, a project node represents a collection of features, template node represents a structured collection of features that represent a software application, problem group node represents a set of features that solve a problem, and a creator node represent a developer;

configuring the platform 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 to reuse existing nodes and edges, add 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 the software projects conducted on the 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, controlling one or more parts of the operation of the platform.

16. The computer-implemented method of claim 15 wherein method comprising configuring the platform to traverse nodes and edges and stop travel to identify one or paths comprising connected node and edge paths in the graph database in accordance with a graph traversal algorithm, wherein the platform stops traversal when a criterion of the algorithm is not found.

17. The computer-implemented method of claim 15 wherein method comprising in response to the query, providing a service comprising feature recommendation, timeline, or pricing.

18. The computer-implemented method of claim 15 wherein the graph schema includes defined node attributes comprising attributes for the feature node comprising complexity and price and for the project node comprising timelines, status, and developer squad.

19. The computer-implemented method of claim 15 wherein method comprising 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 15 wherein method comprising storing a plurality of different hyper parameters 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 20230251830A1 · Aug 10, 2023
References Cited (89)
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 8144619B2 · Hoffberg · 2012 [cited by applicant]
US 8146053B2 · Morrow et al. · 2012 [cited by applicant]
US 8365018B2 · McIntosh et al. · 2013 [cited by applicant]
US 8413062B1 · Little · 2013 [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 8893212B2 · Reisman · 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 9563407B2 · Salter · 2017 [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 10649741B2 · Duggal · 2020 [cited by applicant]
US 10798028B2 · Fung et al. · 2020 [cited by applicant]
US 11086599B2 · Duggal et al. · 2021 [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 20160092179A1 · Straub · 2016 [cited by applicant]
US 20160139888A1 · Iyer et al. · 2016 [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 20210349695A1 · Duggal et al. · 2021 [cited by applicant]
US 20210390032A1 · Quaglio et al. · 2021 [cited by applicant]
US 20220004366A1 · Ghosh · 2022 [cited by examiner]
US 20220236958A1 · Duggal et al. · 2022 [cited by applicant]
US 20220241548A1 · Duggal et al. · 2022 [cited by applicant]
US 20220244921A1 · Duggal et al. · 2022 [cited by applicant]
US 20220244922A1 · Duggal et al. · 2022 [cited by applicant]
US 20220244923A1 · Duggal et al. · 2022 [cited by applicant]
US 20220326914A1 · Duggal et al. · 2022 [cited by applicant]
US 20220342642A1 · Duggal et al. · 2022 [cited by applicant]
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]
JP 201325612 · 2013 [cited by applicant]
KR 101975272 · 2019 [cited by applicant]
WO 2015136607 · 2015 [cited by applicant]
WO 2018005665 · 2018 [cited by applicant]
WO 2021116471 · 2021 [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]
Bernaschina et al., “Formal Semantics of OMG's Interaction Flow Modeling Language (IFML) for Mobile and Rich-Client Application Model Driven Development,” Elsevier, pp. 239-260 (2017). [cited by applicant]
Bernaschina et al., “Online Model Editing, Simulation and Code Generation for Web and Mobile Applications,” IEEE, pp. 33-37 (2017). [cited by applicant]
Chen et al., “Wireframe-Based UI Design Search Through Image Autoencoder,” Retrieved from the Internet: <https://arxiv.org/pdf/2103.07085vl.pdf> ACM Trans. Softw. Eng. Methodol., vol. 29, No. 3, Article 19, 31 pages (Ma… [cited by applicant]
Dekkers, “Beyond Development: Estimating Model for Run & Maintain Cost,” Software Measurement European Forum, Italy, pp. 249-264 (2007). [cited by applicant]
Al Asheeri and Hammad, “Machine Learning Models for Software Cost Estimation,” 2019 International Conference on Innovation and Intelligence for Informatics, Computing, and Technologies (3ICT), 6 pages (2019). [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]