Skip to content
View jaypal1046's full-sized avatar

Organizations

@student-lm

Block or report jaypal1046

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 is supported. This note will only be visible to you.
Report abuse

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

Report abuse
jaypal1046/README.md

👋 Hey, I'm Jayprakash Pal

Flutter Developer · Open Source Creator · Compiler Nerd

I build things that run everywhere — and tools that help others build better

LinkedInPortfolioFlutterJSEmail


About Me

I'm a Flutter developer from Mumbai, India with 4+ years of experience building cross-platform apps that real people use. I've shipped products to 10M+ users, but what drives me most is solving the hard problems nobody else has tackled yet.

Right now that problem is Flutter Web's broken SEO — canvas rendering, bloated bundles, inaccessible output. So I built FlutterJS, a Dart-to-JavaScript compiler that outputs real HTML. It's early, rough around the edges, and I'm building it in the open because I think the direction matters.

  • 🔭 Day job: Mobile Developer at Idealake, consulting for ICICI Lombard
  • 🛠️ Nights & weekends: Building the FlutterJS ecosystem — compiler, SEO, server framework, testing
  • 📍 Mumbai, India

🔨 The FlutterJS Ecosystem

Flutter Web outputs a canvas blob. Google can't index it. Screen readers can't parse it. Bundles are 2–5 MB. I got tired of working around this.

FlutterJS compiles Dart/Flutter to real, semantic HTML+CSS+JS — dropping bundle sizes to 50–100 KB and unlocking proper SEO. It's early-stage and not production-ready, but the core is working.


flutterjs — The Compiler

The core engine. Multi-phase pipeline: AST parsing → IR generation → JavaScript transpilation.

What works: Layout widgets (Container, Row, Column, Stack), Material widgets (Scaffold, AppBar, ElevatedButton, TextField), forms, StatefulWidget + setState, real HTML output.

What's missing: Animations, advanced Material widgets, Cupertino, some complex layout edge cases. Honest note — this is pre-alpha. I'm sharing early because people have been asking for this for years and I want to know if the direction is right before sinking more time in.

Next big piece: Server-side rendering on Node.js — pre-rendered HTML for instant first paint and SEO that works without JavaScript.

WebsiteGitHub


flutterjs_server — Write Dart APIs, Run on Node.js

Write HTTP servers in Dart. Compile them to JavaScript. Deploy anywhere Node.js runs.

@Server(port:3000)
classMyApi {
@Get('/hello')
Responsehello() =>Response.ok({'message':'Hello from Dart!'});
@Post('/users')
ResponsecreateUser(@Body() Map<String, dynamic> body) {
final name = body['name'] asString?;
if (name ==null) returnResponse.badRequest({'error':'name required'});
returnResponse.created({'id':'1', 'name': name});
}
}

Familiar annotations (@Get, @Post, @Param, @Body), built-in middleware (CORS, logger, bearer auth), and proof that the FlutterJS compiler works end-to-end for real server use cases.

pub.dev


flutterjs_seo — SEO Metadata for FlutterJS Apps

Lightweight metadata injection built specifically for FlutterJS web apps. Because the whole point of compiling to real HTML is being able to actually use it — and that means proper meta tags, Open Graph, and indexable content.

pub.devDownloads


flutter_test_pilot — Flutter Testing That Reads Like English

A fluent UI testing framework. Zero configuration — works without knowing your app's internal structure, routes, or state setup. Just add the dependency and start writing tests.

final loginSuite =TestSuite(
name:'User Login Flow',
steps: [
Type.hint('Email').text('user@example.com'),
Type.hint('Password').text('password123'),
Tap.text('Login'),
Api.post(
id:'login-api',
urlPattern:r'/api/auth/login',
expectedStatus:200,
responseChecks: [ResponseCheck('token', exists())],
),
],
);

17+ widget-finding strategies, API interception + validation, parallel execution, retry logic, rich console & JSON reporting. Works with any architecture — BLoC, Provider, GetX, Riverpod.

pub.dev


dead_code_analyzer — Cut the Dead Weight

CLI plugin that finds unused code in Flutter/Dart projects. Custom exclusion patterns, monorepo support, CI/CD integration. Hit 500+ downloads in the first 15 days.

pub.devDownloads


💼 Production Work

AppScaleWhat I built
ILTakeCare (ICICI Lombard)10M+ downloadsFlutter UI, Bloc, Clean Architecture, REST APIs
Axis Neo (Axis Bank)Transaction banking platformFlutter across Android, iOS & Web
Ripple (Internal social platform)Company-wide at IdealakeFlutter, Firebase, AES encryption
ImmunOmate1,000+ downloadsLed full end-to-end development

🧰 Tech Stack

Mobile & Web → Flutter · Dart · FlutterFlow
State Mgmt → Bloc · Provider · GetX · Riverpod
Architecture → Clean Architecture · MVVM · MVC
Backend & APIs → Firebase · REST · Node.js · Express.js · WebSocket
Compiler / Tools → AST parsing · IR generation · Dart CLI · static analysis
Databases → Firestore · SQLite · Hive · SharedPreferences
DevOps → Firebase Analytics · Crashlytics · CI/CD · Play Store · App Store

📈 GitHub Stats



If FlutterJS has helped you, starring the repo helps others find it

FlutterJSForks


🎓 Education

B.Sc. Information Technology — Nagindas Khandwala College, Mumbai (2018–2021)


If FlutterJS sounds useful — try it, break it, and tell me what's wrong. That's exactly what I need. 🚀

Pinned Loading

  1. dead_code_analyzerdead_code_analyzerPublic

    dead_code_analyzer is a command-line tool for Dart and Flutter projects that identifies unused code elements (classes, functions, variables) to streamline code cleanup and refactoring.

    Dart 3 2

  2. flutter_test_pilotflutter_test_pilotPublic

    A comprehensive, fluent testing framework for Flutter applications that makes UI testing intuitive and maintainable.

    Dart

  3. two_dimensional_scrollablestwo_dimensional_scrollablesPublic

    Flutter Application for two dimensional Scrolling text

    C++

  4. cc_avenuecc_avenuePublic

    Forked from avinash-gotluru/cc_avenue

    Flutter Package for cc_avenue Payment Gateway Integration

    Java