I am an Android developer. This is my first web project: CruxDev
Up until recently, my background was strictly in native Android development. I spent my days working with Kotlin, Jetpack Compose, Gradle builds, and Android lifecycle quirks. Whenever I was building and debugging mobile apps, I constantly ran into situations where I needed quick utility tools: Decoding an auth JWT from an API response to see why a user session failed Formatting large, messy JSON…
For years, my professional life revolved around creating Android applications. My expertise lay in Kotlin, Jetpack Compose, Gradle builds, and the intricacies of Android's lifecycle. During these endeavors, I encountered numerous instances where I required swift utility tools. These ranged from decoding authentication tokens from API responses to debugging complex JSON outputs.
To address these needs, I simply relied on Google searches, pasting sensitive data into unfamiliar websites, which left me uneasy. To overcome this, I embarked on a journey to learn modern web development. Instead of constructing another cliché to-do list app, I aimed to create a tool I'd truly utilize: CruxDev.
CruxDev is an extensive suite of three hundred plus developer tools that operate solely in the browser. Drawing from my Android background, where offline-first architecture is standard, I adopted similar principles. Each tool runs independently without server-side processing, employing JavaScript Web Workers and WebAssembly for local computations.
This ensures that no user input ever leaves the device. The application is also designed to function offline, enabling installation as a Progressive Web App (PWA) on both desktop and mobile platforms. It boasts a clutter-free interface, loads swiftly, and operates without tracking or ads.
Transitioning from Android development to a substantial web application with React, TypeScript, and Vite presented a steep learning curve. Managing state and optimizing bundle sizes in a single-page application starkly contrasted with Android's activity and view model management. Ensuring the browser UI remained fluid during the processing of large JSON files necessitated mastering the use of Web Workers.
Additionally, achieving a responsive layout across various screen sizes was a humbling experience that deepened my appreciation for CSS.
I welcome any constructive feedback on CruxDev, as this is indeed my first significant web application. I am keen to receive insights from seasoned web developers regarding the site's performance, responsiveness, and user interface. Are there any navigation elements that feel unnatural? Which developer tools do you frequently employ and believe could be beneficial additions? Your comments on the live site (https://cruxdev.tech) would be greatly appreciated!
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.