Waarom ik Ghostbase gebouwd heb
Ik had geen zin in nóg een linkpagina. Ik wilde één plek die echt weet waar ik naar luister, wat ik kijk en wat ik bouw — dus die heb ik zelf gemaakt.
Ik heb een Spotify, een Simkl-account om bij te houden wat ik kijk, een GitHub-profiel, een Discord-status en de gewoonte om dingen op te schrijven. Dat stond allemaal los van elkaar, en elke “link in bio”-dienst die ik probeerde was gemaakt voor makers die content plaatsen, niet voor iemand die gewoon een thuisbasis op internet wil. Dus heb ik er zelf een gebouwd. Hij heet Ghostbase, draait op razerghost.xyz, en de code is open.
Het begon als een linkpagina
De eerste versie was bijna te simpel: een pagina met links naar mijn socials en projecten, omdat ik er klaar mee was dat mijn bio verwees naar een lijstje dat er precies zo uitzag als dat van ieder ander. Daar had ik prima kunnen stoppen. Dat deed ik niet, want zodra ik een pagina had die van mij was, bleef ik gaten zien.
Zou het niet mooi zijn als deze pagina wist waar ik nú naar luister? Zou het niet handig zijn als hij mijn kijklijst gewoon liet zien — de k-drama’s en anime die Simkl toch al bij elkaar houdt — in plaats van dat ik die apart moest opzoeken? En als mijn devlog nou naast de rest stond? Elke vraag werd een functie, en elke functie werd een stukje techniek dat ik niet had ingepland: hier een laag om gegevens te bewaren, daar een import, en een zoekindex voor mijn eigen aantekeningen.
Wat het inmiddels doet
Ghostbase is uitgegroeid tot iets wat dichter bij een persoonlijk dashboard ligt dan bij een linkpagina:
- Live status — wat er op Spotify speelt, wat ik kijk, mijn Discord-status, bij elkaar in plaats van verspreid over vier tabbladen
- Een kijklijst (
/watchlist) — mijn k-drama’s en anime, rechtstreeks uit het overzicht dat Simkl al samenvoegt - Een devlog (
/devlog) — stukken in markdown met interactieve onderdelen erin (voor-en-na-schuifjes, terminalopnames, schema’s) om te schrijven over wat ik aan het bouwen ben - Projecten (
/projects) — wat ik opgeleverd heb, met labels en doorzoekbaar - Luistergeschiedenis (
/listens) — wat ik gedraaid heb, op een eigen pagina in plaats van één keer per jaar in een jaaroverzicht - Een gearpagina (
/gear) — de hardware en de opstelling erachter - Een beheerscherm (
/admin) — een echt beheersysteem achter een login voor de devlog en de projecten, met back-ups, media en de gezondheid van elke koppeling, in plaats van bestanden met de hand aanpassen op een server
Niets hiervan stond op een planning. Het is wat er ontstaat als je het gereedschap bouwt dat je zelf elke dag wilt openen, irritatie voor irritatie.
Waarom ik erover schrijf
De meeste software die ik voor anderen bouw kan ik niet laten zien — klantwerk valt vaak onder geheimhouding, en ook zonder dat zegt een schermafdruk van een intern dashboard je weinig. Ghostbase is het tegenovergestelde: het is van mij, het staat open, de code is in te zien, en elke keuze erin is gemaakt omdat ik ermee moest leven, niet omdat iemand anders een specificatie had goedgekeurd.
Dat is een ander soort druk dan werken naar andermans eisen, en een leerzame. Als je zowel de bouwer als de enige gebruiker bent, kun je een slechte keuze niet afschuiven op onduidelijke wensen — je hebt gewoon een slechte keuze gemaakt, en volgende week erger je je er zelf aan. Het is dezelfde zorgvuldigheid die ik in elk project wil stoppen, alleen zonder plek om je achter te verschuilen.
Benieuwd hoe ik werk, of wil je de code zien? Ghostbase is open source — en wil je iets gebouwd hebben met diezelfde zorg, laat het weten.