Argu

Een open source e-democracy en community platform, om organisaties te helpen hun achterban te bereiken.

Onze democratie en het internet

Twee van onze favoriete uitvindingen. Jammer dat ze nog niet zo goed samen werken. Er zijn twee problemen die we moeten oplossen:

1. Het internet kan een betere rol spelen in onze democratie

We wonen met miljoenen mensen in een land, maar alle grote beslissingen worden gemaakt door kleine groepjes in oude houten zaaltjes. Talloze waardevolle inzichten en ideeen worden hierdoor overgeslagen. Met het internet zouden mensen vanaf allerlei plekken hun ideeen kunnen delen, kunnen meedenken en hun mening geven.

2. Social media zijn niet ontworpen voor het oplossen van problemen

Social media zijn meestal ontworpen om mensen naar advertenties te laten kijken, niet om samen problemen op te lossen, of om een genuanceerd blik op iets te krijgen. Online discussies zijn vaak onoverzichtelijk, kortaf en daarmee niet goed bruikbaar. Begrijpelijk dat veel organisaties dan ook bang zijn om het internet in te zetten.

Onze oplossing

Dus zijn we aan de slag gegaan om een online democratie en community platform te bouwen. Ontworpen om burgers zo makkelijk mogelijk te laten participeren, en om ambtenaren zo goed mogelijk vragen te laten stellen. We lanceerden Argu in 2015, en hebben onderhand meer dan 150 participatietrajecten afgerond. We hebben talloze functionaliteiten ingebouwd, zoals digitaal stemmen, reageren, dynamische formulieren, vragenlijsten, kaartweergaven, notificaties, rechtenbeheer, groepen, custom domeinnamen, export mogelijkheden, custom theming, en nog veel meer.

Technologie

Argu is met afstand ons grootste project, en een belangrijke bron van onze inkomsten. Het is een SAAS oplossing die we al jaren doorontwikkelen en live houden voor diverse klanten. Het ontwikkelen van Argu heeft ons geleerd om webapplicaties te maken die onderhoudbaar, flexibel en schaalbaar zijn.

De stack van Argu bestaat uit diverse diensten, waarvan er twee in het bijzonder relevant zijn:

Back-end: Apex

De basis van onze back-end van Argu is gebouwd op basis van Ruby on Rails. Gezien we de wens hadden om de data als Linked Data beschikbaar te stellen, hebben we hier een Open Source library voor geschreven: Linked_Rails. Dit geeft Apex een aantal unieke kwaliteiten:

  • Alles is linked data. Zelfs de knopjes, formulieren, en acties zijn beschreven als data. Dit geeft ons een grote flexibiliteit, zodat we dezelfde broncode kunnen gebruiken voor zeer uiteenlopende usecases.
  • De API is gelijk aan de website. Als je een pagina kan bekijken, kan je de data van die pagina opvragen met dezelfde URL. Eigenlijk ontzettend logsich (zie ons artikel over API design), maar gek genoeg vrij zeldzaam.

Front-end: Libro

Libro is een webapplicatie geschreven in React + Typescript. Libro staat voor linked data browser. Dit is wat Libro uniek maakt: het is in de kern niet een gewone app, maar een data browser. Onder de motorkap werkt libro met de Link libraries, ontwikkeld door onze CTO Thom van Kalkeren. Libro communiceert exclusief met Apex door linked data (RDF) uit te wisselen. We zijn een van de eerste SAAS ondernemingen die linked data zo ver in haar stack heeft gestopt. Dat heeft ons enkele unieke uitdagingen opgeleverd, zoals een performance bottleneck waarvoor we een nieuw RDF serialisatieformaat hebben ontwikkeld.

Gemaakt met

Open Source

De gehele Argu broncode is open-source te vinden op Gitlab.