Kostis Maninakis
Senior full-stack engineer in TypeScript and Vue: web apps, peer-to-peer and developer tools
Contract, 20 to 30+ hours a week Vienna, remote or hybrid EU citizen, no sponsorship needed maninak@pm.me
Hand me an idea and I can run with it end to end: architecture, code, UX, brand and launch. On my own, leading a small team, or joining yours.
Full-stack web since 2015, TypeScript since 2016, Vue since 2019, Nuxt since 2021; along the way I led a team of up to 15. Since 2022, developer tools for Radicle, a peer-to-peer code collaboration network, first at Radworks and now independently.
Roles
- – presentFounder and engineer at radicle.toolsOwn product
- – Family sabbatical
- – Senior engineer, developer tooling at RadworksFreelance
- – Senior front-end developer at Umdasch Group VenturesFreelance
- – Senior full-stack engineer at GenTwoFreelance
- – Tech lead at SclableEmployed
- – Full-stack web developer at BestPrice.grEmployed
- – Full-stack product engineer at ClearhausFreelance
- – Founder and CTO at PlironoOwn startup
- – Mobile app developer, intern at Omnixell
- – Web developer and product owner at Cretan Sport CyclingFreelance
- – Guest researcher, part time at FORTH-ICS
- – Private tutor at university programming courses
- 2014 – 2018Earlier rolesEarlier roles
In short
- As tech lead, took a struggling EUR 4.5M platform to recurring revenue.Got elected tech lead of a struggling EUR 4.5M construction platform, and took it to recurring revenue.
- Found and disclosed that Radicle nodes send private repositories in cleartext, a critical vulnerability whose fix brought Radicle 2.0 forward.Found and disclosed that Radicle nodes send private repositories in cleartext, a critical vulnerability whose fix brought Radicle 2.0 forward. The maintainers reproduced it and credit me in their announcement, which was covered by Hacker News and lobste.rs; my own write-up narrates how and what I found.
- Took over a Swiss fintech’s Nuxt site, overhauled its performance and SEO, and trained its in-house team to carry it on.Took over a Swiss fintech’s Nuxt site, fixed hundreds of UI and UX issues, and trained its in-house team to carry it on.
- ts-xor, my TypeScript library, has 25M+ npm downloads and 6,800+ dependents.ts-xor, a TypeScript library I published in 2019, surpassing 200,000 npm downloads per week, with 25M+ in total and 6,800+ dependents.
- Author and maintainer of Radicle’s VS Code extension since 2023.Author and maintainer of Radicle’s VS Code extension, with 21 releases since 2023.
- stats.radicle.at, a thorough public accounting of the Radicle network’s daily state, covering about 16,000 repositories on 1,900 nodes.stats.radicle.at, a thorough public accounting of the Radicle network’s daily state. It covers about 16,000 repositories on 1,900 nodes, and every repository page carries an innovative activity timeline that would make GitHub jealous.
- Running radicle.at, a public seed node, since March 2024. It mirrors about 82% of the public repositories it can see on the Radicle network, pruned weekly by a tool I wrote.
- Building Grove, a peer-to-peer code forge like GitHub that runs entirely in a browser tab, the first of its kind.Building Grove, a code forge like GitHub, but peer-to-peer, with no server doing the work, running entirely in a browser tab. The first of its kind, and already a live peer on the network.
Recommended
“Mr. Maninakis was a very motivated employee who realized the agreed goals extremely ambitiously and independently. His precise way of working and his assertiveness were remarkable.”
“We would be happy to work with Mr. Maninakis again in the future.”
Timeline
Newest first. Squares mark roles, dots everything else.
Radicle nodes send private repositories in cleartext
Coordinated vulnerability disclosure.
- Caught it when Grove’s encrypted connections kept dying, because real nodes were not encrypting at all. Anyone on the path between two nodes can read every private repository they exchange. Radicle’s announcement credits me with the report; my own write-up narrates how and what I found.
- Reported it privately on 24 June 2026, held it under coordinated disclosure for three months, and went public together with the maintainers on 23 September 2026. The fix breaks wire compatibility across the whole network, which brought Radicle 2.0 forward.
- The flaw sits in Rust crates other projects depend on too, and has been filed with the RustSec advisory database.
ts-xor surpassed 200,000 downloads per week
radicle-backup
Rust command-line tool, on crates.io.
- The de-facto standard tool for any Radicle user who wants to back up, verify, restore or move their identity, keys and private repositories. Runs as
rad backup. - Seeded by more nodes than 99.8% of the network’s repositories (stats.radicle.at, 30 September 2026). Suggested to users in Radicle’s support channel.
- Backs up, verifies, restores and moves a Radicle identity: keys, node state and private repositories, into encrypted archives on a schedule. A restore checks every repository against the network first, so a stale copy cannot fork the owner’s history.
- crates.io, source on Radicle, GitHub mirror.
Rust, clap, SQLite, age encryption, zstd, systemd timers, rusqlite, age, BIP39, Git bundles
- The de-facto standard tool for any Radicle user who wants to back up, verify, restore or move their identity, keys and private repositories. Runs as
Strict signature verification in heartwood
- Noticed that the reference node had stopped rejecting weak Ed25519 keys after a crypto-library change; Grove already verified strictly. Co-authored the upstream fix, which switched to strict verification and shipped in Radicle 1.10.1 in August 2026.
api.radicle.tools
Public resolution API.
- Resolves a node or identity to its alias for any client on the network, a lookup the gossip layer cannot answer by itself, from an index of over 18,000 nodes.
Founder and engineer at radicle.tools
Vienna. Own product.
- Ships and runs live Radicle tools used across the network, including stats.radicle.at, radicle-backup, radicle-seed-prune and the radicle.at public seed.
- Building Grove, a first-of-its-kind peer-to-peer code forge in a browser tab, in Nuxt and Vue over Rust wasm. Early access.
- Wrote the network stack in TypeScript for the browser: the Noise handshake, the wire codecs, gossip, verified replication, and a Git fetch over protocol v2 that reads packfiles, sigrefs and Radicle’s collaborative objects.
- Product, brand, site and launch copy.
TypeScript, Vue 3, Nuxt, Vite, Node.js, wasm, Web Workers, Playwright, Vitest, Git protocol v2, Rust, OPFS, WebAuthn
radicle-seed-prune
rad-prune, a seed operator’s tool in bash.- Keeps a public seed’s disk in check by pruning stale, abandoned and spam repositories, utilizing advanced heuristics and deep file analysis. One pass on radicle.at freed 18 GiB across 1,341 repositories; it runs there weekly.
- Radicle’s own maintainers run it on the project’s official public seeds.
- Source on GitHub.
bash, Git, cron, systemd, POSIX tools, Git internals, rad CLI
stats.radicle.at
Network analytics.
- The de-facto standard site for any sort of Radicle-related analytics and insights, covering storage, replication, collaboration and traffic, rebuilt nightly in only 3 minutes by a scan, derive and build pipeline in Python.
- Every mirrored repository and every identity gets a page with an innovative interactive activity timeline that established forges like GitHub would be jealous of.


