Freelance Kotlin Developer for TmlCompose

Job ID: 39157137

Budget: $10 – $30 USD

Overview
We are looking for an experienced Kotlin Developer to enhance the TmlCompose project. TmlCompose is a Jetpack Compose-inspired DSL for generating Apache Tapestry TML files dynamically using Kotlin. This project aims to modernize Tapestry UI development, making it more declarative, reusable, and maintainable.

We need a motivated developer to add new features, improve integration, and refine the project structure to make it production-ready.

Responsibilities
-Extend TmlCompose DSL to support npm integration for frontend use.
-Implement JavaScript (JS) generation capabilities to handle Tapestry interactions and dynamic behavior.
-Enhance CSS styling support, allowing users to define styles dynamically and output valid CSS files.
-Modify the library setup to package and publish the project to the Maven Central Repository.
-Update the package naming structure to align with the GitHub project (https://github.com/nandorrb/TmlCompose).
-Refactor the current output mechanism: Instead of printing TML to the console, generate structured TML files inside a project folder.
-Ensure the library integrates smoothly with Apache Tapestry so that users can easily use it within a Tapestry web application.
-Optimize the existing Kotlin DSL, ensuring a clean, modular, and extensible architecture.
-Debug and refine current features for better stability and usability.
-Write clear documentation and examples for new features.

Technologies & Tools
-Kotlin (JVM & Multiplatform)
-Gradle (for dependency management and packaging)
-Jetpack Compose-like DSL development
-Apache Tapestry (TML-based web framework)
-JavaScript (for movement, actions, interactivity)
-CSS (for styling support)
-Maven (for publishing the library)
-Git & GitHub (for version control and collaboration)

Project Roadmap & Deliverables

Phase 1: Core Enhancements
✅ Improve the current TML generation system.
✅ Modify TmlScope to output TML files instead of console logs.
✅ Ensure modular component reusability with proper encapsulation.

Phase 2: JavaScript & CSS Integration
? Implement JavaScript event handling & actions inside TmlCompose-generated TML.
? Generate CSS files dynamically for styling support.