Jeddex

Neraptic

March 27, 2025

AAC's: Basic overpriced software

Neraptic is a website I decided to make because of the lack of affordable and good quality resources for autistic children online. I myself have an autistic brother and know the struggles of what it's like raising an autistic child, a non-verbal one to be specific. There isn't much help available since it's such a niche problem; most of the stuff that is surrounding it seems to be governed by an audience that come from this wave of wokeism which advocates for self-victimization in which many people have found refuge in validating their neurosis by seeking or diagnosing themselves as autistic, or some other banal diagnosis to justify their superficial pathology at a deeper level than it actually is.

I am not saying that high-functioning autistic people who still go through real struggles because of their condition don't exist, but it's highly likely that a vast majority of these folks who parade around their autism diagnosis like a badge of honor or make it their entire personality are simply neurotics who in large part identify with a lot of radical leftist/wokeist values which have led them to channel their neurosis into acquiring as many accolades as they can from the DSM-5.

Sorry for the small tirade there, but the technologies I've decided to use to make this are React with Vite and TypeScript to make use of the strong typing that TypeScript provides. There's no explicit compile step you have to do with this setup, which is nice. Also, the way it handles the virtual DOM is pretty cool, expediting the transitionary periods between different parts of the website.

Don't forget to use useRef in React, otherwise you'll end up manipulating the DOM with JavaScript instead of the virtual DOM. Using useRef will always be O(1), whereas using document.getElementById will traverse through all the DOM elements, which is O(n).

I've never built a canvas before, so this part was pretty cool since I was basically starting from scratch. Essentially, I used an HTML <svg> element where I could render objects (images, shapes, and text) and move them by calculating the height and width of the SVG canvas in juxtaposition with the mouse.

The AAC was much simpler. I just rendered everything in a <div>, saved all the words in multiple useState arrays differentiated by categories, and rendered them within a message display <div>. It honestly baffles me that some companies charge up to $250 for such a simple piece of software. The most expensive part would be storing all the words in a database, but it does not by any means justify the extraordinary cost for such — it's ridiculous.