The activity timeline stats.radicle.at draws for heartwood, Radicle’s reference implementation. Family sabbatical
- Became a father.
- Trained Shaolin kung fu, tai chi and qigong 14 hours a week as a 36th-generation Shaolin disciple, including at the Shaolin Temple in China.
- Dharma name 妙祇 (Miào Qí).

At the Shaolin Temple with Shaolin warrior monk Shifu Shi Heng Yi (释恒意), 2025. Speaker, ViennaJS
“Radicle: a sovereign, peer-to-peer, open-source network for code collaboration”.
- Speaker page.
- Audience questions stretched it to an hour, twice its slot, and an attendee sketched the talk.

Opening the talk. Photo: ViennaJS 
An attendee’s sketchnote of the talk. radicle.at
Public Radicle seed node.
- Mirrors about 82% of the network’s public repositories (29 September 2026), and keeps users well-connected when Radicle’s official seeds come short in the face of demand.
- Caddy in front, balancing three HTTP daemons behind an on-disk cache, per-IP rate limits and precompressed responses; systemd units and a weekly prune.
Caddy, systemd, Linux VPS, cron, radicle-node, radicle-httpd
@maninak/eslint-config
Code linting and formatting suite.
- A plug-and-play lint-and-format suite. By default it lints and formats TypeScript, Vue, React, Svelte, Tailwind, JSON, YAML, Markdown and tests, and fixes most findings on save and on commit. @maninak/eslint-config on npmx.dev.
Radicle for VS Code
VS Code extension.
- Patches, issues and code review inside the editor. Contributors include a Radicle core maintainer.
- Version 0.7.0 (July 2026) dropped the dependency on the node’s HTTP daemon. Patches work offline through the
radCLI and Git, and aliases resolve through a wasm SQLite reader. - Rebuilt the end-to-end test setup a teammate started in 2024 so it runs locally and concurrently against isolated real nodes, and in macOS and Linux CI.
- Nearly 3,000 installs and downloads across the VS Code Marketplace and Open VSX.
- Marketplace, Open VSX, source on GitHub.
TypeScript, Vue 3, VS Code extension API, webviews, WebdriverIO, Git, rad CLI, wasm SQLite
Senior engineer, developer tooling at Radworks
The organisation behind Radicle, a peer-to-peer GitHub alternative. Remote. Full time from January 2023. Freelance.
- Built the Radicle VS Code extension and still maintain it, with 21 releases since April 2023.
- In 2024, in the Radicle Integrations and Tooling Org, owning the VS Code extension and Planning Boards.
- Led Radicle Planning Boards, a funded Kanban tool for Radicle issues, and interviewed and hired its developers; the org paused it before launch.
- Named team member on four Radworks-funded grants from late 2022, and on the contributor roster of the 2025 Radworks Product Org.
TypeScript, Vue 3, Nuxt, Node.js, VS Code extension API, webviews, Git, rad CLI
Senior front-end developer at Umdasch Group Ventures
The Umdasch Group’s innovation hub, on its construction-site app Sitelife. Freelance.
- On a React and TypeScript codebase, moved the build to Vite 4 and the tests to Vitest, cut lint time about 16x, upgraded Storybook and Tailwind CSS, and code-split the planning module.
- Code review and pair programming with the in-house team. Their reference credits me with greatly improving build time and bundle size.
“Konstantinos furthermore showed great communication with the team from the start and quickly fit into the team.” Patrick Ottenschläger, Head of Software DevOps. Read the letter from Patrick Ottenschläger
Senior full-stack engineer at GenTwo
Swiss fintech. Remote. Freelance.
- Took over gentwo.com with a free hand. Migrated it to latest Vue/Nuxt, resolved heaps of technical debt, put much more content in the CMS so pages ship without an engineer; fixed hundreds of UI and UX issues and overhauled performance, SEO, accessibility and security; trained the in-house team to carry it on.
- Then folded gentwodigital.com into gentwo.com and built a member zone with authentication.
Vue 3, Nuxt 3, TypeScript, Tailwind CSS, Strapi, Node.js
Vue 3 deep-dive workshop
With Evan You.
- A full day building Vue 3’s reactivity and virtual DOM by hand, with the creator of Vue and Vite.

