←back to thread

662 points klimeryk | 2 comments | | HN request time: 0.001s | source

Hi, all! Author here. What started as a small tool I built for a job interview, became "The Most Over-engineered Deal With It Emoji Generator":

- All operations done fully client-side - no backend, no private data leaves your browser. - Uses machine learning models (MediaPipe Face Detector task) to automatically scale and position glasses on the detected faces. - Extensive customization options for glasses: - Placement of glasses anywhere on the input image (including slightly going outside it). - Change the size of glasses. - No limit on the number of glasses. - Flip the glasses vertically or horizontally. - Customize the direction from which the glasses appear on the image. - Different types of glasses. - GIF output options: - Looping mode. - Number of frames. - Frame delay. - Separate delay setting for last frame. - Output size. - Celebration confetti - Easter eggs.

I've been working remotely for the last >9 years. When using non-verbal communication, it's important that your tone and intent comes across accurately.. Custom emojis became for me part of expressing yourself, creating bonds and camaraderie. I've originally created an MVP of this tool while applying for a exciting new job opportunity. As a showcase of my passion for programming, building teams and creating delightful user experiences. Unfortunately, they were not impressed and ultimately did not offer me the job :( But I wanted to polish it and release it for everyone to use for free, so that you can too "Deal With It"!

I have more ideas for even more features (check GitHub[1]), but wanted to launch it and see what's the feedback and ideas from the community! And if you're looking for a Fullstack Developer with >14 years of experience, with passion for great customer experience (remote work or locally in Iceland), let's chat!

[1] - https://github.com/klimeryk/dealwithit

Show context
TZubiri ◴[] No.41849296[source]
This is useless, I can't make the glasses come from below, in addition to coming from above.

Also, glasses can only be black? We demand a color palette for glass colour.

EDIT: wait, I managed to make the glasses come from below

blob:https://emoji.build/50c07035-efb9-4341-9205-30adfd6b088e

I retract my indignation on the one half of my requests, but transfer it doubly so for the request of a colour palette

replies(4): >>41849388 #>>41849445 #>>41849491 #>>41853913 #
barryrandall ◴[] No.41849445[source]
That feature was removed because half the people who want black frames were offended that the app offered options that they didn't want to use.
replies(2): >>41849508 #>>41849581 #
TZubiri ◴[] No.41849581[source]
What's interesting is that the moment that you introduce a feature that allows for sharing of the images, and you need a backend to host the images. You enter a world of pain where you inevitably will end up hosting illegal material, and it turns from a fun project to a serious project.
replies(1): >>41849729 #
1. klimeryk ◴[] No.41849729{3}[source]
Yeah, that's why I'm keeping everything client-side. There's no backend. This is hosted on Cloudflare Pages, everything on the backend is static. Definitely not looking to host any generated images.
replies(1): >>41851076 #
2. mnutt ◴[] No.41851076[source]
On Mobile Safari at least, you can press and hold the image to share. I imagine there's probably an equivalent gesture on Mobile Chrome. I spent considerable time many years ago trying to figure out how to indicate to users that they could do this. ("press and hold to share", with a progress indicator) Results were mixed.

Fortunately, these days if you wanted to make it more obvious you could hook up a regular Share button to navigator.share() API and pass it your image blob.