Back to projects

Case Study

Sulok

A community platform combining social feeds, memberships, events, and payments into one production-ready mobile product.

Industry

Community Platform / Social Network

Role

Senior Mobile App Developer

Platform

Android, iOS (Flutter), Web (Next.js - In Progress)

Status

2 Years · Production

Sulok hero

Project Overview

Sulok is a community-driven social platform designed to help individuals, organizations, and communities build meaningful digital spaces. The platform enables communities (Lok) to share updates, manage memberships, organize events, communicate with members, and receive financial contributions—all within a single application. Unlike traditional social platforms that primarily focus on content sharing, Sulok combines social networking with community management, making it easier for organizations to engage and grow their audience.

Product Vision

The goal of Sulok is to provide communities with a single platform where they can: - Publish updates through rich social posts - Build exclusive communities using memberships - Organize and manage events - Accept contributions and payments - Connect members through community circles - Deliver a modern and engaging social experience

Responsibilities

  • Improving the existing Flutter architecture
  • Designing scalable application modules
  • Leading development of major features
  • Mentoring junior Flutter developers
  • Optimizing application performance
  • Researching better UX patterns
  • Building reusable UI components
  • Improving maintainability of the codebase
  • Collaborating with backend and product teams
  • Currently leading development of the Next.js web application

Key Features

Community Feed

Users and communities can publish text, image, and video posts. The feed is optimized for smooth scrolling and high performance.

Lok (Community)

Communities can build public or private spaces, publish updates, manage members, and create exclusive circles.

Membership System

Communities can create paid membership plans allowing members to unlock exclusive content, circles, and events.

Payments

Integrated payment flow allows communities to sell memberships, accept contributions, and manage premium access.

Clean Architecture

  • Clean Architecture & Repository Pattern
  • BLoC State Management
  • Dependency Injection using GetIt & Injectable
  • REST API & WebSocket communication
  • Drift Database
  • Shared Preferences & Secure Storage

Engineering Challenges

High Performance Feed

Building a production-ready feed capable of handling large amounts of media content without affecting scrolling performance. Solved using intelligent pagination, image/video pre-caching, local feed caching, and efficient widget rebuilding.

Feed Cache Synchronization

Updating cached posts with newly fetched API data while preserving the user's current scroll position. Solved by intelligently merging cached and fresh data instead of replacing the entire list, preventing UI flickering and scroll jumps.

Bottom Navigation Performance

Instead of rebuilding every screen when switching tabs, important data was cached after the first load. This significantly reduced loading delays and gave users an almost native application experience.

Optimizations

Feed media pre-cachingIntelligent image and video cachingLocal database cachingCached bottom navigation screensReduced unnecessary widget rebuildsCleaner BLoC event handlingSmooth scrolling experienceReusable UI components

UX Focus

  • Carefully designed onboarding animations
  • Smooth page transitions
  • Consistent interaction feedback
  • Responsive loading states
  • Premium scrolling experience
  • Fast navigation between modules

Tech Stack

Mobile

FlutterDart

State Management

BLoC

Architecture

Clean ArchitectureRepository Pattern

Backend

REST APIWebSocket

Database

DriftShared PreferencesSecure Storage

Cloud

AWS S3

Dependency Injection

GetItInjectable

Business Impact

  • ✓Application performance
  • ✓Code maintainability
  • ✓Feature scalability
  • ✓User experience
  • ✓Development workflow
  • ✓Architecture quality

Lessons Learned

  • Performance should be considered from the beginning.
  • Great user experience often comes from small technical decisions.
  • Clean architecture becomes increasingly valuable as products grow.
  • Collaboration between engineering and product teams leads to better solutions.
  • Continuous refactoring is essential for long-term maintainability.
  • Research and experimentation are important parts of delivering premium products.

Key Takeaway

Great software is not defined by the number of features it offers, but by how thoughtfully those features are engineered and how effortlessly they serve the people using them.