Building ShabDify: A 3-Day Flutter MVP for Multi-Platform Publishing

Nash9Nash9
2 min read

TL;DR

ShabDify eliminates the manual copy-paste workflow for developers publishing across multiple platforms. Built in 3 days with Flutter + Firebase, focusing solely on the core problem.

The Problem

As developers who write, we spend too much time on publishing overhead. After analyzing my workflow, I discovered 40% of my "writing time" was actually copy-pasting and reformatting across platforms.

Technical Implementation

Stack

  • Frontend: Flutter 3.16 with Material Design 3

  • Backend: Firebase (Auth + Firestore)

  • Platforms: Android, iOS

Core Architecture

enum PublishingPlatform {
  medium,
  substack,
  hashnode,
  reddit,
  linkedin
}

class UniversalLinkHandler {
  static Future<void> openPlatform(PublishingPlatform platform) async {
    final url = _getPlatformUrl(platform);
    await launchUrl(Uri.parse(url));
  }

  static String _getPlatformUrl(PublishingPlatform platform) {
    // Returns universal link that opens app or web
    switch (platform) {
      case PublishingPlatform.medium:
        return 'https://medium.com/new-story';
      // ... other platform links
    }
  }
}

Key Features

Platform Navigation Tap platform button to reveal bottom sheet with all available platforms for quick switching.

Rich Text Editor Clean, distraction-free writing environment with real-time content persistence.

Universal Link Integration One-tap copying with universal links that intelligently open platform apps or web versions, letting the OS handle navigation.

3-Day Development Timeline

Day 1: Foundation

  • Project setup with proven Flutter patterns

  • Text editor with TextEditingController

  • Platform enum and switching logic

Day 2: Integration

  • Firebase configuration and authentication

  • Copy-to-clipboard functionality

  • Platform-specific formatting

Day 3: Launch

  • Bug fixes and edge cases

  • App store deployment

  • User feedback collection

Technical Decisions

Why Universal Links Over APIs? Universal links provide immediate value without API approval delays. The OS handles app/web navigation intelligently, creating a seamless user experience.

Why Flutter? Two years of experience meant rapid development with proven patterns. No learning curve delays.

Why Firebase? Quick setup, reliable authentication, and real-time sync without backend complexity.

Lessons Learned

  1. MVP discipline is critical - Resist feature creep at all costs

  2. Experience accelerates development - Leverage existing knowledge

  3. User feedback drives everything - Build for real problems, not imagined ones

Current Status

Live on Android, Web platforms with positive user feedback. Focus remains on perfecting the core experience before adding any new features.

Tech Stack: Flutter 3.16, Firebase, Material Design 3
Timeline: 3-day MVP, demand-driven enhancements

What developer workflow would you tackle with a focused 3-day approach? Share your thoughts in the comments.

0
Subscribe to my newsletter

Read articles from Nash9 directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Nash9
Nash9