All apps
Hadi Yapalım app icon

Hadi Yapalım

A neighbourhood-scale social marketplace that gets you doing things together with the people around you.

  • iOS
  • Android
  • 2026
  • My own product
In review Website

Screenshots

Click an image to enlarge it.

About the app

Hadi Yapalım tries to solve, in one place, two separate moments where people end up on their own in daily life. The first is the enjoyable one: finding someone to go running with, the missing player for a five-a-side match, a neighbour who shares the same hobby. The second is the unavoidable one: a wardrobe to move, a computer to set up, a child who needs help with homework — the tasks where you need someone's support.

These two needs are nothing alike, but they sit in the same place: the people near you. The app brings both together on a single discovery surface, with rules that change depending on the type of listing. For an activity you do together, the reward is company; for a job, the reward is payment — so the user isn't only receiving help, they can also turn their skills into income.

Distance sits at the centre of the product. The goal isn't a general classifieds site but a community at neighbourhood scale; proximity determines both the quality of the match and how likely the meeting is to actually happen.

As in any product where you meet strangers, the real issue here is trust. That's why profiles, two-way ratings and pre-listing messaging aren't decoration — they're the foundation of the product.

My mission is to build a safe, accessible digital community where people don't feel alone in either their everyday needs or their enjoyable activities. The long-term goal is to become Turkey's warmest social marketplace: a platform that brings people together in every neighbourhood and strengthens local communities.

Key features

  • Listings near you: activity and job listings sorted by distance
  • Two listing types: activities to do together and paid jobs
  • Categories: sports, hobbies, everyday tasks and help
  • Income from your skills: publish the work you can do as a listing
  • Profiles and two-way ratings — scoring after the meet-up
  • Messaging before the listing — talk before you agree

Technologies used

110 technologies · 13 categories

Languages and Platform

  • Dart
  • Flutter
  • One codebase, two platforms
  • iOS and Android releases
  • Material and Cupertino design languages
  • Handling platform differences

UI and Application Layer

  • Widget tree architecture
  • Stateless / Stateful widgets
  • State management
  • MediaQuery / LayoutBuilder
  • Navigator and routing
  • Theming and design system
  • Virtualisation with ListView.builder
  • Custom animations and transitions

Backend and Data

  • Firebase Firestore
  • Firebase Authentication
  • Firebase Storage
  • Cloud Functions
  • Firestore security rules
  • NoSQL data modelling
  • Firestore transactions
  • Composite index design
  • Firestore offline cache
  • Batch writes
  • Cursor-based pagination
  • Denormalisation
  • Counter fields
  • Cloud Functions triggers
  • Scheduled jobs

Location and Maps

  • Location services (Flutter plugin)
  • Google Maps integration
  • Location permission flows
  • Map marker management
  • Geohash geo queries
  • Distance and radius calculation
  • Map–list view switching

Real Time and Notifications

  • Firestore real-time listeners
  • Firebase Cloud Messaging
  • APNs (iOS)
  • Android notification channels
  • Notification permissions
  • Messaging data model
  • Read and delivery receipts

Trust, Moderation and Listing Flow

  • Two listing types in one model
  • Two-way rating model
  • Rating averages (Cloud Functions)
  • User blocking and reporting
  • User-generated content moderation
  • Form validation
  • Category and filter queries

Subscriptions and Payments

  • In-app purchases (iOS / Android)
  • Subscription product configuration
  • Server-side receipt validation
  • Renewal and cancellation handling
  • Entitlements based on subscription status

Async and Architecture

  • Future / async-await
  • Stream and StreamBuilder
  • Heavy work in Isolates
  • MVVM
  • Repository layer
  • Service layer separation
  • Error handling and retries
  • Environment separation (dev / prod)

Networking and Data Transfer

  • HTTP client
  • JSON serialisation
  • Retries and timeouts
  • Offline state handling
  • Image caching
  • File upload progress
  • Connectivity monitoring

Security and Privacy

  • Secure local storage
  • HTTPS
  • Auth token management
  • Session refresh
  • Permission purpose strings
  • Account deletion flow
  • Server-side authorisation checks

UI States and Accessibility

  • Dark theme (ThemeData)
  • Text scaling
  • SafeArea
  • Empty / loading / error states
  • Skeleton loading
  • RefreshIndicator
  • Keyboard and focus management
  • Deep linking
  • Accessibility with Semantics

Testing, Debugging and Measurement

  • Widget Inspector
  • Performance overlay
  • Memory profiling
  • Console and Logcat
  • Testing on real devices
  • Testing across screen sizes

Tools and Release Process

  • Flutter SDK
  • Dart DevTools
  • pub / pubspec dependency management
  • Xcode (iOS build and signing)
  • Android Studio
  • CocoaPods (iOS plugins)
  • Gradle (Android build)
  • Git
  • App Store Connect
  • Google Play Console
  • TestFlight
  • Play Console internal testing
  • flutter build ipa / appbundle
  • Version and build numbering
  • Signing and provisioning profiles
  • App Store review process
  • App Privacy / Data Safety forms
  • Store assets and ASO copy
Solo work

Concept, design, interface, code, store release and post-launch maintenance — I ran the entire process end to end on my own. No team, no agency, no outsourcing.

Development notes

  • Languages and approachBuilt with Flutter and Dart, shipping to iOS and Android from a single codebase. I have been writing mobile apps since 2020; until then I wrote each of my apps natively and separately in Swift, Java and Kotlin. In 2026 I moved to a single codebase.
  • StatusThe app is in store review; development and release preparations are ongoing.
  • DependenciesThe app uses a large number of open-source packages from the Flutter plugin ecosystem; dependencies are managed with pub, and the platform-side builds with CocoaPods and Gradle.
  • Neighbourhood scaleThe goal isn't a general classifieds site. Proximity determines both the quality of the match and how likely the meeting is to actually happen.
  • Testing and debuggingTested on real devices, across different screen sizes and under poor network conditions.
  • Release preparationApp Store Connect and Google Play Console setup, the privacy declaration, store assets and the review process are all handled by me alone.
  • Product ownershipConcept, design, development, brand identity, website and marketing — the whole process is mine.

Let's talk about Hadi Yapalım

I'm happy to walk through the technical details, the problems I ran into and how I solved them.