Kostis (right) with Evan You, Vue and Vite’s creator, certificate in hand. ts-xor
TypeScript library.
- Adds the XOR type missing from TypeScript, for objects whose keys exclude one another. 25M+ downloads since 2019. ts-xor on npmx.dev.
- 6,800+ public repositories and 140+ published packages depend on it.
“How I went from n00b intern to engineering team lead”
Published by freeCodeCamp on Medium.
Tech lead at Sclable
Vienna. Employed.
- Contakt is a EUR 4.5M platform for the logistics and analytics of large construction sites. The team elected me its tech lead soon after I joined. I pulled the product from imminent failure into recurring revenue, leading up to 15 people across disciplines.
- Made the app over ten times faster, and built its 3D CAD and construction-planning module in Babylon.js.
- Designed the GraphQL and internationalisation architecture and took the app to full PWA status.
- Built a zero-config lint setup for every JavaScript engineer in the company, and created its best-received internal course, on PWAs.
- Ran onboarding, code review and mentoring, and rewrote the CI pipelines; stood in for upper management with the client, made product design decisions, and occasionally sold to them.
“Due to his always obliging and helpful manner, Mr. Maninakis was equally appreciated by his superiors and colleagues.” Markus Nenning, Managing Director. Read the letter from Markus Nenning
Vue, Vuex, TypeScript, GraphQL, Apollo, Babylon.js, Cypress, Jest, GitLab CI, Keycloak, webpack, ESLint
Full-stack web developer at BestPrice.gr
Greece’s fastest-growing product search engine in 2018. Heraklion, Crete. Employed.
- Built public front ends and internal tools; improved the performance, security and architecture of major Node.js microservices, wrote UI copy and made product calls.
- Soon owned analytics and tracking for the marketing team end to end, documented for non-technical staff; onboarded and mentored junior developers.
React, Redux, Next.js, Node.js, Express, Koa, PHP, Sentry, Puppeteer, content security policy
Progressive Web Apps
Devstaff meetup at FORTH-ICS.
- “Supercharge your web apps, boost conversions and ditch the app stores.” Slides.
Full-stack product engineer at Clearhaus
Freelance.
- Turned the in-house 3-D Secure back end into a standalone SaaS product, 3dsecure.io: pricing, brand, copy, UX and UI, a front end with custom Three.js graphics, the architecture, and a back end tied into checkout, recurring payments and support.
Node.js, TypeScript, Three.js, Sass, AWS, Figma, 3-D Secure
A brief, non-technical intro to Bitcoin
Devstaff meetup at FORTH-ICS.

