Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
Developing a native Swift-etcd client aims to seamlessly integrate etcd, a distributed Swift key-value store into Swift applications. This project aims to enable developers to have efficient communication with etcd servers via gRPC API, by targeting authentication, key-value operations, watch operations, and lease management.
<p>GreenNav project requires fast and reliable server that supports computations optimal routing via efficient algorithms. I'm going to implement RESTful server that communicates with the persistence layer for getting coordinates and effectively computes optimal way to the destination.</p>
<p>Design System React (short for Lightning Design System for React) is a react implementation of the Salesforce Lightning Design System, which an Open Source lightweight, high performance web component framework that powers thousands of apps. This project aims to extend and improve the DSR library, by implementing different design patterns from the SLDS as React components in DSR. The goal of this project is to help non-UI engineers implement highly interactive web applications with ease, by extending the variety of components that are available to them through the DSR library. Adding more variety of components will also help DSR to be useful for a wide range of applications, and make it a go-to React UI library.</p>
<p>This project aims to provide a web app that will enable a Joplin user to collaborate on a note in real-time. Joplin is a free, open-source note-taking and to-do application that can handle many notes organized into notebooks. The web app uses <a href="https://webrtc.org/" target="_blank">WebRTC</a> for peer-to-peer communication. The project also aims to create a <a href="https://www.webrtc-experiment.com/docs/WebRTC-Signaling-Concepts.html" target="_blank">signaling</a> server for the web app. For Real-Time collaboration and conflict resolution <a href="https://github.com/yjs/yjs" target="_blank">Yjs</a> is being used.</p>
<p><strong>Problem:</strong> Many users use Joplin for research purposes, so it is natural for them to do citations all the time. Accordingly, adding a feature that supports citations and BibTeX will be of great benefit to Joplin.</p> <p><strong>Solution</strong>: The solution can be described as a plugin that can do the following:</p> <ul> <li>Read from a source of citations (a <code>.bib</code> file).</li> <li>Allow the user to choose from a list of previously imported citations.</li> <li>Insert references into the note content.</li> </ul> <p>There are other requirements that must be met. For example, the UI should be as user-friendly as possible, automated and manual tests are to be carried out, every component of the codebase will have a documentation.</p> <p><strong>Implementation:</strong> The implementation relys heavily on Joplin's plugin API to do all sorts of things such as showing dialogs, accessing settings, and modifying content.</p>
To improve user experience and remove the need for manual downloads and installations, this proposal aims to automate the Joplin desktop application's update process. The main objective is to make sure that, for users of Windows, Linux, and macOS, the app updates without any problems in the background, downloading and installing the updates automatically when the program restarts. Investigating real-time updates and creating plans for updating files that are already in use are secondary objectives. For application updates, the project will make use of Electron and electron-builder together with TypeScript and React. Using Electron's autoUpdater module to manage downloads and updates, setting up a background service for silent updates, constructing a non-intrusive user notification system, and ensuring flawless application restarts for updates are important tasks. There will be testing and documentation at every stage of the development process. The timeline spans 14 weeks, starting with initial setup and planning, followed by developing the background update service, implementing the automatic installer and notification system, integrating and testing the updates across all supported platforms, and addressing any unforeseen challenges. The final stages will focus on finalizing documentation, polishing the update mechanism for deployment, exploring live updates, and project wrap-up with mentor review and project submission to Joplin and GSOC.
Build interactive React components for rendering streaming function calls and tool executions in real-time.
<p>The goal of my project is to improve the existing Sugarizer-Server Dashboard. My proposed enhancements include:</p> <ul> <li>A profile for teachers.</li> <li>Extend Sugarizer-Server Analytics.</li> <li>Add node scripts.</li> <li>Improve code efficiency, application performance, and codebase structure.</li> <li>Extend the Sugarizer-Server Dashboard interface by improving UI: <ul> <li>Make the application UI fully responsive.</li> <li>Add a feature to import and export the users and classroom data to CSV files.</li> <li>Add an interactive (step by step) overlay tutorial.</li> </ul> </li> <li>Implement GridFS storage to store Journal Entries.</li> </ul>
The proposed project aims to build a lightweight, scalable, and extensible alternative to the Snowstorm Terminology Server by leveraging Django and etcd—a fast, atomic, and consistent key-value store—as the backend database. Unlike Snowstorm, which is resource-intensive, limited to SNOMED CT, and does not support concept authoring, the new server will support full FHIR operations like $lookup, $validate-code, and $expand, along with custom endpoints for authoring, updating, and deleting concepts. Data will be loaded into optimized in-memory data structures (DAG and description dictionaries) on server startup, enabling fast traversal, search, and filtering. Multi-language support, real-time syncing from etcd, and an intuitive micro-frontend UI will allow users to manage codes seamlessly. The project also includes full integration into the existing Care ecosystem via a dedicated backend plugin and a React-based admin dashboard, ensuring drop-in replacement with no changes required in existing workflows. This solution will empower open-source healthcare platforms in resource-constrained regions to build, customize, and manage terminology services without relying on costly proprietary systems.
Allow users to play music from their Funkwhale servers as well as Navidrome directly in BrainzPlayer, both are self hoisted music streaming platform. For Funkwhale, which supports OAuth2 authentication, I'll add a FunkwhaleService backend and user interface to connect servers, in addition to a FunkwhalePlayer class to integrate playback. Navidrome, whose current implementation uses Subsonic-style authentication, will be supported in the same fashion via a NavidromeService, credentials handling, and a NavidromePlayer class. Both the integrations will feature React-based forms within the "Connect Services" section and correct state management for a seamless experience.
<p>Joplin had a templates feature in the main desktop application that enabled users to create templates and reuse them to create new notes and to-dos.</p> <p>Also, Joplin has an awesome plugin architecture that can be used by developers to create plugins that can extend some functionality to the desktop application.</p> <p>My project was to re-package the feature as a plugin and remove the feature from the main application while ensuring that all the existing templates are compatible with the new plugin and users have a smooth transition to the plugin.</p> <p>The main goal of this project always was to enhance the template system. Also, making it a plugin had various benefits like better maintainability, better scope of improvement, etc.</p>
As the number of notes grows, it would be helpful to have a summary of notes to help users synthesize main ideas and arguments to identify salient points. The solution is to create an offline note summarizer feature that displays abstractive and extractive summaries at the beginning of the note editor and notifies users when the summarization process is done. This project will be the stepping stone for future AI features such as tagging notes, translating notes from one language to another, etc.
Joplin’s end-to-end encryption protects notes during sync, but not on the local device. This project adds local note encryption so users can lock sensitive notes behind a vault password while preserving compatibility with sync and existing E2EE. The implementation will use an option-gated save/load flow, on-demand decryption, protection against plaintext leaks through search and revision history, and a lock screen UI for desktop. Guaranteed deliverables are a working desktop implementation, vault password management, sync/backward-compatibility support, and tests for data-safety and conflict handling. Stretch goals include mobile support, resource encryption, and CLI/Data API integration.
Most Joplin users are researchers or workers in different fields. It's usually the university or company dealing with them via email, whether it's assignments, essays, or reports, so I built a plugin to add the ability to fetch email messages (including attachments) and convert them to Joplin notes in various formats, either by monitoring any new or unread messages from a specific email address or a specific mailbox by using IMAP or by uploading downloaded email messages to the plugin without having to be logged in.
The current Joplin mobile app is designed for mobile phones. On wider screens like tablet devices, a layout that takes advantage of the extra screen space is needed. My proposed solution takes a progressive enhancement approach. It builds on the current mobile layout and makes more features show up when the app detects extra screen space.
The current editor in the Joplin mobile app lacks features. The beta editor is buggy and often frustrating. Users with styluses and touchscreens are unable to easily input hand-drawn images and diagrams. I propose fixing the most severe bugs in the beta editor, adding a touch-friendly toolbar, and adding an image editor to the mobile app.
Joplin currently uses sjcl library for end-to-end encryption on all platforms. In the past, this has caused performance issues. Ideally, we would use a native encryption library for faster encryption speed and less CPU/memory usage.
<p>Joplin desktop application supports keyboard shortcuts to a certain degree. However, it doesn’t allow users to configure keyboard shortcuts according to their preferences. Custom keyboard shortcuts would be a great addition for all Joplin users including power users and those who are migrating to Joplin from other note-taking applications. People also do not have the same keyboard layout; not everyone has F6 necessarily. It would solve conflicts between different preferences of workflows, and increase discoverability for all keyboard shortcuts.</p>
<p>Searching is an essential feature for any note-taking system. Users expect to be able to search not only the text but also on the type of note, the date it was created/updated, the tags it contains, among other things.</p> <p>On top of implementing these advanced search filters, this project also proposes to upgrade Joplin's ranking function to the popular Okapi BM25 and make fuzzy search possible.</p>
Being cross-platform and able to sync notes are crucial features of a note-taking app which Joplin implemented very well. Currently, Joplin is on these platforms: desktop, mobile, and terminal, it would be best to separate the current Joplin synchronizer as a standalone syncing library. Such re-implementation can decouple the ecosystem, and allowing more user control over the syncing process. Porting current Joplin's synchronization modules to a separate library. Integrate with some Cloud Providers: Onedrive, Dropbox,... Exposing services to allow more control over syncing process. Adding unit & integration tests for new library.
Joplin has a lot of useful plugins to use built by the community. Some plugins provide a very core functionality that I think they can be a part of core app. To achieve this, we can ship these plugins by default for the desktop app. This project focuses on including updated default plugins in the Joplin releases and having them auto install on the first-app-start.
The more notes you accumulate, the harder it gets to keep them organised. At some point, manually tagging things or deciding which notebook something belongs to just stops happening and things pile up. What I'm building is a plugin that handles that quietly in the background. It analyses your notes, figures out which ones are about similar things, and suggests tags and notebook structures that reflect what's actually in your collection. You review the suggestions, pick what makes sense, and apply them. Nothing changes without you saying so. The deliverables are the plugin, the embedding and clustering pipeline, the recommendation system, and the review UI.
The Joplin desktop app currently uses native built-in PDF renderer of electron to display PDF attachments, this has multiple limitations like lack of ability to link to a specific page number, loss of scroll position state on re-rendering, annotations etc, not to mention the built-in renderer’s UI does not match with rest of the Joplin app. The aim of this project is to replace the built-in PDF renderer with a new 3rd party library and add multiple new pdf related features and improvements to the app.