Everything here is public and open to anyone. Pick a repository, open an issue, or send a pull request.
No application form. No CV. No interview. No minimum experience. Start with whichever project looks interesting.
How it works
Pick a repository. Change something. That is the whole process.
XPDevs is a one person open source project run from the United Kingdom. The repositories listed below cover operating systems, low level systems work, compilers, networking frameworks, AI tools, and libraries. Every one of them is public and none of them are locked down, so you do not need permission to work on them. Fork a repository, make it better, and open a pull request. If you are not sure where to start, open an issue and ask, that is genuinely welcome too.
Open to anyoneNo application, no CV
Public codeFork and change freely
Any skillCode, docs, design, testing
No experienceHelpful first changes listed
Repositories you can work on
Each card below is a single real repository you can clone right now. Pick whatever matches the skills you already have, or try something completely new to you.
Showing 15 repositories.
WebsiteHTML
XPDevs Website
github.com/XPDevs/xpdevs.github.io
The official XPDevs website, and the page you are reading right now. Plain HTML, shared CSS, and a small amount of JavaScript.
Entry level
Easiest place to start
Main language
HTML, CSS, JavaScript
Repo type
Static website
HTMLCSSAccessibilityCopywriting
Changes show up instantly
AI and searchJavaScript
gateway
github.com/XPDevs/gateway
A search engine built from scratch, with no third party search service and no hidden layers.
Entry level
Comfortable, self contained
Main language
JavaScript
Repo type
Search engine
IndexingRankingParsingBenchmarks
Small enough to read fully
AI and searchJavaScript
OFL
github.com/XPDevs/OFL
A new fast search standard for databases, proposed as an open specification that anyone can implement.
An open source framework for managing packet queues and latency on access network equipment.
Serious projectNetwork infrastructure code, so it is reviewed closely. It matters, but it is not held to the same bar as BSS.
Entry level
Ambitious, real systems work
Main language
C
Repo type
Infrastructure framework
CNetworkingQueuesLatency
Targets real network gear
Systems and networkingC
RetroBoot
github.com/XPDevs/RetroBoot
A lightweight UEFI compatibility layer that lets legacy BIOS based operating systems boot on modern hardware, with no changes to the operating system itself.
Entry level
Ambitious, hardware involved
Main language
C
Repo type
UEFI application
CUEFIBootloadersCompatibility
Fully documented already
Operating systemsC
NexShell
github.com/XPDevs/NexShell
The NexShell source code, the low level environment the other XPDevs systems are built on.
Entry level
Ambitious, foundational code
Main language
C
Repo type
System source code
CShellsTerminalsSystems
Core of the ecosystem
Operating systemsHTML
DoorsOS Server
github.com/XPDevs/DoorsOS-Server
The DoorsOS Server operating system, running as an interface in the browser with its own server build.
Entry level
Comfortable for web developers
Main language
HTML, CSS, JavaScript
Repo type
Operating system
JavaScriptWindowsVirtual file systemUI
Deployed and in use
Operating systemsHTML
AuraOS
github.com/XPDevs/AuraOS
The AuraOS interface, a separate desktop design built on the idea that an operating system should feel calm and uncluttered.
Entry level
Easy first change
Main language
HTML, CSS, JavaScript
Repo type
Operating system interface
CSSInterface designSettingsResponsive layout
Live on the website
AI and searchJavaScript
Genesis AI
github.com/XPDevs/Genesis-AI
An experimental browser based AI platform where behaviour is defined in plain JSON, with no model downloads and no server calls for the main chat.
An MCP server that lets models trained for tool use in LM Studio search the web for images and display them.
Entry level
Easy first change
Main language
TypeScript
Repo type
MCP server
TypeScriptMCPTool useWeb APIs
Modern, tidy codebase
SecurityC11
BSS (Britannic Security Sentinel)
github.com/XPDevs/BSS
Offline-first, cryptographically verified file integrity monitoring for UK critical infrastructure, defence, and public sector systems. No network calls, no telemetry, no external dependencies.
High standard projectSecurity critical code, so it has to be correct, checked, and reliable before it goes in. Cybersecurity experience is recommended, but it is not required.
Entry level
Ambitious, cybersecurity helpful
Main language
C11, Linux
Repo type
Security system
CCryptographyEd25519LinuxHardening
Has a test suite and contributing guide
Languages and compilersC
ASM plus
github.com/XPDevs/ASM-plus-
A compiler that turns a friendlier custom assembly dialect into real x86 assembly, built to make bootloader assembly approachable for beginners.
Entry level
Comfortable, small clear codebase
Main language
C
Repo type
Compiler
CAssemblersx86Linux or WSL
Runs on Linux or WSL
Tools and utilitiesJavaScript
XPDevs Studio
github.com/XPDevs/XPDevs-Studio
A small Linux style IDE that runs in the browser. There is very little code to read first, which makes it a good early project.
Entry level
Easy first change
Main language
JavaScript
Repo type
Developer tool
EditorsSyntax highlightingFile treesUI
Lots left to build
Tools and utilitiesHTML
JS2PY
github.com/XPDevs/JS2PY
A program that converts JavaScript into Python, so scripts can move between the two languages without being rewritten by hand.
Entry level
Easy first change
Main language
JavaScript, HTML
Repo type
Converter tool
ParsingConversionEdge casesError messages
Small and understandable
Tools and utilitiesHTML
Hostly
github.com/XPDevs/Hostly
A free website hosting project, built so anyone can put a site online without a hosting subscription.
Entry level
Comfortable, infrastructure focused
Main language
HTML, CSS, JavaScript
Repo type
Hosting service
HostingUploadsDeploymentsSecurity
Real service, real users
No exact match found
Those filters are still applied, so clear one to widen the results.
There is no application process. If you want to help, the fastest route is to open the repository and start reading it. Anything that gets merged is credited in the project documentation.
1
Find something
Browse the repositories above. Read the source, the README, and any open issues on the one you picked.
2
Ask or claim it
Open an issue saying what you would like to change. This stops two people doing the same work and lets you check the idea fits the project.
3
Fork and change it
Fork the repository, make your change, and commit it with a clear message describing what changed and why.
4
Open a pull request
Send the pull request. Expect honest feedback, be willing to adjust, and be patient while it is reviewed.
You will be credited
Contributing gets your name into the project's documentation, permanently, next to the work itself. It is not a token mention either, it is a real entry in a real file.
Listed in the READMEMerged contributions go into the repository's README file, in a contributors or credits section, so your name sits alongside the project you helped build.
Named in the docsIf your change affects something the documentation describes, the relevant docs get updated and your name goes in there too, not just in the README.
Every kind of contribution countsCode, documentation, a test, a bug report, a translation, or a design fix. It does not have to be a large pull request to be worth crediting.
Use whichever name you wantYou are listed under the name you ask for, which does not have to match your GitHub username. Mention it in your pull request and that is what gets used.
Ways to help that are not code
These projects have far more to do than there are people, and none of the work below is less valuable than writing code.
Documentation
Write setup guides, explain how something works, or fix a README that confused you. If a page confused you, someone else will be confused by it too.
Testing and bug reports
Install a project, try it on hardware you own, and report what breaks. A clear reproduction is often worth more than a fix.
Design and accessibility
Improve contrast, keyboard support, focus states, mobile layout, and screen reader labels across the web projects.
Translation
Translate documentation, interfaces, and error codes. The error code reference is a good place to start, because error messages are read by people under stress.
Examples and tutorials
Write a small demo showing how to use NexShell, ASM plus, or gateway. Teaching something is one of the best ways to find gaps in a project.
Community and review
Answer questions from people using the projects, help newcomers get their first commit merged, and give kind, useful feedback on pull requests.
Good first changes
If you have never contributed to anything before, these are the least intimidating places to start.
Fix a typo or broken linkEvery repository here has documentation. A wrong link or an unclear sentence is a real problem and a real fix.
Add an exampleMost of these projects have no examples folder yet. One working example teaches people more than any README rewrite.
Improve the websiteThe site is plain HTML and CSS. Fixing an accessibility problem or tidying a page is a safe, contained first change.
Report and confirm a bugReproducing an existing bug, or confirming one still happens on your machine, genuinely moves a project forward.
Test on a different deviceThese projects are built on one person's hardware. Testing on your phone, tablet, or an older machine finds real problems.
Write a specification sectionOFL benefits far more from a clear written rule than from new code, and there is plenty left to write.
How seriously each project is taken
Not every repository carries the same consequences if it goes wrong, so they are not reviewed to the same standard. This page tells you which is which before you start, so you can pick the level of pressure you want.
Highest standard
BSS
Security critical software for operational integrity, and the highest bar of anything here, though not an impossible one. Code needs to be correct, checked, and reliable before it is accepted. There are no third party dependencies beyond libc, everything is C11 under -Wall -Wextra -Wconversion -Wshadow -Werror, unsafe string functions are banned, the system stays deterministic, offline, and fail-secure, and anything touching serialisation or cryptography needs both a working test and a malformed input test. Untested or unverified work is what gets sent back, not honest work from a beginner. Cybersecurity experience is recommended but not required, and documentation or test contributions are a genuinely good way in. Read CONTRIBUTING.md before you start.
Foundational code that other things depend on, and in telcom's case it governs real network equipment. Mistakes here break things further down the line, so it is reviewed closely and the reasoning behind a change has to be clear. It is still serious work, but there is more room to iterate than there is on BSS.
Normal open source expectations. A focused change that does what it says, that you have actually run and tested, with a commit message and a pull request description explaining why you made it. Feedback will be honest and it will sometimes ask you to reshape the change, but a good first contribution is genuinely easy to get merged here.
The repositories above are the ones that are actively worked on and reviewed. The XPDevs account also holds older, archived, forked, and experimental repositories. They are not listed here because nothing is being reviewed in them, and a contribution would sit unanswered. If you want to work on one of those anyway, open an issue on it first and say what you have in mind, so nobody wastes your time.
Answers to the questions people ask most often about contributing to XPDevs.
Can I use AI to write my code?
Preferably not. If you do use it, you are still the person sending the code, so you must be certain the result is actually compatible with what the project is and how it is built, and that you have checked every line of it yourself before sending. Nothing goes in that has not been read, run, and verified. All contributed code must be checked to make sure it is safe, reliable, and does not break anything that already worked. If you cannot explain how a piece of code works, or you have not tested it, it is not ready to send, no matter how it was produced. Unchecked generated code that silently breaks a build, corrupts data, or puts user data at risk is worse than sending nothing at all.
Will I be credited for my contribution?
Yes. Anything that gets merged is credited in that project's documentation, most often in a contributors section in the README file, and in the relevant docs where your change actually matters. It covers documentation, tests, bug reports, and translations as well as code, and you can be listed under a different name from your GitHub username if you prefer.
Do I need a CV or a resume?
No. There is no application, no CV, and no selection process. Your commits, issues, and pull requests on the repository already say everything relevant. If you want to introduce yourself, link something you have built.
Do I need previous experience?
No. Plenty of useful contributions are a fixed typo, a clearer README, a new example, or a bug report. If you have never written code before, start with documentation or testing and use that to learn the projects at your own pace.
Who is behind XPDevs?
One person, James Turner, working from the United Kingdom. That means review of a pull request may take a little while, and it also means a well described contribution gets taken seriously quickly.
Do I need permission before opening a pull request?
No. Fork the repository and open a pull request whenever you want. For anything larger than a bug fix, opening an issue first is a good idea so you do not spend a weekend on a change that will not fit.
What if my change gets rejected?
That happens, and it is usually about direction rather than quality. Ask why, and ask what would make it fit. Plenty of contributors have had a first patch declined and then gone on to have their second merged.
What should I put in a commit message?
A short summary of what changed, then why you changed it. Future readers, including you, will be grateful. Keep unrelated changes in separate commits so they are easy to review.
What should I check before opening a pull request?
That the project still builds, that the code has been read line by line, that you have run whatever tests exist, and that you have tested the change yourself on real hardware where it applies. If you cannot say honestly that you did all four, do not send it yet.
Why are only some repositories listed?
The listed ones are actively worked on and reviewed. The rest are archived, forked, or experimental, so a contribution there would go unanswered. Open an issue on one of them first if you still want to, and it can be picked up again.
Is there any age, location, or nationality requirement?
None. Anyone who can reach GitHub can contribute, wherever they are. The only rule is to be decent to each other in issues and reviews.
Get in touch
Questions about a repository, an idea for a change, or a pull request you are unsure about can be sent to xpdevsclient@gmail.com, or raised as an issue on the repository itself, which is usually faster.