Obscure
- 4 Devlogs
- 4 Total hours
A lightweight homepage for searching across curated and independent search engines.
A lightweight homepage for searching across curated and independent search engines.
This update was mostly about making Obscure nicer to actually use.
I added a custom search engine dropdown that matches the current theme, along with controls for the background box and text length. The dropdown also got a few fixes after I found some problems with it not closing properly and text becoming hard to read.
The favicon now changes with the selected theme, so even the browser tab matches the page.
I also added local caching for the APOD response, so the same day’s image doesn’t need to be fetched again every time the page is opened.
I am probably going to work on my other projects unless I need to finish off tasks here. One glaringly obvious update I need to do is to update the weather API. Also the logging I made in the console straight up doxxes the api keys.
This update was mostly about making Obscure feel more personal.
The appearance settings are now fully wired up. Things like custom accent colours, blur, greeting, clock and theme switching all work properly instead of just being placeholders.
A lot of the work went into fixing issues that only showed up after actually using the page.
I fixed theme colours, improved native control contrast, stopped APOD from randomly changing when switching image quality, fixed stale descriptions after failed requests and handled video APOD entries properly by falling back to their thumbnail.
There were also a few small tweaks to make theme switching behave more naturally, like clearing custom accents when selecting a new theme.
The new tab page now has a working search interface with support for multiple search engines. I’ll be adding more over time, especially community-made ones once that part of the project is ready.
I also added NASA’s Astronomy Picture of the Day to the homepage.
At first I used the high-resolution images, but they took noticeably longer to load. I switched to the standard image instead, which makes the page feel much more responsive without losing much quality.
There were a few setup issues along the way too.
I fixed a GitHub Actions dependency problem and cleaned up a few things so deployments are a bit smoother.
I started by following the guide, but as usual I ended up taking it in my own direction.
For now, the project is a custom new tab page, but the long-term goal is much bigger. I want Obscure to support search engines created by other people, whether that’s YouTubers, fellow Stardance hackers or students.
The idea came from FaceDev’s video where he built his own internet protocol. It wasn’t meant to replace the web, but to create a much smaller network where people could host their own websites. I want to bring a similar idea to Obscure by making it easy to discover and search through community-made search engines.
This project also gave me a chance to work with GitHub’s deployment workflow instead of the hosting setup I normally use.
While setting everything up, I used a placeholder value for the API while wiring things together. Before adding the real key, I realised I’d forgotten to ignore the .env file. I fixed the .gitignore immediately, verified nothing sensitive had been committed, and only then added the actual credentials.
It was a small mistake, but a good reminder to check the repository before introducing any secrets.