Geospatial Naming System — La Capa de Identidad que Internet Nunca Tuvo
Patente Pendiente #63/948,788 · IETF Internet-Draft draft-ayerbe-trip-protocol-02 (co-authored with Usama Sardar, IETF RATS WG)
GNS is to identity what DNS is to domains — a naming resolution protocol.
GNS combines three protocol innovations:
@handle → public keydid:gns: methodVerify any GNS identity with a single HTTP request:
$ curl https://gns-browser-production.up.railway.app/v1/verify/@camiloayerbe
{
"verified": true,
"handle": "@camiloayerbe",
"trust_score": 90.68,
"breadcrumb_count": 933,
"verification_level": "maximum",
"chain_valid": true
}
933 breadcrumbs proving humanity through movement patterns. "maximum" nivel de verificación achieved.
Digital identity is fundamentally broken.
Authentication services like Auth0 and Okta can answer "is this the right user?" but they cannot answer the more fundamental question: "is thes un humano real?"
Prove you're human by how you move through the world.
Instead of scanning your eyeball, GNS builds trust through behavioral proof: your unique pattern of movement over time creates an unforgeable signature that only a real human being can produce.
Identity Dashboard
Breadcrumb Chain
Flocking Energy H v3 — Real-time human vs. bot classification using Parisi k=7 criticality analysis, IMU cross-correlation, and power spectral density.
Not a whitepaper. A working platform built on the GNS Protocol.
| Producto | Description |
|---|---|
| Globe Crumbs Mobile | iOS/Android app for identity creation, messaging, and payments |
| Panthera Browser | Desktop/web app for identity exploration and communication |
| GNS API v1 | REST API for developers to verify identities and integrate GNS |
| Organization Portal | Namespace registration and member management |
GNS Protocol is built on ULissy — a domain-specific programming language designed for machines that move through physical space. 26,000 lines of Rust, full compiler pipeline, 74/74 TRIP protocol tests passing, CI green, live browser playground.
search nearby where trust > 0.5draft-ayerbe-trip-protocol-02Moving machines (phones, vehicles, drones, wearables) need specialized abstractions. ULissy treats identity, location, time, cryptography, and energy as first-class language primitives rather than library imports.
The core of GNS's Proof-of-Trajectory in 15 lines:
// Collect breadcrumbs to prove humanity
identity me = Keychain.primary
every 10.minutes when battery > 20% {
let cell = here.h3(10)
let prevHash = me.trajectory.last?.hash ?? "genesis"
let hashInput = "\(cell)|\(now.millis)|\(prevHash)"
let crumb = Breadcrumb {
cell: cell,
timestamp: now,
hash: sha256(hashInput),
signature: me.sign(hashInput)
}
me.trajectory.append(crumb)
}
The same algorithm in traditional languages requires 200-300 lines of code with manual coordination between GPS APIs, cryptographic libraries, secure storage, and battery management.
// Initialize keychain
let keychain = Keychain::new()?;
let identity = keychain.get_or_create("primary")?;
// Setup location manager
let config = LocationConfig {
accuracy: kCLLocationAccuracyHundredMeters,
distance_filter: 100.0,
activity_type: .other,
};
let manager = LocationManager::new(config);
// Battery check
let battery = UIDevice.current.batteryLevel;
if battery < 0.2 { return; }
// Get current location
let location = manager.current_location().await?;
let h3_index = h3::from_geo(
location.latitude,
location.longitude,
10
)?;
// Build chain
let prev = storage.get_last_breadcrumb()?;
let prev_hash = prev.map(|b| b.hash)
.unwrap_or("genesis".to_string());
// Hash computation
let input = format!("{}|{}|{}",
h3_index,
SystemTime::now()
.duration_since(UNIX_EPOCH)?
.as_millis(),
prev_hash
);
let hash = Sha256::digest(input.as_bytes());
// Sign
let signature = identity
.private_key
.sign(input.as_bytes())?;
// Create breadcrumb
let crumb = Breadcrumb {
index: prev.map(|b| b.index + 1).unwrap_or(0),
timestamp: SystemTime::now(),
cell: h3_index,
hash: hex::encode(hash),
signature: hex::encode(signature),
// ... more fields
};
// Store
storage.append_breadcrumb(&crumb)?;
// ... 200+ more lines for error handling,
// background tasks, platform abstractions...
identity me = Keychain.primary
every 10.minutes when battery > 20% {
let cell = here.h3(10)
let prevHash = me.trajectory.last?.hash
?? "genesis"
let hashInput = "\(cell)|\(now.millis)|\(prevHash)"
let crumb = Breadcrumb {
cell: cell,
timestamp: now,
hash: sha256(hashInput),
signature: me.sign(hashInput)
}
me.trajectory.append(crumb)
}
// That's it. Compiles to Rust.
// Runs on iOS, Android, Desktop.
| Característica | Benefit |
|---|---|
| First-class Identity | identity me = ... declaration makes cryptographic keys a language primitive |
| Spatial Primitives | here.h3(10) — location is quantized for privacy automatically |
| Temporal Constructs | every 10.minutes when ... — scheduled tasks are syntax, not libraries |
| Energy Awareness | when battery > 20% — power constraints in the type system |
| Protocol Compliance | If it compiles, it follows the GNS Protocol. No room for violations. |
| Cross-Platform | One codebase → iOS, Android, Mac, Windows, Linux, WebAssembly |
Search is a language keyword, not a library. Every result is backed by cryptographic proof of existence:
// Find verified electricians nearby — ranked by trust
let results = search nearby(2.km)
where trust > 0.5, facet == "services"
ranked by trust desc
// Safe unwrapping of identity lookups
let alice = search @alice
if let peer = alice {
let proof = peer.proof
print("Trust: \(peer.trust), epochs: \(proof.epoch_count)")
}
| Característica | What It Does |
|---|---|
| Full Compiler Pipeline | Lexer (1,231 lines) -> Parser (2,914) -> Type Checker (2,922) -> Code Generator (2,224) -> Rust output |
| 74/74 TRIP Tests | Complete protocol test suite passing — breadcrumb chains, epoch bundling, trust scoring, payments, IoT |
| GitHub Actions CI | Automated build, test (74/74), and lint (clippy + fmt) on every push. Badge: CI passing |
| EBNF Grammar | Formal specification: 93 production rules covering the complete language — docs/GRAMMAR.md |
| Browser Playground | Live tokenizer + AST + Rust preview in the browser — try it now |
search keyword |
4 query targets: nearby, within, @identity, "text" — compile-time privacy enforcement |
if let binding |
Safe Optional unwrapping: if let peer = search @alice { ... } |
| Typed filters | trust > 0.5, facet == "medical", active within 1.hour, org == "health_net" |
| Ranking keys | ranked by trust|distance|recency|relevance asc|desc |
| Privacy gate | Compiler rejects Trajectory, Breadcrumb, PrivateKey in search contexts. If it compiles, it's private. |
Protocol first, platform later.
GNS is positioning as the humanity verification primitive that existing auth providers will integrate, not compete against.
| Capa | Actor | Rol de GNS |
|---|---|---|
| Application | Websites, Apps | Verify via OIDC |
| Authentication | Auth0, Okta | Add GNS as identity provider |
| Protocol | GNS | Proof-of-Humanity layer |
| Standard | TrIP (IETF I-D) | Formal protocol specification |
| Language | ULissy | Open-source foundation |
| Endpoint | Propósito | Precio |
|---|---|---|
GET /v1/verify/{handle} |
Verify humanity and puntaje de confianza | $0.01/call |
GET /v1/resolve/{handle} |
Resolve handle to public key | Free |
POST /v1/oauth/authorize |
OIDC authorization flow | $0.05/login |
POST /v1/webhooks |
Real-time identity eventos | $49/mo |
GNS works as a standard identity provider:
// Add "Login with GNS" to your app
const gnsAuth = new GNSAuth({
clientId: 'your-client-id',
redirectUri: 'https://yourapp.com/callback',
scope: 'openid profile humanity'
});
// User clicks login
gnsAuth.authorize();
// Handle callback
const { handle, trustScore, verified } = await gnsAuth.handleCallback();
if (verified && trustScore > 0.8) {
// Proceed with high-value action
}
| Capa | Tecnología | Propósito |
|---|---|---|
| Language | ULissy | Domain-specific language for moving machines |
| Mobile | Flutter/Dart | iOS and Android app |
| Desktop | Tauri/Rust | Mac, Windows, Linux |
| Backend | Node.js/TypeScript | API and relay server |
| Database | Supabase (PostgreSQL) | Identity records, messages |
| Blockchain | Stellar | GNS token, payments |
| Geospatial | Uber H3 | Privacy-preserving location |
| Primitive | Algorithm | GNS Usage |
|---|---|---|
| Identity Keys | Ed25519 | Signing breadcrumbs, messages, records |
| Encryption Keys | X25519 | Key exchange for E2E messaging |
| Symmetric Cipher | ChaCha20-Poly1305 | Message encryption (AEAD) |
| Key Derivation | HKDF-SHA256 | Shared secret derivation |
| Hashing | SHA-256 | Breadcrumb chain, Merkle trees |
| Location Encoding | H3 (Level 10) | Privacy-preserving geospatial cells (~15,047 m²) |
GNS follows the Commercial Open Source Software (COSS) model — the same playbook used by GitLab, Elastic, HashiCorp, MongoDB, and Confluent to build billion-dollar companies on open-source foundations.
The protocol and developer tools are fully open source, maximizing adoption and community contribution:
| Componente | License | Propósito |
|---|---|---|
| TrIP Protocol | IETF I-D (public) | Formal protocol specification — anyone can implement |
| ULissy Language | MIT | Compiler, runtime, standard library |
| trip-core | MIT | Rust reference implementation of TrIP |
| GNS Client SDKs | MIT | JavaScript, Python, Dart integration libraries |
| Globe Crumbs App | MIT | Mobile reference client (Flutter) |
Revenue comes from managed services, enterprise features, and premium API tiers that organizations need at scale:
| Producto | Modelo | Objetivo | Comparable |
|---|---|---|---|
| GNS Verify API | Usage-based SaaS | Developers, startups | Stripe API, Twilio |
| GNS Auth (OIDC) | Tiered subscription | Apps needing "is this human?" | Auth0, Okta |
| Organization Namespaces | Annual license | Companies, institutions | Google Workspace domains |
| GNS Enterprise | Contract + SLA | Banks, governments, large platforms | GitLab Ultimate, Elastic Cloud |
| Managed TrIP Nodes | Infrastructure-as-a-Service | Companies running private verification | Confluent Cloud, MongoDB Atlas |
| Nivel | Precio Mensual | Verificaciones | Logins OAuth | Soporte |
|---|---|---|---|---|
| Community | $0 | 5,000/mo | 500/mo | Community |
| Startup | $49/mo | 50,000/mo | 10,000/mo | |
| Growth | $149/mo | 200,000/mo | 50,000/mo | Priority |
| Enterprise | Custom | Unlimited | Unlimited | Dedicated + SLA |
$400K pre-seed via YC Post-Money SAFE at $4M valuation cap.
draft-ayerbe-trip-protocol-02)| Referencia | Pre-Seed Típico | GNS Hoy |
|---|---|---|
| Producto | Prototype or MVP | Full platform in production |
| IP | None | Patent pending + IETF I-D |
| Protocol spec | Whitepaper | Formal IETF standard submission |
| Language/toolchain | N/A | Working compiler (ULissy → Rust) |
| Blockchain | Testnet | Mainnet (Stellar) |
| Technical risk | High | Low — core protocol proven |
| Asignación | Monto | Propósito |
|---|---|---|
| US entity formation & ops | $40K | Delaware C-Corp, US banking, legal setup, registered agent |
| Protocol hardening | $80K | trip-core Rust crate, mobile FFI bridge, second IETF implementation |
| Engineering hire | $100K | First senior engineer (Rust/systems) — 12 months at early-stage comp |
| Developer ecosystem | $60K | Documentation, LSP, module registry, API developer portal |
| Go-to-market (US) | $60K | First 10 US integration partners, developer relations, content |
| IP & legal | $35K | Full US patent prosecution, COSS license counsel, IETF participation |
| Infrastructure | $25K | US-region cloud (Railway/AWS), Supabase, Cloudflare — 18 months |
| Hito | Plazo | Importancia |
|---|---|---|
| Delaware C-Corp formed | Q2 2026 | US-ready for partnerships and follow-on |
| trip-core crate published on crates.io | Q2 2026 | Second IETF implementation, Rust ecosystem adoption |
| First senior engineer onboarded | Q2 2026 | Team beyond solo founder |
| 10 US API integration partners | Q3 2026 | Product-market validation, first revenue |
| 5,000 @handles claimed | Q3 2026 | Network effect activation |
| TrIP BOF session at IETF 126 Vienna | July 2026 | Working Group formation — Standards Track progression (BOF proposal deadline: May 22, 2026) |
| $25K MRR | Q4 2026 | Seed-ready revenue signal |
| SOC 2 Type I compliance | Q1 2027 | Enterprise-ready for US market |
Native utility token on Stellar blockchain.
Stellar Wallet
Send & Receive
B2B revenue through corporate identity management.
| Nivel | Precio/Año | Miembros | Ejemplo |
|---|---|---|---|
| Starter | $49 | 1-5 | freelance@mario |
| Team | $99 | 6-25 | acme@team |
| Business | $249 | 26-100 | startup@staff |
| Enterprise | $499 | 101-500 | corp@global |
| Unlimited | $999 | Unlimited | amazon@world |
| Característica | GNS + ULissy | WorldCoin | Auth0 |
|---|---|---|---|
| Responde "¿Es humano?" | Yes | Yes | No |
| Método de Prueba | Conductual | Escaneo de iris | N/A |
| Hardware Requerido | Solo teléfono | Orb ($300K) | None |
| Privacidad | Alta (celdas H3) | Media | Baja |
| Compatible OIDC | Yes | No | Yes |
| Lenguaje Open Source | ULissy | No | No |
| Estándar IETF | Yes (I-D revision -02, RATS WG co-author) | No | No |
| Costo por Verificación | $0.01 | N/A | $0.07/MAU |
| Descubrimiento Espacial | TrIP Search (language-native) | No | No |
| Privacidad en Compilación | Yes (ULissy enforced) | No | No |
Identidad de objetos espaciales vía Proof-of-Trajectory. El primer vertical que genera ingresos sin adopción de consumidores.
Los otros cuatro verticales de GNS (Ad Fraud, Creator Economy, Content Protection, Pagos NFC) requieren adopción de usuarios a escala de consumidor antes de que fluyan los ingresos. Orbital TrIP invierte esto: 70+ satélites son rastreados en vivo hoy usando datos de observación pública existentes. Los compradores son ~30-50 corredores de seguros a nivel global, y la industria está perdiendo dinero con un ratio de pérdida combinado del 179%.
Fundamental: Orbital TrIP NO requiere hardware a bordo. Como el DNS, el registro asigna identidad basándose en la observación externa:
| Nivel | Método | Hardware Requerido | Trust Score | Estado |
|---|---|---|---|---|
| Nivel 1: Ground-Attested | Observaciones radar CelesTrak/Space-Track → cadenas breadcrumb Ed25519 construidas en nombre del satélite | Ninguno — cero cooperación del satélite | Base | En vivo hoy (70+ sats) |
| Nivel 2: Operator-Attested | El operador firma su propia telemetría con clave GNS antes de publicar en Space-Track | Solo software — cambio en segmento terrestre | Mejorado | Phase 2 (2027) |
| Nivel 3: Self-Attested | Chip de firma Ed25519 a bordo firma posiciones GPS y transmite breadcrumbs firmados | Módulo de identidad CubeSat | Máximo | Phase 3 (2028) |
google.com sin que Google instale hardware especial en sus servidores, la GNS Foundation asigna identidad de trayectoria a objetos espaciales basándose en la observación externa. El satélite no necesita saber que está siendo rastreado.
Orbital TrIP captura valor a través de cuatro capas distintas, cada una dirigida a un comprador diferente con diferente disposición a pagar. El registro público (modelo ICANN) permanece gratuito — todos los ingresos fluyen a través de Globe Crumbs Inc.
| Nivel | Objetivo | Qué Obtienen | Precio |
|---|---|---|---|
| Dashboard Público | Todos | Trust scores, trazas orbitales, alertas de anomalías, Trajectory Badges | $0 (free) |
| Starter | Brokers pequeños, investigadores | Acceso API, 50 satélites, tendencias de trust básicas | $500/month |
| Professional | Brokers regionales, suscriptores | Catálogo completo, datos breadcrumb brutos, cadenas de evidencia, analítica de flota | $2,000/month |
| Enterprise | Brokers globales (Aon, Marsh), sindicatos Lloyd's | Instancia dedicada, modelos de scoring personalizados, SLA, webhooks en tiempo real | $5,000-15,000/month |
El seguro paramétrico paga automáticamente cuando se alcanza un umbral predefinido. TrIP proporciona la verificación independiente que activa el pago — eliminando el ajuste manual de siniestros.
| Evento Trigger | Ejemplo | Fee por Verificación |
|---|---|---|
| Confirmación de Inserción Orbital | El satélite alcanza la órbita objetivo dentro de los parámetros | $5,000 - $25,000 |
| Desviación de Station-Keeping | Satélite GEO se desvía más allá de la tolerancia asegurada | $2,000 - $10,000 |
| Verificación de Eliminación de Fin de Vida | Satélite movido a órbita cementerio según directrices | $5,000 - $15,000 |
| Alerta de Detección de Anomalías | Maniobra inesperada, evento de fragmentación, aproximación de proximidad | $1,000 - $5,000 |
Los operadores de satélites pagan por reportes certificados de cumplimiento TrIP para demostrar comportamiento responsable y negociar primas de seguro más bajas. Los reguladores requieren cada vez más evidencia de mitigación de escombros.
| Tipo de Reporte | Comprador | Fee |
|---|---|---|
| Cumplimiento Anual de Station-Keeping | Operadores GEO | $5,000 - $10,000/year |
| Rendimiento de Mitigación de Escombros | Operadores de constelaciones LEO | $2,000 - $8,000/year |
| Reporte de Sostenibilidad Espacial ESG | Empresas públicas, inversores institucionales | $10,000 - $25,000/year |
| Reporte Forense de Incidentes | Aseguradoras, reguladores (post-evento) | $15,000 - $50,000 per event |
Integración profunda en los motores de precios internos de los principales reaseguradores (Munich Re, Swiss Re, AXA XL). Despliegue de plataforma licenciada con webhooks en tiempo real que alertan sus sistemas de riesgo en el momento en que el Trust Score de un satélite baja.
| Oferta | Objetivo | Precio |
|---|---|---|
| Licencia TrIP Scoring Engine | Top-10 reaseguradoras globales | $50,000 - $150,000/year |
| Integración de Modelo de Riesgo Personalizado | Sindicatos Lloyd's, suscriptores especializados | $25,000 - $75,000/year + setup |
| Feed de Webhooks en Tiempo Real | Plataformas de suscripción automatizada | $10,000 - $30,000/year |
| Stakeholder | Oferta Clave | Modelo |
|---|---|---|
| Brokers Globales (Aon, Marsh, Willis) | Benchmarking de riesgo, monitoreo de flota, generación de leads | Suscripción SaaS Escalonada |
| Suscriptores (Lloyd's, AXA XL) | Verificación de trigger paramétrico, auditoría forense | Fee por evento + DaaS |
| Operadores/Emisores (SpaceX, SES, Intelsat) | Reportes de cumplimiento para reducción de primas | Fee de auditoría / Certificación |
| Reaseguradoras (Munich Re, Swiss Re) | Integración scoring engine white-label | Licencia de plataforma |
| Capa de Revenue | Año 1 | Año 2 | Año 3 |
|---|---|---|---|
| Satélites rastreados | 500+ | 5,000+ | 45,000+ |
| L1: Suscripciones API | €72K (5 clientes media $1.2K/mo) | €540K (20 clientes media $2.25K/mo) | €2.7M (40 clientes media $5.6K/mo) |
| L2: Triggers Paramétricos | €50K (5 eventos × $10K avg) | €300K (25 eventos × $12K avg) | €1.5M (75 eventos × $20K avg) |
| L3: Auditorías de Cumplimiento | €60K (10 reportes × $6K avg) | €400K (50 reportes × $8K avg) | €2.0M (200 reportes × $10K avg) |
| L4: Licencias White-Label | €0 (construcción de relaciones) | €150K (2 licenciatarios × $75K) | €750K (5 licenciatarios × $150K) |
| TOTAL ORBITAL TrIP | €182K | €1.39M | €6.95M |
El registro público Orbital TrIP está en vivo ahora at orbital-trip-production.up.railway.app — rastreando 70+ satélites con datos CelesTrak en vivo, cadenas breadcrumb Ed25519, trust scoring, y 5 "satélites narrativos" incluyendo el acosador GEO ruso (Luch/Olymp-K2) y el evento de refugio ISS por ASAT.
Identidad del Fundador: @camiloayerbe
TrIP está en camino hacia la estandarización formal IETF. Co-authored with Usama Sardar from the IETF Remote Attestation Procedures (RATS) Working Group, providing internal advocacy within the IETF ecosystem.
| Hito | Fecha | Estado |
|---|---|---|
| draft-ayerbe-trip-protocol-00 | Dec 2025 | Done — Initial submission |
| draft-ayerbe-trip-protocol-01 | Jan 2026 | Done — Added Flocking Energy analysis, Parisi k=7 |
| draft-ayerbe-trip-protocol-02 | Feb 2026 | Done — Usama Sardar co-authorship, RATS WG alignment |
| BOF Proposal Submission | May 22, 2026 | Deadline — Birds of a Feather session request for IETF 126 |
| IETF 126 Vienna — BOF Session | July 2026 | Target: Working Group formation vote |
| Working Group adoption | Q4 2026 | TrIP becomes a WG document, multi-stakeholder review |
| RFC publication | 2027-2028 | TrIP becomes an Internet Standard |
| Término | Definición |
|---|---|
| TrIP | Reconocimiento de Prueba de Identidad Basado en Trayectoria. The formal protocol specification submitted to the IETF as an Internet-Draft. Defines breadcrumb wire format, epoch aggregation, TIT derivation, and trust computation independently of any application layer. |
| TIT | Token de Identidad de Trayectoria. A 128-bit pseudonymous identifier derived from an Ed25519 public key and genesis breadcrumb hash. Persistent, deterministic, and cryptographically bound to a trajectory. |
| COSS | Software Open Source Comercial. Business model where the core protocol and tools are open-source (MIT), while managed services, enterprise features, and premium API tiers are proprietary. Used by GitLab, Elastic, MongoDB, and HashiCorp. |
| @handle | Un nombre de identidad legible por humanos reclamado por un usuario después de recolectar 100+ breadcrumbs. Permanent, globally unique, and owned forever. |
| Breadcrumb | Una prueba de ubicación firmada criptográficamente. Contains: H3 cell, timestamp, previous hash, context digest, and Ed25519 signature. |
| Proof-of-Trajectory (PoT) | La innovación central de GNS. Demuestra humanidad a través de patrones de comportamiento (movimiento en el tiempo) en lugar de biometría. |
| ULissy | Lenguaje de programación de dominio específico para máquinas en movimiento. Treats identity, location, time, and cryptography as first-class primitives. Transpiles to Rust. Current version: v0.4.2. 26,000 lines, 74/74 TRIP tests, CI green. |
| Flocking Energy | Motor de Criticalidad de Trayectoria. Analyzes movement patterns using Parisi k=7 criticality, PSD (1/f noise), IMU cross-correlation, gyration radius, and phase-space attractors to distinguish human trajectories from GPS spoofing, random bots, and deterministic bots. |
| TrIP Search | Spatial-identity discovery layer. Search is a first-class ULissy keyword — search nearby(500.m) where trust > 0.5 compiles to type-safe, privacy-enforced queries. Every result is backed by cryptographic proof of physical existence. |
| Orbital TrIP | Aplicación de TrIP a objetos espaciales. Crea identidad criptográfica para satélites usando órbitas propagadas SGP4 firmadas con Ed25519. Tres niveles de atestación: Ground-Attested (sin hardware), Operator-Attested (solo software), Self-Attested (módulo a bordo). Live public registry at orbital-trip-production.up.railway.app. |
| Trust Score | A 0-100% metric derived from breadcrumb history. Higher scores indicate longer, more consistent movement patterns. |
| Verification Level | A tiered classification (none/basic/standard/advanced/maximum) based on breadcrumb count and puntaje de confianza. |
| H3 Cell | Uber's hexagonal hierarchical geospatial indexing system. GNS uses Level 10 cells (~15,047 m²) for privacy. |
| IDUP | Identity-based Universal Payments. Send money to @handles instead of wallet addresses. |
| Facet | A protocol-specific identity layer. Examples: chat@, dix@, email@, home@. |
| DIX | Decentralized Information Exchange. GNS's public social layer for posts and broadcasts. |
| gSite | Your personal identity page hosted on the GNS network. Customizable with themes, bio, and links. |