Projects
Open Source libraries, tools, and applications
React Native Simple Image Compressor
This library allows you to compress local images from the file system using their URI (remote HTTP URLs are not supported). It was primarily designed to compress freshly taken camera photos, significantly reducing file size before uploading them to a server.
- OOM (Out-of-Memory) Safe: Images are downsampled directly during decoding (inSampleSize on Android, ImageIO on iOS). The library never loads full-resolution images into memory, completely preventing OOM crashes even on giant 4K+ camera photos.
- Blazing Fast (Powered by Nitro Modules): Built with the RN Nitro architecture. Zero bridge overhead and direct C++ to Swift/Kotlin communication make the compression fast.
- Smart orientation and EXIF Preservation: Automatically reads EXIF orientation and "bakes" the correct rotation directly into the pixels. It also safely transfers valuable EXIF metadata (like GPS and Camera info) to the compressed image (only for JPEG output).
- Tiny footprint: Minimal dependencies. The library relies heavily on native APIs (BitmapFactory for Android and ImageIO for iOS) to keep the app's bundle size as small as possible.
- Next-Gen formats support: Supports modern formats including WebP and WebP-Lossless across both (Android and iOS) platforms (utilizing native APIs where possible and libwebp as a fallback on iOS).
- Aspect ratio preservation: Intelligently scales images to fit within your desired maxWidth and maxHeight bounds without ever stretching or distorting the original aspect ratio.
- Production Ready & Tested: Backed by comprehensive native unit tests (Swift/Kotlin) to ensure maximum stability and prevent regressions across edge cases.
React Native Simple Yamap
This library was written to provide a simple way to interact with the MapKit SDK in React Native. The library is being written for our own needs and will be expanded as needed. Currently, only basic features are supported (see below for a description of map objects). Currently, the lite version of SDK is used; parts of the full version have not yet been used. The library is being without regard for the old architecture; that is, it's intended for use only with the new architecture.
- New Architecture Only: Designed specifically for the React Native New Architecture (Fabric / Turbo Modules).
- Yandex MapKit SDK Integration: Simple declarative interaction with the Yandex MapKit SDK for iOS and Android.
- Animated Markers (SimpleMarker): Support for icons and text, smooth position (animatedMove) and rotation (animatedRotate) animations, anchor offsets, and zIndex controls.
- Polygons with Inner Cutouts (SimplePolygon): Polygon rendering with customizable fill, stroke, and inner cutout holes (innerPoints).
- Circles & Animations (SimpleCircle): Circular map overlays with dynamic radius adjustments and smooth position animations.
- Advanced Polylines (SimplePolyLine): Custom polyline segments with flexible dash styles (dashStyle), turn radii, stroke widths, and outlines.
- Camera Control & Events: Real-time camera movement tracking (zoom, tilt, azimuth, gesture reasons) and programmatically animated centering (setCenter).
- Color Converter Utility: Built-in color converter helper allowing convenient color strings ('rgba(...)', 'red') alongside native integer values.