IP Library Granted Patent US 12,436,746
Granted Patent B2
US 12,436,746 · App. 18/209,438 · Granted Oct 7, 2025

Method and system for hosting third-party web widgets for application development

Inventors: Francisco Ferreira (Uitikon Waldegg, CH); Matthieu Beteille (Brooklyn, NY); Oluwasesanfunmi Takuro (London, GB); Pierre-Victor Claude Georges Chaumier (Paris, FR); Raj Krishnan (London, GB); Rongxing Sun (Santa Clara, CA); Timothy Leung (London, GB)
Assignee: Palantir Technologies Inc.
G06F8/38G06F8/34G06F8/36G06F11/3688G06F3/04817G06F8/447G06F9/54G06F16/252G06F21/128G06F21/36
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,436,746
App. No.
18/209,438
Granted
Oct 7, 2025
Kind
B2
Abstract

This disclosure describes a computing system and method that allows developing and hosting third party widgets for building web or mobile applications. An exemplary method includes receiving, within a sandbox environment, source code for generating a widget and generating a live preview of the widget based on the source code; receiving a publishing command to publish the widget and executing an automatic pipeline to run tests on the widget; publishing the widget to a repository that is accessible through a no-code application builder; receiving, from the no-code application builder, a request to integrate the widget into an application; generating a configuration user interface for customizing the widget; and integrating the customized widget into an application by at least loading an ontology data corresponding to the application into the widget.

Claims (76)

1. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to perform, within a platform in a sandbox environment:

receiving, within the sandbox environment, source code for generating a widget;

syncing the source code into an in-browser bundler with libraries, wherein any relationships among the source code and the libraries are indicated by a dependency graph;

generating, within the sandbox environment, a live preview of the widget based on the source code or the libraries, wherein generating the live preview comprises rendering, using the in-browser bundler, the live preview of the widget based on the source code or the libraries, wherein the rendering of the live preview occurs within an iframe;

receiving a publishing command to publish the widget;

executing an automatic pipeline to run tests on the widget;

publishing the widget to a repository that is accessible through a no-code application builder;

receiving, from the no-code application builder, a request to integrate the widget into an application;

generating a configuration user interface for customizing the widget; and

integrating the customized widget into an application by at least loading an ontology data corresponding to the application into the widget.

2. The system of claim 1 , wherein the platform further comprises a web browser, and

the source code and the publishing command are received by the web browser,

the live preview is displayed on the web browser, and

the configuration user interface for customizing the widget is displayed on the no-code application builder.

3. The system of claim 2 , wherein the web browser comprises a first region for receiving the source code, and a second region for displaying the live preview of the widget.

4. The system of claim 1 , wherein the system is associated with one or more machine learning components, and wherein to publish the widget to the repository, the instructions cause the system to further perform:

obtaining, using the one or more machine learning components, metadata of the widget;

obtaining a list of repositories;

for each of a plurality of repositories, determining whether metadata of the repository matches with the metadata of the widget; and

in response to the metadata of the repository matching with the metadata of the widget, publishing the widget to the repository.

5. The system of claim 1 , wherein the no-code application builder comprises a graphic user interface (GUI) to generate the request without writing code.

6. The system of claim 1 , wherein to executing the automatic pipeline to run tests on the widget, the instructions cause the system to further perform:

integrating the widget with one or more preexisting widgets, wherein the integrating comprises importing ontology data corresponding to the platform into the widget and the one or more preexisting widgets, wherein the integrating results in a creation of a test application;

feeding input data into the test application;

executing the test application to output data based on the input data; and

receiving a verification of the test application.

7. The system of claim 6 , wherein the widget and the one or more preexisting widgets are published under different categories.

8. The system of claim 1 , wherein after generating the configuration user interface for customizing the widget, the instructions cause the system to further perform:

receiving an input from the configuration user interface that identifies the ontology data corresponding to the application.

9. The system of claim 1 , wherein the configuration user interface for customizing the widget allows a user to configure a shape of the widget.

10. The system of claim 1 , wherein the instructions cause the system to further perform:

receiving source code for generating a new version of the widget; and

publishing the new version of the widget to the repository that is accessible through the no-code application builder while keeping older versions of the widget.

11. The system of claim 10 , wherein the instructions cause the system to further perform:

receiving, through the no-code application builder, a request to upgrade an already integrated version of the widget to the new version of the widget; and

integrating the new version of the widget into the application.

12. The system of claim 10 , wherein the instructions cause the system to further perform:

receiving, through the no-code application builder, a request to downgrade an already integrated version of the widget to an older version of the widget; and

integrating the older version of the widget into the application.

13. The system of claim 1 , wherein to generate the live preview of the widget based on the source code, the instructions cause the system to further perform:

performing live code syntax analysis while the source code is being received; and

in response to detecting that an atomic section of the source code is received based on the live code syntax analysis, updating, in real-time, a rendering of the live preview by incorporating features implemented by the atomic section of the source code.

14. A computer-implemented method, comprising:

receiving, within a sandbox environment, source code for generating a widget;

syncing the source code into an in-browser bundler with libraries, wherein any relationships among the source code and the libraries are indicated by a dependency graph;

generating, within the sandbox environment, a live preview of the widget based on the source code or the libraries, wherein generating the live preview comprises rendering, using the in-browser bundler, the live preview of the widget based on the source code or the libraries, wherein the rendering of the live preview occurs within an iframe;

receiving a publishing command to publish the widget;

executing an automatic pipeline to run tests on the widget;

publishing the widget to a repository that is accessible through a no-code application builder;

receiving, from the no-code application builder, a request to integrate the widget into an application;

generating a configuration user interface for customizing the widget; and

integrating the customized widget into an application by at least loading an ontology data corresponding to the application into the widget.

15. The method of claim 14 , wherein the publishing the widget to the repository comprises:

obtaining metadata of the widget;

obtaining a list of repositories;

for each of a plurality of repositories, determining whether metadata of the repository matches with the metadata of the widget; and

in response to the metadata of the repository matching with the metadata of the widget, publishing the widget to the repository.

16. The method of claim 14 , wherein the executing the automatic pipeline comprises:

integrating the widget with one or more preexisting widgets, wherein the integrating comprises importing ontology data into the widget and the one or more preexisting widgets, wherein the integrating results in a creation of a test application;

feeding input data into the test application;

executing the test application to output data based on the input data; and

receiving a verification of the test application.

17. The method of claim 14 , wherein the generating the live preview of the widget comprises:

performing live code syntax analysis while the source code is being received; and

in response to detecting that an atomic section of the source code is received based on the live code syntax analysis, updating, in real-time, a rendering of the live preview by incorporating features implemented by the atomic section of the source code.

18. A non-transitory computer-readable storage medium configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

receiving, within a sandbox environment, source code for generating a widget;

syncing the source code into an in-browser bundler with libraries, wherein any relationships among the source code and the libraries are indicated by a dependency graph;

generating, within the sandbox environment, a live preview of the widget based on the source code or the libraries, wherein generating the live preview comprises rendering, using the in-browser bundler, a live preview of the widget based on the source code or the libraries, wherein the rendering of the live preview occurs within an iframe;

receiving a publishing command to publish the widget;

executing an automatic pipeline to run tests on the widget;

publishing the widget to a repository that is accessible through a no-code application builder;

receiving, from the no-code application builder, a request to integrate the widget into an application;

generating a configuration user interface for customizing the widget; and integrating the customized widget into an application by at least loading an ontology data corresponding to the application into the widget.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2023
From: FERREIRA, FRANCISCO; BETEILLE, MATTHIEU; TAKURO, OLUWASESANFUNMI; GEORGES CHAUMIER, PIERRE-VICTOR CLAUDE; KRISHNAN, RAJ; SUN, RONGXING; LEUNG, TIMOTHY
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 063940/0826 →
Continuity (2)
Provisional Application 63438209 · Jan 10, 2023
Related Publication 20240231766A1 · Jul 11, 2024
References Cited (12)
US 20060005207A1 · Louch · 2006 [cited by examiner]
US 20100023874A1 · Frohwein · 2010 [cited by examiner]
US 20120137227A1 · Gerken et al. · 2012 [cited by applicant]
US 20120208564A1 · Clark · 2012 [cited by examiner]
US 20130151417A1 · Gupta · 2013 [cited by applicant]
US 20140095382A1 · Desai et al. · 2014 [cited by applicant]
US 20190245910A1 · Abrahami · 2019 [cited by examiner]
US 20200050787A1 · Mahalle · 2020 [cited by examiner]
US 20200133982A1 · Thangeswaran · 2020 [cited by examiner]
US 20210157978A1 · Haramati · 2021 [cited by examiner]
JP 3624447 (translation), Mar. 2, 2005, 11 pgs <JP_3624447.pdf>. [cited by examiner]
Extended European Search Report dated Jun. 4, 2024, issued in related European Patent Application No. 24150039.6 (10 pages). [cited by applicant]