Community Platform · Case study
One trusted home for a community, in two languages
Minnesota Family brings a community's businesses, events, jobs, offers, and support services into one bilingual Arabic and English platform. It is free for members and funded by the businesses that list on it.

- Industry
- Community platform · local directory
- Engagement
- Product build: web, API, mobile app, moderation
- Platform
- .NET 10 · Next.js · Expo mobile · Azure
- Status
- Live at mnfamily.com, in soft launch
The problem
A community's businesses, events, jobs, and support services rarely live in one place. Finding a halal grocer, a job lead, an upcoming event, or the right government office tends to depend on knowing who to ask. Minnesota Family set out to put all of it in one place people could trust, in the language they're most comfortable reading.
The model is simple: members never pay. Searching, applying for jobs, registering for events, and claiming offers are free. Businesses fund the platform through listings, featured placement, and job posts.
What we built
- A business directory with categories, hours, photos, reviews, and enquiries, including dedicated mosque and halal listings.
- Events with real registration: capacity limits, an automatic waitlist, confirmation codes, and check-in at the door.
- A jobs board with seeker profiles and an employer pipeline, plus member offers with personal redemption codes.
- A referral directory of government and non-profit resources, and a way to ask for help that can stay anonymous.
- Moderation tools for admins and moderators, with an audit log of every decision.
- A companion iOS and Android app that shares its language files and business logic with the website.
Arabic first, not Arabic later
Arabic is the default language, and right-to-left layout is built into every page rather than patched on. Each page is rendered in the right direction on the server, so there's no flash of mirrored layout, and spacing uses direction-aware CSS throughout. Search works across languages: a business entered in English can be found with an Arabic search.
Some things deliberately stay left-to-right in Arabic, such as star ratings and QR codes, and the mobile app keeps Western digits where the community expects them.
Trust and safety by design
Nothing user-submitted goes public without review, and when a business owner edits a listing, it returns to the moderation queue. Requests for help can be limited to admins only, and a moderator can make a request more private but never less. Card payments run on Stripe's hosted checkout, so no card data ever touches the platform.
A community platform earns trust one moderated listing at a time.
Sign-in uses rotating refresh tokens with replay detection, strong password hashing, and rate limits on every sign-in route. Sign-up options only appear when the service behind them is actually configured to deliver, so nobody is offered a code that will never arrive.
How it's built
The API is .NET 10 in a clean, layered architecture with more than 500 automated tests. The web app is Next.js with Tailwind, and the mobile app is built with Expo. Everything runs on Azure, deploys from GitHub Actions without stored cloud credentials, and is watched by uptime checks that read real data rather than trusting a health endpoint alone.
Where it stands
The platform is live and in a phased soft launch with the community, starting with direct outreach to businesses and organizations before a wider launch. The mobile app is heading to the App Store and Google Play next.
Have a project like this?
We help teams architect, build, and ship software that keeps running. Let's talk about what you're building.
Start a conversation


