Back to Blog

The Sun Does Not Need an Account

September 4, 2026
Share:
The Sun Does Not Need an Account

I wanted one number: when the sun comes up where I am. I typed that into a phone and got an install wall. I typed it into a browser and got a page that asked me to subscribe before it would show tomorrow.

The sun does not have an account. The time it crosses the horizon is a function of latitude, longitude and the date. You can compute it in a tab. So I did.

The sunrise and sunset page on Softery gives you today's sunrise, sunset, solar noon and twilight, plus a chart of daylight for the whole year. After the page loads, nothing of yours goes anywhere.

I Was Looking for a Clock Time

I live in Cooperstown, New York. In September the light drops fast enough that you feel it in a week. I wanted to know when to walk the dog so we were not coming back in the dark, and I wanted to know that for a lake that is not my backyard.

That is a two-input problem. A place and a date. The answer is a few clock times and, if you are paying attention, how much light you gained or lost since yesterday.

What I got instead was a store listing. One iOS app for this exact job, Sunrise Sunset Times, has 19,310 ratings at 4.78. Two others sit at 5,979 and 1,510. Those numbers are from the App Store listing I logged when I ranked the idea, not from my own install. They mean a lot of people will pay, or at least tap, for a single clock time.

I didn't want another icon on the home screen. I wanted the times on a page I could send to someone.


The Ranking Pages Are Built to Keep You

timeanddate.com ranks first on a lot of these queries. The times are on the page. So is a lot of everything else: nav, ads, a newsletter box, a calendar widget that wants another click for next month. I have used it. I have also closed it because I could not find the one number I opened it for.

The App Store reviews for the paid apps say the same thing from the other side. A five-star review on that 19,310-rating app, the one I saved in the research file, is a fisherman:

I do a lot of fishing and I do a lot of traveling to get to the lakes I fish so I am always checking to see what time is sunrise so I know what time I need to leave my house to make it to the lake before sunrise!

A three-star review on the same app said the widget went blank for a remote location if you did not give the app your own location. That is the install talking. A web page with a pin does not have that problem.


A Weather API Is the Wrong Tool

Sunrise is not weather. Weather is a forecast. Sunrise is geometry. The sun's altitude at a point on earth at a given instant is a solved problem. NOAA published the formulas. Jean Meeus wrote them up in Astronomical Algorithms. A small JavaScript library, SunCalc, ports that math.

If your page calls a weather API to learn when the sun comes up, you have added a key, a quota, a privacy policy and a reason for the page to fail when the key expires. You have also added a server that sees every place people type.

I didn't want that server. The page computes the times in the tab. Open the network panel, change the date, and you will not see a request. Unplug the cable. It still works.

That is the same promise as the password generator. The useful bytes never leave the machine that drew them.

I also didn't want a page that goes blank the week I forget to pay for a key. The sun will come up that week anyway. The page should too.


What the Page Actually Prints

Four numbers sit at the top: sunrise, sunset, solar noon, daylight. Under daylight is the change since yesterday, in minutes and seconds. Around the March equinox in Cooperstown that change is a little over two minutes and under four. I know that because I wrote a test for those bounds and watched it fail until the math was right.

Then the bands:

BandSun altitudeWhat people use it for
Civil twilight6 degrees below the horizonYou can still read outside
Nautical twilight12 degreesThe horizon is visible at sea
Astronomical twilight18 degreesThe sky is dark enough for faint stars
Golden hoursun low, after rise and before setLong shadows, warm light
Blue hourthe civil twilight windowThe sky goes that deep blue

Those degree numbers are the NOAA / Wikipedia definitions, not a mood. If a band is missing, the sun never reached that altitude that day. That happens near the poles more than people expect.


Polar Day Is Not 12:00 AM

In Tromso on 21 June 2026 the sun does not set. In late December it does not rise. A lot of widgets print 12:00 AM for both and hope you do not notice.

The page says the sun does not set, or does not rise. Daylight goes to 24 hours or to zero. Solar noon is still there. It is the moment the sun is highest, even if it never crosses the horizon. If you are trying to catch the brightest hour of a polar night, that time is the one you want.

I wrote a test that opens Tromso, sets the date to the June solstice, and looks for the sentence. It is the kind of test that earns its keep, because the happy path in New York will never show you the bug.


