LogoYevgeniy Akimenko
home
projects
SkillSetGo!
LinkSaver
Innota
ReNoun
First Maps
ConCord
⬡
RanPic
about
SkillSetGo!
LinkSaver
Innota
ReNoun
First Maps
ConCord
⬡
RanPic

My story: RanPic

JavaScript

TypeScript

Vue.js

Vite

Tailwind CSS

Worker API

OffscreenCanvas API

PWA

PHP

An offline progressive web app that generates random pictures.
RanPic screenshot
GitHub
Live Demo
GitHub (PHP version)
RanPic is a random avatar (or abstract image) generator. Select a hue and generate a random avatar for your profile picture. The app creates a random kaleidoscope-like image made of triangles and circles on a white, black or transparent background. You can select the hue and average saturation for the shapes.
This project was inspired by Identicons, which are used as default avatars on GitHub. I decided to make something more variable and customizable, and this is the result.
Originally, the idea of the project was implemented in PHP, but I later rewrote it and developed further in Vue. The app uses the standard Worker API. The worker runs as a separate thread to render the image using OffscreenCanvas API. Since the app is completely static, I used Netlify to host it.
This app is also a Progressive Web App (PWA), so it can be installed on a mobile device and run offline. I used Vite-PWA to automatically generate the service worker at build time.
akimenkoy@gmail.com
LinkedIn
GitHub