I launched what the kelvin today.
I’ve seen plenty of weather forecast sites offering temperatures in Fahrenheit and Celsius, but I have yet to see anyone use Kelvin. I’m changing that. And after many many months of sitting on the domain I bought for it, I’ve finally built the site.
I’ve always wanted to do my own goofy, snarky forecast site, and now I can say that I have. As well as it being my second Elm app to be public (the first of many hopefully).
behind the scenes of what the kelvin
The site itself is like 99% front-end Elm app and 1% nginx proxy to the Dark Sky API. I decided to use Brunch as my build tool because Phoenix defaults to using it for static assets so I figure it will be less of a headache if I end up moving the site to use Phoenix for some of the back end stuff in the future.
The layout is totally ripped off from Pure.css’ marketing demo page. And in contrast to how I generally work, I actually started by building the design first rather than attacking things from a data first perspective (e.g., in the case of this site, it would’ve been things like coding the JSON decoder and figuring out how to convert between K°/C°/F°).
And it was definitely more rewarding on some level to be working on something that I already thought was pretty and then try to solve the tech problems of how to actually get the data to fit into the design.
I really do wish I were more of a designer because it’s hard for me to get motivated about projects that are ugly. I’m in that awkward space where I have enough design taste to know that I don’t like a lot of what I produce, yet I don’t have the skills to do something better.
I would like to learn Figma though. I’ve toyed with Sketch once or twice before but I just can’t find a way to justify $100/year for something that I don’t know if I’d really use… other than once in a blue moon, like it’s been up to this point. And from what I hear Figma does good job of matching Sketch for certain types of design work.
Tech wise, the biggest problem in building what the kelvin has been geolocation. I believe Chrome was the first to jump on the HTTPS only bandwagon for geolocation. Which is kind of a problem for me given that I’ve never properly had an HTTPS site (never had anything with passwords or other sensitive stuff going over the wire before). And I cheated this time around, by getting Cloudflare to do all of the SSL work, though I do have plans to look into Let’s Encrypt.
Honestly, I’m not super happy with the state of geolocation. Like, I don’t need someone’s precise location to give them a weather forecast, but unless I’m missing something, there is no way to “fuzz” the data to something less precise, but precise enough.
I have plans to implement freegeoip.net as a backup, but between my own experiences and asking others, its data can be highly inaccurate, like hundreds of miles away inaccurate. Not good.
Geolocation in Elm is something I need to figure out how to solve since it’s needed for several projects I have in mind, including a future rewrite of Severe Weather Outlook in Elm.
For now though, I’m content. What the Kelvin is a fun little idea I’ve had in the back of my mind for awhile, so it’s neat to have it see the light of day as an actual working project.