The Year Is the Part They Skip

A fisherman checking sunrise so he can leave the house does not need a year chart. A gardener watching the days stretch after the equinox does. So does anyone who has ever said, out loud, that the afternoons feel shorter and then gone looking for a picture of that.

The ranking pages hide the year behind a calendar. The apps show today and maybe tomorrow. The chart on this page is every day of the year you picked, for the place you picked, on the same screen as this morning's sunrise.

In the northern hemisphere the bump is in June and the trough is in December. South of the equator they swap. You can see that before anyone sends you a "first frost" article. There is a CSV download if you want the minutes in a spreadsheet.

That chart is why this tool took longer than a single day's times. The queue note said so up front: the full-year daylight chart costs more hours than a single day's times. The hours went there on purpose.


A Link Is Just a Query String

Copy link puts latitude, longitude and the date in the URL. The other person lands on the same place and the same day. Nothing is stored on a server for that link. If you lose the page, you still have the query string.

I shipped 114 cities you can search, plus paste-in coordinates, plus the browser location prompt. Cooperstown is in the list because that is where I check it. New York is the default because that is the search most people mean. Tromso is in the list so the polar case is one search away.

I did not ship a live gazetteer. A live gazetteer is an API, and an API is a quota and a key and a reason for the page to fail. If your lake is not in the 114, paste the pin from a map. The times are for that pin.


The Date You Hand the Library Matters

SunCalc returns UTC instants. The clock on the page has to be the clock at the place, not the clock in your laptop's zone. If you look up Tokyo from New York and the page prints Eastern Time, the answer is wrong by 13 or 14 hours and it will look confident doing it.

The page takes the IANA time zone for the coordinates and formats every time in that zone, including daylight saving. A one minute gap against your phone is normal. Phones round, and some of them use the city center. A one hour gap usually means the zone is wrong. Paste the coordinates yourself and check.

The other trap is the date you pass in. The library computes the solar day that contains the instant you gave it. If you pass midnight UTC for a point in the United States, you can land on the previous solar day. The page passes local noon in the place's zone. That is boring, and it is why the June solstice test stays green.


These Searches Come Back Every Morning

The research file for this vertical logged 49 Bing completions across sunrise prefixes, and 24 of them off the single prefix "sunrise time": today, tomorrow, by zip, in my location, 2026, near me, this week. Those queries come back every morning. They do not need a model and they do not need a login.

This tool was rank 5 of 1,754 in the queue I scored. Score 9.55. The note on the row said browser-only, no external API, and that the year chart is the part that costs time. I built the year chart that note pointed at.

The other nine tools on Softery are still there. This one does not replace them. It is the first one that has nothing to do with a resume, and that was the point of the queue: ship what people type, not what the last tool was about.


What I Left on the Table

I did not add a map. A map pulls tiles, and tiles are a network call, and the promise was that the times still work with the cable out. You get a search box and a pair of coordinates.

I did not add ZIP lookup. ZIP to a point is another dataset. Paste the city or the pin.

I did not add moonrise. That is a sibling tool in the same vertical and it can wait. The sun page does the sun.

I did not add notifications. A page you open when you need it does not need to tap you at 4am.


How to Tell This Page Is Not Lying

Three checks, none of them require trusting me.

  1. Open the network panel. Change the date. No request should fire after the first load.
  2. Pick Tromso and 21 June 2026. The page should say the sun does not set, and daylight should read 24h 0m.
  3. Pick a place you already know. Compare sunrise to your phone. A minute is fine. An hour is a bug, and I want to hear about it.

The math is 25 unit tests and 5 UI tests, written first, including the Cooperstown equinox delta and the Tromso solstice. A test that has never failed proves nothing. These failed, then they passed.


If You Want the Times

  1. Open /tools/sunrise-sunset.
  2. Type a city, paste a pin, or tap My location.
  3. Change the date if you are not asking about today.
  4. Copy the times, or copy the link, or download the year as CSV.

There is no account. There is no install. The sun was going to come up anyway.


Last updated: September 4, 2026 | Reading time: 10 minutes

Written by Evgeniy Poznyak, who still checks sunrise for a lake that is not on the list and pastes the pin.