# Help build ItsGoin

ItsGoin is an open source project that welcomes contributors of all kinds.

## The honest story

ItsGoin was built by a network/tech web dev and junior programmer who's been vibe-coding well beyond his skill level with the help of AI. The architecture is ambitious — a fully decentralized social network with mesh routing, NAT traversal, envelope encryption, and a CDN tree — and it actually works.

But "works" and "works well" are different things. The codebase needs experienced eyes. There are rough edges, performance opportunities, and entire planned features that need real expertise to do right.

If you find that interesting rather than terrifying, you're exactly who we need.

## Where to start

### Read the design

The design document is comprehensive — it covers every protocol message, every architectural decision, and what's planned next. Start here to understand what you're looking at.

### Browse the code

The full source is on our self-hosted Forgejo instance. Fork it, poke around, open issues, submit pull requests.

git.itsgoin.net

### Join the conversation

The Discord is where we discuss design decisions, report bugs, coordinate work, and generally hang out. It's small right now — that means your voice matters more.

Join Discord

## What we need help with

### Rust developers

The core library (`crates/core`) is ~15K lines of Rust handling networking, sync, encryption, and storage. If you know Rust and are interested in P2P systems, there's plenty to dig into — performance tuning, error handling, protocol edge cases.

### Frontend developers

The UI is plain HTML/CSS/JS with no build step — intentionally simple. But simple doesn't mean it can't be better. The frontend talks to the Rust backend through Tauri IPC commands.

### Testers

Download the app, use it with friends, and tell us what breaks. Real-world testing across different networks, NAT types, and devices is invaluable. Bug reports on the Forgejo issue tracker or Discord are hugely helpful.

### Security reviewers

We're doing envelope encryption, group keys, ed25519 signatures, X25519 DH key exchange. If you have cryptography experience, we'd love a review of the implementation.

### Documentation & ideas

Not a coder? That's fine. Help improve docs, suggest features, find UX problems, write tutorials. Every perspective helps.

## Tech stack

Component | Technology
--- | ---
Core library | Rust (~15K lines)
P2P networking | iroh 0.96 (QUIC + mDNS)
Storage | SQLite
Encryption | ChaCha20-Poly1305 + X25519
Desktop/mobile | Tauri v2
Frontend | Plain HTML/CSS/JS (no framework, no build step)
Platforms | Android, Linux (AppImage)
Code hosting | Forgejo (self-hosted)

## License

ItsGoin is licensed under Apache 2.0. Use it, fork it, build on it. The only requirement is that you keep the license notice.