1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/** @jsxImportSource https://esm.sh/hono@latest/jsx **/
import { Context, Hono } from "npm:hono";
export const Bringing_My_OCD_Online = (c: Context) => {
return c.html(
<html>
<head>
<title>Bringing My OCD Online</title>
<style
dangerouslySetInnerHTML={{
__html:
`:root{--slate1: hsl(200, 7%, 8.8%);--slate2: hsl(195, 7.1%, 11%);--slate3: hsl(197, 6.8%, 13.6%);--slate4: hsl(198, 6.6%, 15.8%);--slate5: hsl(199, 6.4%, 17.9%);--slate6: hsl(201, 6.2%, 20.5%);--slate7: hsl(203, 6%, 24.3%);--slate8: hsl(207,
}}
>
</style>
</head>
<body>
<a href="https://willkrouse.com/">Home</a>{" "}<a href="/projects">Projects</a>{" "}
<a href="https://twitter.com/Willthereader">Twitter</a> <a href="https://github.com/wkrouse">Github</a>
<h1>Bringing My OCD Online: Userscripts for Immersive Forum Browsing</h1>
<p>
Hi, I'm Will. I'm 24, autistic, and have OCD tendencies. I'm learning to code and this is my first public
project. I’d really appreciate your feedback and encouragement!
</p>
<p>
This project lets me solve some of my OCD problems online. There are a couple of parts of the forums that I
visit – Space Battles, Sufficient Velocity, and Questionable Questing – that I want to remove. Specifically, I
hate seeing indicators of how much is left in a forum thread, because I keep thinking about how much content
is left. It stops me from immersing myself in the story. It stressed me out. Before I learned to code, I'd use
my hand to block the total chapter count so I could read the blurb and see the word count. I would do my best
to ignore the page navigation bar except for the next page button, but I usually ended up failing. One of the
reasons I always read in full-screen Safari is that I didn't have to see the tab name that always had the page
number. I learned not to hover my cursor over the window because it would tell me the page number.
</p>
<p>
This project is a series of userscripts that hide those indicators. I coded the userscripts in JavaScript, and
I used{" "}
<a href="https://github.com/quoid/userscripts">this system</a>. Despite the fact I didn't know what a
userscript was until I started coding them, AI assistance allowed me to code them with minimal help from my
brother, Stevie. Khanmigo helped me plan, write, and debug code. ChatGPT taught me the theory. Part of the
reason I coded a lot faster with the later userscripts is I knew enough to realize when AI was talking about
something irrelevant and redirect it. One cool moment was when I correctly predicted I didn't need to code
different userscripts for SpaceBattles and Sufficient Velocity because Sufficient Velocity used to be part of
SpaceBattles.
</p>
<p>
I find it relaxing not to have to worry about accidentally seeing the chapter count or the final page number.
Maybe they’ll help one of you!
</p>
</body>
</html>,
);
};
const app = new Hono();
app.get("/", Bringing_My_OCD_Online);
export default app.fetch;
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
willthereader-bringing_my_ocd_online.web.val.run
v14
May 31, 2024