Skip to content
View suleohis's full-sized avatar

Block or report suleohis

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
suleohis/README.md

Typing SVG


Views Followers


πŸ‘‹ Hi, I'm Ephraim β€” Mid-level Flutter Developer (4+ yrs)

99% crash-free apps β€’ 20%↑ engagement β€’ Full-stack: Flutter + Laravel
Open to 100% remote / EU relocation (visa support)


πŸ§‘β€πŸ’» About Me

  • 🧠 I code, therefore I am. (And sometimes, therefore, I debug.)
  • πŸ₯‡ Master of none, but pretty decent at many.
  • 🌐 I speak fluent English, sarcasm, and at least 7 programming languages. Sometimes all at once.

πŸ› οΈ Tech Stack

Skill Level Proof
Flutter Expert Chef Kiss
Dart Expert
GetX Expert GetX Snippet
Firebase Strong Auth, Firestore, Chat
RESTful API Strong Laravel consumer
Dio Strong HTTP client
OAuth Strong Secure auth
Laravel Strong 20+ endpoints
PHP Strong Backend logic
GitHub Actions Basic CI/CD pipelines
Git Strong Team workflows
Agile Strong Sprint planning

πŸš€ Featured Projects

  • Chef Kiss: A Flutter mobile recipe app showcasing advanced UI/UX and state management, providing a Michelin-star culinary experience. Check out the repo here!
  • Voice Notepad: A Flutter speech-to-text note-taking app demonstrating efficient audio processing and local storage solutions. Check out the repo here!

πŸ’» Code Snippets (Click to Expand)

GetX State Management

class RecipeDetailController extends GetxController {
  MealRepo mealRepo = MealRepo();
  FirebaseRepo firebaseRepo = FirebaseRepo();
  final String mealId;
  RecipeDetailController({required this.mealId});
  RxInt tabIndex = 0.obs;
  Meal? meal;
  YoutubePlayerController? youtubeController;
  RxBool isLoading = false.obs;
  UserModel? user;
  RxBool isBookmark = false.obs;


  @override
  void onInit() {
    super.onInit();
    getRecipeData();
  }

// UI
RefreshIndicator(
  onRefresh: () => controller.onRefresh(),
  child: Obx(
  () =>
    controller.isLoading.value || controller.meal == null
        ? RecipeDetailShimmer()
        : RecipeDetailBody(controller: controller),
    ),
  ),

//Laravel API Call (Flutter β†’ Backend)
  Response response = await _dio.get(endpoint, queryParameters: params);
  return ResponseModel(
    isSuccess: true,
    message: response.data.toString(),
    statusCode: response.statusCode ?? 200,
    responseJson: response.data,
  );
// routes/api.php
Route::middleware('auth:api')->get('/recipes', [RecipeController::class, 'index']);

🐞 What I'm Currently Debugging

  • 🌱 I’m currently learning: advanced Flutter animations, server-side Dart, and new testing frameworks.
  • πŸ‘― I’m looking to collaborate on: open-source Flutter projects and innovative mobile fintech solutions.
  • πŸ’¬ Ask me about: Flutter performance optimization, cross-platform UI/UX, or anything else that keeps you up at night as a developer!

πŸ“Š My GitHub Stats

GitHub Stats GitHub Streak

GitHub Activity Graph


"Code is like humor. When you have to explain it, it’s bad." β€” Cory House

Feel free to browse my repositories, leave a star, or just send good vibes (or memes).

Popular repositories Loading

  1. voice-notepad voice-notepad Public

    Dart 1

  2. betsense-policy betsense-policy Public

    1

  3. chef_kiss chef_kiss Public

    Dart 1

  4. suleohis suleohis Public

    1

  5. github-slideshow github-slideshow Public

    A robot powered training repository πŸ€–

    HTML

  6. save_tabs_states_bottom_navigation_bar save_tabs_states_bottom_navigation_bar Public

    Forked from NeatSnippets/save_tabs_states_bottom_navigation_bar

    How to Save Tabs States in BottomNavigationBar in Flutter

    Dart