
PharmaConnect
PharmaConnect – Apotheken verbinden met freelancers
Introductie
PharmaConnect is een gespecialiseerd bemiddelingsplatform, ontwikkeld als MVP voor een farmaceut in Zwitserland. Het platform richt zich op het verbinden van apotheken en freelance farmaceuten (ZZP'ers) die flexibel inzetbaar zijn. Door het groeiende personeelstekort binnen de Zwitserse farmacie biedt PharmaConnect een gerichte, digitale oplossing waarmee apotheken snel freelancers kunnen vinden voor openstaande diensten (shifts).
Uitdaging van de klant
- Structureel tekort aan apotheekpersoneel.
- Geen bestaand platform dat snel en veilig freelancers kon koppelen aan apotheken.
- Behoefte aan een flexibel en schaalbaar systeem, specifiek voor de farmaceutische sector.
Wat heb ik geleverd?
Een volledig werkend MVP-platform met de volgende functionaliteiten:
- Gebruikersrollen & authenticatie via Firebase (farmaceuten en apotheken).
- Job management: opdrachten plaatsen, reageren en beheren.
- Locatie-gebaseerd zoeken met radius filters tot 50 km.
- Premium abonnementen (freemium + betaalde tiers).
- In-app messaging systeem.
Voorbeeld: Role-based navigatie filtering
Afhankelijk van de gebruikersrol, krijgen gebruikers alleen relevante routes te zien:
const navigation =
user?.role === "servicerequestor"
? memberRoutes.filter(route => route.role === "servicerequestor" || route.role === undefined)
: user?.role === "serviceprovider"
? memberRoutes.filter(route => route.role === "serviceprovider" || route.role === undefined)
: [];
Dashboard voor apotheken
Mobiele weergave voor freelancers
Belangrijkste uitdagingen en oplossingen
- Veilige multi-role authenticatie & autorisatie via Firebase en Firestore rules.
- Realtime locatie-gebaseerd zoeken (zie voorbeeld hieronder).
- Complex state management met React Context en Firestore real-time updates.
- Schaalbare zoekfuncties met caching en paginering.
Voorbeeld: Geohashing voor locatie-gebaseerd zoeken
Door gebruik te maken van geohashing via GeoFire, kunnen apotheken freelancers binnen een bepaalde straal vinden:
const queryProvidersByLocation = async (lat, lon, radiusInKm) => {
const center = [lat, lon];
const radiusInM = radiusInKm * 1000;
const bounds = geohashQueryBounds(center, radiusInM);
const promises = bounds.map(([start, end]) => {
const q = query(
collection(db, "users"),
orderBy("location.geohash"),
startAt(start),
endAt(end)
);
return getDocs(q);
});
};
Resultaat en status
Hoewel het MVP volledig werkend is opgeleverd, is het door persoonlijke omstandigheden bij de opdrachtgever helaas niet live gegaan.
💡 Op zoek naar een partner om dit concept verder uit te bouwen? Ik sta open voor samenwerking om PharmaConnect verder te ontwikkelen tot een volwaardige SaaS-oplossing.
Wat maakt PharmaConnect uniek?
- Branche-specifiek: volledig gericht op de farmaceutische sector.
- Locatie-intelligentie: radius-based matching met taak-specifieke filters.
- Dual-sided marketplace: afgestemde ervaring voor apotheken én freelancers.
- Gericht op de Zwitserse markt (o.a. Zurich, Basel, Bern, Genève).
Voor wie is dit een goed voorbeeld?
- Marketplace Platform Ontwikkelaars: geospatiale zoekfunctionaliteit, matching algoritmes.
- SaaS Product Developers: subscription models, premium tiers.
- Industry-Specific Platform Builders: domain-specific workflows.
Stack highlights
🚀 Interesse om dit concept verder uit te bouwen of iets soortgelijks te ontwikkelen? Neem contact op!