A full house at FORTH-ICS. Posts on Git and build tooling
On Medium.
Founder and CTO at Plirono
Fintech startup. Crete. Own startup.
- Built the MVP: a merchant progressive web app, a payment widget, an account-less consumer app, and an API to a payment processor; in user testing, the payment flow halved cart abandonment.
- Sold custom e-commerce software and a month of consulting to a major European bank (January 2017), pitched to top Greek bankers at Startup Europe Week Crete, then wound the company down for lack of a co-founder.
Angular, Ionic, Node.js, Express, MongoDB, AWS, TypeScript
Mobile app developer, intern at Omnixell
British startup.
- Shopping cart, offers, appointments and map modules on Ionic 2 and Angular 2 while both were in beta; co-wrote the npm client for the company’s API.
Web developer and product owner at Cretan Sport Cycling
The Tour of Crete. Crete. Freelance.
- Designed and built tourofcrete.com and wrote all of its content in English and Greek; product design of an international cycling event; the Facebook page and ads. Ran it for the 2016 event and set up the 2017 edition before leaving.
WordPress, PHP, MySQL, Leaflet, QGIS, SEO
Guest researcher, part time at FORTH-ICS
Computational Biomedicine Lab. Crete.
- Visualisation of RDF/S evolution using provenance queries, built as a Protégé plugin in Java.
Private tutor at university programming courses
Crete.
- From first-year programming up to computer organisation. Some students travelled over 150 km a week to attend.
Earlier roles
BestPrice.gr, Clearhaus, Plirono, Omnixell, Cretan Sport Cycling, FORTH-ICS and private tutoring.
Earlier roles
- BestPrice.gr, full-stack web developer (2018)
- Clearhaus, full-stack product engineer (2017)
- Plirono, founder and CTO (2016 to 2017)
- Omnixell, mobile app developer, intern (2016)
- Cretan Sport Cycling, web developer and product owner (2015 to 2016)
- FORTH-ICS, guest researcher, part time (2014 to 2015)
- university programming courses, private tutor (2014 to 2015)
Computer Science, undergraduate studies
University of Crete.
- A compiler and virtual machine, from scratch, for a new dynamically typed language with iterators and anonymous callbacks; a 2D game engine in C++, and Bubble Bobble on top of it.
Skills
- Web
- Vue 3, Nuxt, TypeScript, JavaScript, Vite, Tailwind CSS, progressive web apps, accessibility, performance, security, SEO
- Back end and data
- Node.js, REST, GraphQL and Apollo, Strapi, SQLite, MongoDB, Python for data pipelines
- Testing and tooling
- Vitest, Playwright, Cypress, Jest, ESLint rule authoring, pnpm monorepos, CI, npm publishing
- Git and protocols
- Git internals (packfiles, protocol v2, sigrefs), Radicle collaborative objects, the Noise handshake, gossip, binary wire codecs, WebAuthn and passkeys
- Editor, browser and Rust
- VS Code extension API and webviews, Monaco, Web Workers, OPFS; Rust for a CLI on crates.io and a wasm crypto core
- Operations
- bash, Caddy, systemd, Cloudflare Pages and KV, operating a public seed node and other 24/7 services on a Linux VPS
- Beyond code
- product design, UX and UI copy, brand, hiring and mentoring, client work and pitching
- Earlier
- React (most recently 2022), Next.js, Angular, Ionic, PHP, Java, C and C++
Languages and elsewhere
- Elsewhere
- The blog on this site; co-author of the Wikipedia article on the neurobiological effects of physical exercise.
- Languages
- Greek native, English C2, German B2. Certificate of Proficiency in English (University of Michigan) and Cambridge Certificate in Advanced English, grade A (one of four in Greece at that sitting); German B2 certificates from ÖSD and the Goethe-Institut.
In short
- Got elected tech lead of a struggling EUR 4.5M construction platform, and took it to recurring revenue.
- Found and disclosed that Radicle nodes send private repositories in cleartext, a critical vulnerability whose fix brought Radicle 2.0 forward.
- Took over a Swiss fintech’s Nuxt site, fixed hundreds of UI and UX issues, and trained its in-house team to carry it on.
- ts-xor, my TypeScript library, has 25M+ npm downloads and 6,800+ dependents.
- Author and maintainer of Radicle’s VS Code extension, with 21 releases since 2023.
- stats.radicle.at, a thorough public accounting of the Radicle network’s daily state. It covers about 16,000 repositories on 1,900 nodes, and every repository page carries an innovative activity timeline that would make GitHub jealous.
- Running radicle.at, a public seed node, since March 2024. It mirrors about 82% of the public repositories it can see on the Radicle network, pruned weekly by a tool I wrote.
- Building Grove, a peer-to-peer code forge like GitHub, with no server doing the work, in a browser tab. The first of its kind.
Recommended
“Mr. Maninakis was a very motivated employee who realized the agreed goals extremely ambitiously and independently. His precise way of working and his assertiveness were remarkable.”
“We would be happy to work with Mr. Maninakis again in the future.”
Experience
Founder and engineer at radicle.tools
Vienna. Own product.
- Building Grove, a first-of-its-kind peer-to-peer code forge in a browser tab, in Nuxt and Vue over Rust wasm. Early access.
- Wrote the network stack in TypeScript for the browser: the Noise handshake, the wire codecs, gossip, verified replication, and a Git fetch over protocol v2 that reads packfiles, sigrefs and Radicle’s collaborative objects.
- Product, brand, site and launch copy.
TypeScript, Vue 3, Nuxt, Vite, Node.js, wasm, Web Workers, Playwright, Vitest
Family sabbatical
- Became a father.
- Trained Shaolin kung fu, tai chi and qigong 14 hours a week as a 36th-generation Shaolin disciple, including at the Shaolin Temple in China.
- Dharma name 妙祇 (Miào Qí).
Senior engineer, developer tooling at Radworks
The organisation behind Radicle, a peer-to-peer GitHub alternative. Remote. Full time from January 2023. Freelance.
- Built the Radicle VS Code extension and still maintain it, with 21 releases since April 2023.
- In 2024, in the Radicle Integrations and Tooling Org, owning the VS Code extension and Planning Boards.
- Led Radicle Planning Boards, a funded Kanban tool for Radicle issues, and interviewed and hired its developers; the org paused it before launch.
- Named team member on four Radworks-funded grants from late 2022, and on the contributor roster of the 2025 Radworks Product Org.
TypeScript, Vue 3, Nuxt, Node.js, VS Code extension API
Senior front-end developer at Umdasch Group Ventures
The Umdasch Group’s innovation hub, on its construction-site app Sitelife. Freelance.
- On a React and TypeScript codebase, moved the build to Vite 4 and the tests to Vitest, cut lint time about 16x, upgraded Storybook and Tailwind CSS, and code-split the planning module.
“Konstantinos furthermore showed great communication with the team from the start and quickly fit into the team.” Patrick Ottenschläger, Head of Software DevOps. Read the letter from Patrick Ottenschläger
Senior full-stack engineer at GenTwo
Swiss fintech. Remote. Freelance.
- Took over gentwo.com with a free hand. Migrated it to latest Vue/Nuxt, resolved heaps of technical debt, put much more content in the CMS so pages ship without an engineer; fixed hundreds of UI and UX issues and overhauled performance, SEO, accessibility and security; trained the in-house team to carry it on.
Vue 3, Nuxt 3, TypeScript, Tailwind CSS, Strapi, Node.js
Tech lead at Sclable
Vienna. Employed.
- Contakt is a EUR 4.5M platform for the logistics and analytics of large construction sites. The team elected me its tech lead soon after I joined. I pulled the product from imminent failure into recurring revenue, leading up to 15 people across disciplines.
- Made the app over ten times faster, and built its 3D CAD and construction-planning module in Babylon.js.
- Designed the GraphQL and internationalisation architecture and took the app to full PWA status.
- Built a zero-config lint setup for every JavaScript engineer in the company, and created its best-received internal course, on PWAs.
“Due to his always obliging and helpful manner, Mr. Maninakis was equally appreciated by his superiors and colleagues.” Markus Nenning, Managing Director. Read the letter from Markus Nenning
Vue, Vuex, TypeScript, GraphQL, Apollo, Babylon.js, Cypress, Jest, GitLab CI, Keycloak
Full-stack web developer at BestPrice.gr
Greece’s fastest-growing product search engine in 2018. Heraklion, Crete. Employed.
- Built public front ends and internal tools; improved the performance, security and architecture of major Node.js microservices, wrote UI copy and made product calls.
- Soon owned analytics and tracking for the marketing team end to end, documented for non-technical staff; onboarded and mentored junior developers.
React, Redux, Next.js, Node.js, Express, Koa, PHP, Sentry
Full-stack product engineer at Clearhaus
Freelance.
- Turned the in-house 3-D Secure back end into a standalone SaaS product, 3dsecure.io: pricing, brand, copy, UX and UI, a front end with custom Three.js graphics, the architecture, and a back end tied into checkout, recurring payments and support.
Node.js, TypeScript, Three.js, Sass, AWS, Figma
Founder and CTO at Plirono
Fintech startup. Crete. Own startup.
- Built the MVP: a merchant progressive web app, a payment widget, an account-less consumer app, and an API to a payment processor; in user testing, the payment flow halved cart abandonment.
- Sold custom e-commerce software and a month of consulting to a major European bank (January 2017), pitched to top Greek bankers at Startup Europe Week Crete, then wound the company down for lack of a co-founder.
Angular, Ionic, Node.js, Express, MongoDB, AWS, TypeScript
Mobile app developer, intern at Omnixell
British startup.
- Shopping cart, offers, appointments and map modules on Ionic 2 and Angular 2 while both were in beta; co-wrote the npm client for the company’s API.
Web developer and product owner at Cretan Sport Cycling
The Tour of Crete. Crete. Freelance.
- Designed and built tourofcrete.com and wrote all of its content in English and Greek; product design of an international cycling event; the Facebook page and ads. Ran it for the 2016 event and set up the 2017 edition before leaving.
WordPress, PHP, MySQL, Leaflet, QGIS, SEO
Guest researcher, part time at FORTH-ICS
Computational Biomedicine Lab. Crete.
- Visualisation of RDF/S evolution using provenance queries, built as a Protégé plugin in Java.
Private tutor at university programming courses
Crete.
- From first-year programming up to computer organisation. Some students travelled over 150 km a week to attend.
Earlier roles
BestPrice.gr, Clearhaus, Plirono, Omnixell, Cretan Sport Cycling, FORTH-ICS and private tutoring.
Earlier roles
- BestPrice.gr, full-stack web developer (2018)
- Clearhaus, full-stack product engineer (2017)
- Plirono, founder and CTO (2016 to 2017)
- Omnixell, mobile app developer, intern (2016)
- Cretan Sport Cycling, web developer and product owner (2015 to 2016)
- FORTH-ICS, guest researcher, part time (2014 to 2015)
- university programming courses, private tutor (2014 to 2015)
Open source and products
ts-xor surpassed 200,000 downloads per week
radicle-backup
Rust command-line tool, on crates.io.
- The de-facto standard tool for any Radicle user who wants to back up, verify, restore or move their identity, keys and private repositories. Runs as
rad backup. - Seeded by more nodes than 99.8% of the network’s repositories (stats.radicle.at, 30 September 2026). Suggested to users in Radicle’s support channel.
- Backs up, verifies, restores and moves a Radicle identity: keys, node state and private repositories, into encrypted archives on a schedule. A restore checks every repository against the network first, so a stale copy cannot fork the owner’s history.
- crates.io, source on Radicle, GitHub mirror.
Rust, clap, SQLite, age encryption, zstd, systemd timers
- The de-facto standard tool for any Radicle user who wants to back up, verify, restore or move their identity, keys and private repositories. Runs as
@maninak/eslint-config
Code linting and formatting suite.
- A plug-and-play lint-and-format suite. By default it lints and formats TypeScript, Vue, React, Svelte, Tailwind, JSON, YAML, Markdown and tests, and fixes most findings on save and on commit. @maninak/eslint-config on npmx.dev.
Radicle for VS Code
VS Code extension.
- Rebuilt the end-to-end test setup a teammate started in 2024 so it runs locally and concurrently against isolated real nodes, and in macOS and Linux CI.
- Nearly 3,000 installs and downloads across the VS Code Marketplace and Open VSX.
- Marketplace, Open VSX, source on GitHub.
TypeScript, Vue 3, VS Code extension API, webviews, WebdriverIO
ts-xor
TypeScript library.
- Adds the XOR type missing from TypeScript, for objects whose keys exclude one another. 25M+ downloads since 2019. ts-xor on npmx.dev.
- 6,800+ public repositories and 140+ published packages depend on it.
Also: ts-xor surpassed 200,000 downloads per week (2026); radicle-backup (since 2026); @maninak/eslint-config (since 2023); Radicle for VS Code (since 2023); ts-xor (since 2019).
Also: @maninak/eslint-config (since 2023) and ts-xor (since 2019).
Infrastructure I run
api.radicle.tools
Public resolution API.
- Resolves a node or identity to its alias for any client on the network, a lookup the gossip layer cannot answer by itself, from an index of over 18,000 nodes.
radicle-seed-prune
rad-prune, a seed operator’s tool in bash.- Keeps a public seed’s disk in check by pruning stale, abandoned and spam repositories, utilizing advanced heuristics and deep file analysis. One pass on radicle.at freed 18 GiB across 1,341 repositories; it runs there weekly.
- Radicle’s own maintainers run it on the project’s official public seeds.
- Source on GitHub.
bash, Git, cron, systemd
stats.radicle.at
Network analytics.
- The de-facto standard site for any sort of Radicle-related analytics and insights, covering storage, replication, collaboration and traffic, rebuilt nightly in only 3 minutes by a scan, derive and build pipeline in Python.
- Every mirrored repository and every identity gets a page with an innovative interactive activity timeline that established forges like GitHub would be jealous of.
radicle.at
Public Radicle seed node.
- Mirrors about 82% of the network’s public repositories (29 September 2026), and keeps users well-connected when Radicle’s official seeds come short in the face of demand.
- Caddy in front, balancing three HTTP daemons behind an on-disk cache, per-IP rate limits and precompressed responses; systemd units and a weekly prune.
Caddy, systemd, Linux VPS, cron
Also: api.radicle.tools (since 2026), radicle-seed-prune (since 2026), stats.radicle.at (since 2026) and radicle.at (since 2024).
Also: api.radicle.tools (since 2026).
Security
Radicle nodes send private repositories in cleartext
Coordinated vulnerability disclosure.
- Caught it when Grove’s encrypted connections kept dying, because real nodes were not encrypting at all. Anyone on the path between two nodes can read every private repository they exchange. Radicle’s announcement credits me with the report; my own write-up narrates how and what I found.
- Reported it privately on 24 June 2026, held it under coordinated disclosure for three months, and went public together with the maintainers on 23 September 2026. The fix breaks wire compatibility across the whole network, which brought Radicle 2.0 forward.
Strict signature verification in heartwood
- Noticed that the reference node had stopped rejecting weak Ed25519 keys after a crypto-library change; Grove already verified strictly. Co-authored the upstream fix, which switched to strict verification and shipped in Radicle 1.10.1 in August 2026.
Also: Radicle nodes send private repositories in cleartext (2026) and Strict signature verification in heartwood (2026).
Skills
- Web
- Vue 3, Nuxt, TypeScript, JavaScript, Vite, Tailwind CSS, progressive web apps, accessibility, performance, security, SEO
- Back end and data
- Node.js, REST, GraphQL and Apollo, Strapi, SQLite, MongoDB, Python for data pipelines
- Testing and tooling
- Vitest, Playwright, Cypress, Jest, ESLint rule authoring, pnpm monorepos, CI, npm publishing
- Git and protocols
- Git internals (packfiles, protocol v2, sigrefs), Radicle collaborative objects, the Noise handshake, gossip, binary wire codecs, WebAuthn and passkeys
- Editor, browser and Rust
- VS Code extension API and webviews, Monaco, Web Workers, OPFS; Rust for a CLI on crates.io and a wasm crypto core
- Operations
- bash, Caddy, systemd, Cloudflare Pages and KV, operating a public seed node and other 24/7 services on a Linux VPS
- Beyond code
- product design, UX and UI copy, brand, hiring and mentoring, client work and pitching
- Earlier
- React (most recently 2022), Next.js, Angular, Ionic, PHP, Java, C and C++
Talks
Speaker, ViennaJS
“Radicle: a sovereign, peer-to-peer, open-source network for code collaboration”.
- Speaker page.
- Audience questions stretched it to an hour, twice its slot, and an attendee sketched the talk.
“How I went from n00b intern to engineering team lead”
Published by freeCodeCamp on Medium.
Progressive Web Apps
Devstaff meetup at FORTH-ICS.
- “Supercharge your web apps, boost conversions and ditch the app stores.” Slides.
A brief, non-technical intro to Bitcoin
Devstaff meetup at FORTH-ICS.
Posts on Git and build tooling
On Medium.
Elsewhere
- The blog on this site; co-author of the Wikipedia article on the neurobiological effects of physical exercise.
Also: Speaker, ViennaJS (2024); “How I went from n00b intern to engineering team lead” (2019); Progressive Web Apps (2018).
Also: “How I went from n00b intern to engineering team lead” (2019) and Progressive Web Apps (2018).
Education
Vue 3 deep-dive workshop
With Evan You.
- A full day building Vue 3’s reactivity and virtual DOM by hand, with the creator of Vue and Vite.
Computer Science, undergraduate studies
University of Crete.
- A compiler and virtual machine, from scratch, for a new dynamically typed language with iterators and anonymous callbacks; a 2D game engine in C++, and Bubble Bobble on top of it.
Greek native, English C2, German B2
- Certificate of Proficiency in English (University of Michigan) and Cambridge Certificate in Advanced English, grade A (one of four in Greece at that sitting); German B2 certificates from ÖSD and the Goethe-Institut.
Also: Vue 3 deep-dive workshop (2020); Computer Science, undergraduate studies (2007 to 2014).
Write to me at maninak@pm.me.
Off the screen: Shaolin kung fu, and cycling and sailing, the latter two at an international semi-pro competitive level.


