About
Over time, I made quite a few apps, so I thought I’d make a collection of the more useful web apps that can be published online and call them Decent Apps.
Some of them are dApps with a focus on privacy, security, and decentralization. For example, the C# Online Compiler runs entirely in your browser using WebAssembly, ensuring your code never leaves your device. Additionally, it uses Gun.js(decentralized database) for storage and live sharing of the code editor.
While others are just useful apps, such as the C# code map generator, 3D Mesh Optimizer, …
Most of the applications are Blazor WebAssembly PWA(progressive web apps) that you can download/install so you can use them offline.
In the post below, I’ll briefly go over each of the apps.
Table Of Contents
dApps (Decentralized Apps)
Other Apps
dApps (Decentralized Apps)
A dApp or decentralized application is an app that runs on a decentralized network (blockchain, DAG, or P2P), removing reliance on a CA(central authority or server).
For example, Bitcoin runs on a blockchain while IOTA or Hedera uses a DAG(directed acyclic graph) instead, then you have your P2P protocols, TOR, BitTorrent or GUN.js. These types of technologies give users more control, transparency, and resistance to censorship compared to traditional apps.
- No single point of control (not owned/run by one authority)
- Distributed execution or data storage
- Often permissionless access (anyone can use it)
- Sometimes (but not always) uses tokens or smart contracts
My experience building things with decentralized technologies
I always liked the idea of decentralization, hence why I have this blog instead of posting stuff on platforms like Medium or Hackster.io, and why I self-host a lot of stuff like I described in this post, Docker Containers I run In My Homelab/Server and why I host my own Home Assistant for my home automation setup with a lot of my own hardware.
I got into Bitcoin mining way back in the day(2011 or 2012) when you could still use a GPU to do it. I even bought one of the first ASIC miners that I eventually tore down and reused the case to make a mini portable server. I mined Ethereum with my GPU before it went from PoW to PoS and a whole bunch of other cryptocurrencies.
Like I wrote in this blog post, about the DecentBin(Decentralized PasteBin Clone) app I was making, “I was planning to use/experiment with either Moralis(middleware for building web3 apps) or the SiaSkynet non-relational key-value pair database for storing the data. Then I was planning on using the SiaSkynet decentralized CDN to host and serve the app. In the end, SiaSkynet went bust(they didn’t get any more funding), so I kind of gave up on this little project and moved on to other stuff.” I eventually decided to redo/finish this project by using GUN.js, I’ll talk about it later in this post.
Additionally, I had the idea to make a decentralized IoT Gateway. For example, a manufacturer of an IoT device could use this IoT Gateway to set up the backend, then when their customer buys the product, they have this service and basically own their own data and infrastructure(backend data storage) without having to self-host it. This would give users full control over their privacy, data and functionality of the product.
The manufacturer couldn’t just discontinue the service, rendering the device useless (this has already happened many times). Additionally, the manufacturer of the IoT device wouldn’t have to worry about hosting and maintaining any infrastructure or worry about data protection, as they would have no data stored anyway.
I have abandoned this project because, as I mentioned above, I was relying on Sia Skynet Key-Value pair DB, but they went bust, and that project is pretty much dead. I could have used an alternative(we’ll look at some later), but the general idea was a bit too “idealistic” anyway, as in reality, unfortunately, the average user doesn’t care about their data/security/decentralization, while most manufacturers want the exact opposite, so they can harvest data and lock down the devices. So this idea would have a very niche product market fit.
Then I also did some other smaller projects that didn’t end up going anywhere(NFT game, Lbry protocol Portal, …). At some point, I found the GUN.js decentralized, peer-to-peer graph database, and decided to try it out. I used it for persistence of data and messaging in the dApps listed below.
After all of this stuff, I’m kind of out of the whole decentralized /crypto stuff. I still like the idea of decentralized technologies, and I’m very much still open to using them. But at the moment I’m focusing on other stuff.
The state of decentralized databases in 2026
Stuff I would avoid:
1. Sia
Sia had another project, called Sia Skynet, that was a key-value pair database built on top of Sia. This was very useful for developers like myself, as databases are crucial and a needed layer on top of file storage if you want to make dApps. They went out of business a few years ago. This was very disappointing, and I lost interest in the project. At some point, I was even contemplating contributing to writing a C# library for it(someone actually did it).
I checked the stats for Sia, and they have like 2.7PB of data on the network. For example, I have 6*16TB in my small home lab NAS. Now let’s say we take a 4U server with 36 bays, and use a bit bigger 24TB HDDs, this means 3-4 4U servers can host all the data currently stored on the network. All of this would fit into a single server rack with room left to spare. So yeah, the network is not doing that well.
2. Storj
3. BigchainDB
Currently useful stuff:
1. IPFS/FileCoin
IPFS (InterPlanetary File System) IPFS is not a blockchain—it’s a distributed data protocol. It uses content-based addressing(files identified by hashes), making data verifiable and tamper-resistant.
FileCoin is the blockchain part. It adds token incentives and cryptographic proofs to ensure those files stay persistently stored across the network.
Here are some useful things that I found years ago when Sia Skynet shut down, and I was looking to migrate my IoT Gateway project to a new decentralized DB.
A useful video: Store IPFS Assets on Ethereum Smart Contracts | Solidity, Moralis, Remix, IPFS, good post about IOT and Web 3.0, this was a very nice IOT Weather Station project built on IPFS(video presentation), and here’s the ESP32 IPFS Library. However, it doesn’t seem to be maintained anymore.
2. Arweave/WeaveDB
Arweave, “The Arweave network is like Bitcoin, but for data: A permanent and decentralized web inside an open ledger. Permanent storage has many applications: from the preservation of humanity’s most important data, to the hosting of truly decentralized and provably neutral web apps.”
If I remember correctly, Odysee/Lbry moved to this persistence layer after the SEC lawsuit bankrupted Lbry.
WeaveDB, Decentralized NoSQL DB on Arweave. “Mathematically-proven database with cloud performance and permanent storage. Zero-knowledge proofs enable queries from any blockchain. The verifiable data layer AI agents need.”
3. Gun.js
- Realtime p2p state synchronization via WebRTC.
- Graph data lets you use key/value, tables, documents, videos, & more.
- Local-first, offline, and decentralized with end-to-end encryption.
Here are some great talks about GUN.js from the creator:
- Gun feat. Mark Nadal – An open source cybersecurity protocol for syncing decentralized graph data
- SFNode Meetup: GUN with Mark Nadal
- SFCDEVS: Beyond DAGS: Introducing Proof of Propagation & scalable blockchains w/ GunDB!
- Building a Better Future through a decentralized connection with GunDB founder Mark Nadal
4. Other
dApps
C# Online Compiler
This is an online C# compiler that runs directly in your browser. So, your code won’t be sent to a backend server to be compiled. This is achieved by utilizing Blazor WASM(WebAssembly), which allows us to make and run C# apps(including the Roslyn compiler APIs) in a browser. I decided to use GUN.js(decentralized graph database) to store the data and live share the code editor. The account and its data are saved to the GUN.js decentralized database.
Find out more about the technical aspect of it in this dedicated post I made.
Github repo: CsharpOnlineCompiler
Link to the app: C# Online Compiler
Decent Paste
This is an old project I revived. In fact, I wrote about abandoning the idea of making a decentralized pastebin clone in this post. At the time, I was trying to create a simple dApp(decentralized application) using Sia Skynet as I was planning to use it for another project. Then Sia Skynet shut down, and I abandoned both projects.
However, I recently made an online C# compiler and decided to use GUN.js(decentralized graph database) to store the data and live share the code editor. This gave me the idea to take some of the code from there, make just a few changes to it and use it for the decentralized pastebin dApp.
Github repo: DecentPaste
Link to the app: Decent Paste
Decent Diff
I often use online diff tools to compare code snippets and text files, so I decided to make my own. I already used the Monaco editor in other projects(online C# compiler, Decent Paste), so I knew it had a diff editor as well. Additionally, I already had the code to save and share the editor using GUN.js(decentralized graph database).
Github repo: DecentDiff
Link to the app: Decent Diff
Decent Chat
When I first started using Gun.js the first tutorial in their documentation is making a chat application, so I decided to to take that example a bit further and make a secure, peer-to-peer chat application. The account and its data are saved to the GUN.js decentralized database. Your data security depends on keeping your password and private keys secure.
Key features include:
- Decentralized: Messages and room data are stored across a network of Gun peers, not a central server.
- End-to-End Encrypted: All messages and room keys are secured using cryptographic secrets derived from shared encryption keys.
- Session Management: Users can add/remove network peers, and all application state (rooms, invites) is linked to your cryptographic identity.
- Multimedia Support: Supports sending encrypted images and downloadable files (including 3D models).
Github repo: Decent-Chat
Link to the app: Decent Chat
Other Apps
GDS Viewer
This is a free and open source online GDSII file viewer/editor. It allows you to view GDS files in 2D/3D, edit them in 2D or directly via a text editor. I made this after I took a course on designing ASICs, where I found out a bout the file format and thought I could make an online viewer for the format as I couldn’t find any.
Find out more about the technical aspect of it in this dedicated post I made.
Github repo: GDS Viewer
Link to the app: GDS Viewer
Graph DB Viewer
Work in progress, will update it soon.
This is a tool to visualize and interact with your graph databases like Cosmos DB or Apache ThinkerPop using the Gremlin syntax.
I made this because I was working with graph databases for another project and realized there weren’t many good tools that you can quickly set up. I found this project, but it requires it to be set up as a Docker container. While my app can be run directly in the browser without having to instal/seup anything. Additionally, it offers 2D/3D visualization of the nodes/edges.
Github repo: GraphDBViewerWeb
Link to the app: Graph DB Viewer
3D Mesh Optimizer
This is a tool for simplifying 3D geometries of .obj files.
I quickly threw this together with code from another project of mine, while I got the mesh optimization code from this post here. I thought I’d put it online in case someone finds it useful.
Github repo: MeshOptimzer
Link to the app: Mesh Optimzer
Verilog Flow
Generate Verilog from a schematic of logic gates. You can manually drag and drop logic gates onto the canvas and connect them, or you can use AI to convert a schematic to a layout. At the end, you can get the Verilog output for your design.
Github repo: Verilog_Flow
Link to the app: Verilog Flow
Schematic2KiCad
C# Code Diagram Generator
I wanted to get a diagram of some C# code I was working on. Visual Studio offers this as a feature called Code Map, but it’s only available for the enterprise edition. So I quickly cobbled together this project by reusing some code from other projects I made and “vibe coded” the rest with AI(so I don’t guarantee code quality or that it’s without bugs).
Github repo: CsharpCodeDiagramGenerator
Link to the app: C# Code Diagram Generator
Image Compare
I made this tool when I was writing about an issue I had with my DIY weather station’s anemometer PCB. I wanted a way to visually compare the PCB and thermal camera images and toggle between them to see where the overheating components were. So I thought I could quickly vibe code or “prompt engineer” a simple image comparison tool to do that.
GitHub repo: ImageCompare
Link to the app: Image Compare





