IP Library Granted Patent US 12,299,416
Granted Patent B2
US 12,299,416 · App. 18/163,245 · Granted May 13, 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)
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,299,416
App. No.
18/163,245
Granted
May 13, 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 (41)

1. A computer implemented method for creating software, comprising:

receiving input from a customer, by a server running a software creating component, the input describing at least one aspect of a software program;

determining, by the software creating component based on the input, existing code components that may be used to create the software program, the existing code components being stored in a code library accessible by the software creating component;

determining, by the software creating component based on the user input and based on the existing code components that may be used to create the software program, new code components that must be developed for the software program;

implementing an artificial learning algorithm comprising a learning algorithm that provides pricing;

providing, by the software creating component to the user, a cost estimate for the software program based on the existing code components that may be used and based on the new code components that must be developed;

generating, by the software creating program, a project schedule based at least in part on a project template, the project schedule including events related to the creation of the software program;

managing, by the software creating program, the events related to the creation of the software program;

sending, by the software creating program, a set of existing code requirement and a set of new code requirements to a team selector; and

generating, by the software creating program, a project template based on the existing code components that may be used and based on the new code components that must be developed.

2. The computer implemented method of claim 1 further comprising adjusting the cost estimate based on the at least one aspect of the software program.

3. The computer implemented method of claim 2 , the at least one aspect of the software program including at least one of: a platform category, an application template, a requirement collection, a platform, a number of screens, a feature, a team location, a time to market, and a build depth.

4. The computer implemented method of claim 3 , the build depth including: a wireframe, a design, a navigable prototype, a minimal viable product, or a complete project.

5. The computer implemented method of claim 1 , the events related to the creation of the software program including at least one of: a project milestone; a code commit; and a customer message.

6. The computer implemented method of claim 1 , the method further comprising:

passing, by the software creating program, at least one event ID to a communication program; and

sending, by the communication program, a message to the customer based on the event ID.

7. The computer implemented method of claim 1 , the method further comprising:

receiving, by a communication program, a message from the customer; and

parsing, by the communication program, the received message into the software creating program.

8. 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 for creating software, the method comprising:

receiving input from a customer, by a server running a software creating component, the input describing at least one aspect of a software program;

determining, by the software creating component based on the input, existing code components that may be used to create the software program, the existing code components being stored in a code library accessible by the software creating component;

determining, by the software creating component based on the user input and based on the existing code components that may be used to create the software program, new code components that must be developed for the software program;

implementing an artificial learning algorithm comprising a learning algorithm that provides pricing;

providing, by the software creating component to the user, a cost estimate for the software program based on the existing code components that may be used and based on the new code components that must be developed;

generating, by the software creating program, a project schedule based at least in part on a project template, the project schedule including events related to the creation of the software program;

managing, by the software creating program, the events related to the creation of the software program;

sending, by the software creating program, a set of existing code requirement and a set of new code requirements to a team selector; and

generating, by the software creating program, a project template based on the existing code components that may be used and based on the new code components that must be developed.

9. The non-transitory computer readable medium of claim 8 further comprising adjusting the cost estimate based on the at least one aspect of the software program.

10. The non-transitory computer readable medium of claim 9 , the at least one aspect of the software program including at least one of: a platform category, an application template, a requirement collection, a platform, a number of screens, a feature, a team location, a time to market, and a build depth.

11. The non-transitory computer readable medium of claim 10 , the build depth including: a wireframe, a design, a navigable prototype, a minimal viable product, or a complete project.

12. The non-transitory computer readable medium of claim 8 , the events related to the creation of the software program including at least one of: a project milestone;

a code commit; and a customer message.

13. The non-transitory computer readable medium of claim 8 , the method further comprising:

passing, by the software creating program, at least one event ID to a communication program; and

sending, by the communication program, a message to the customer based on the event ID.

14. The non-transitory computer readable medium of claim 8 , the method further comprising:

receiving, by a communication program, a message from the customer; and

parsing, by the communication program, the received message into the software creating program.

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 (6)
Continuation 17348695 · Jun 15, 2021
Continuation In Part 16854805 · Apr 21, 2020
Continuation 15786431 · Oct 17, 2017
Provisional Application 63039968 · Jun 16, 2020
Provisional Application 62408935 · Oct 17, 2016
Related Publication 20230168867A1 · Jun 1, 2023
References Cited (63)
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 10313526B2 · Steiner · 2019 [cited by examiner]
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 examiner]
US 10776965B2 · Stetson · 2020 [cited by examiner]
US 11086599B2 · Duggal · 2021 [cited by examiner]
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 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 20230168868A1 · Ghosh · 2023 [cited by examiner]
US 20230176824A1 · 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 WO2004102431A1 · 2004 [cited by examiner]
WO 2015136607 · 2015 [cited by applicant]
WO 2018005665 · 2018 [cited by applicant]
Dekkers, “Beyond Development: Estimating Model for Run & Maintain Cost”, 2007, Software Measurement European Forum, Italy, pp. 249-264. (Year: 2007). [cited by examiner]
Sharlene Aminullah, “Cost Estimation of Service Delivery in Cloud Computing”, Aug. 2012, Arjuna Technologies Ltd., 95 pages. (Year: 2012). [cited by examiner]
Asheeri et al., “Machine Learning Models for Software Cost Estimation”, IEEE, 2019, 6 pages. (Year: 2019). [cited by examiner]
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]