Inspiration
I enter online hackathons from India, and almost every rules page states times in the organizer's zone: "October 26, 2026 (5:00 pm Eastern Time)". For me that is Tuesday 27 Oct, 02:30 IST, the next day and in the middle of the night, so it's easy to plan for the wrong day. The clauses that can disqualify you are also buried in thousands of words of legal text: excluded countries, age of majority, new projects only, a video under 3 minutes, required files.
What it does
- Paste the official rules and press Scan. Everything runs in the browser and nothing is uploaded.
- Deadline in your time. Shows the submission deadline in your home timezone with a live countdown, plus badges such as DATE CHANGES IN YOUR ZONE, ZONE NOT STATED, TIME NOT STATED and YEAR ASSUMED. The original sentence is shown underneath.
- Eligibility for you. Checks whether your country appears in the exclusion sentences (it understands aliases like "USA" and avoids false hits such as "India" inside "Indiana"). It also shows the age rule.
- Submission checklist. Built from the text: registration, new-project rule, video length and host, public repo, open-source license, required files, description, English, music/trademark caution, age box and more. Each item shows its source sentence, and ticks are saved per rules text in localStorage.
- Key dates. Every other date (registration, judging, winners) is converted, with a +1 DAY badge when it shifts.
- Copy as Markdown puts the deadline and checklist into your notes.
- Settings accept any IANA timezone and any country, and are remembered.
How we built it
- Built with the Devpost Learn Skill Pack (
npx skills add challengepost/learn-ai-basics --all -y) and a SKILL.md-compatible coding agent, following its steps:1-start,2-scope(devpost/scope.md),3-prd(devpost/prd.md),4-spec(devpost/spec.md),5-build(devpost/checklist.md,devpost/app-map.html) and6-ship. - Plain HTML, CSS and JavaScript ES modules: no framework, no build step, no dependencies.
src/tz.jsmaps "ET / EDT / PT / GMT / IST / UTC+5:30" to IANA zones and converts withIntl.DateTimeFormat. A two-pass offset gets daylight saving right (EDT before 1 Nov 2026, EST after).src/scanner.jshandles date formats and ranges, exclusion-sentence detection, a requirement table and Markdown export.Intl.DisplayNamessupplies country names andlocalStorageholds settings and ticks.
- 19 unit tests using Node's built-in test runner (
node --test). - Demo frames are real headless-Chrome screenshots of the app scanning this hackathon's own rules; voiceover with edge-tts and assembly with ffmpeg.
Challenges we ran into
- "U.S. Treasury" split a sentence in two, so the U.S. looked excluded. An abbreviation-aware sentence splitter plus a test fixed it.
- Daylight saving: late October is EDT (UTC-4) but November is EST (UTC-5). A two-pass zone offset solved it with no hard-coded tables.
- "Winners announced on or around November 4th" has no year. RuleRadar borrows it from earlier dates and labels it YEAR ASSUMED instead of guessing silently.
- The video length limit sat in a different bullet from the word "video", so the length is now read from context.
Accomplishments that we're proud of
- On this hackathon's real rules it produces the correct Tue, 27 Oct 2026, 02:30 IST deadline with the date-change warning, 12 checklist items and 8 dates, and shows India as not excluded.
- Every result points back to its source sentence so you can verify it.
- No account, no server, no API key: private by design.
What we learned
- Planning before coding (scope, then PRD, then spec) kept the project small enough to finish and test.
- Time zone bugs hide in edge cases (DST changeover, 12 am/pm, missing zone), so they need tests.
- A tool that reads legal text must show its evidence and admit uncertainty.
What's next for RuleRadar
- Fetch rules from a URL (needs a small proxy because of CORS)
- Calendar (.ics) export and reminders
- A hosted version
- More languages and date formats
- A browser extension that scans the rules page in place
Live vs. not done: the whole app works locally from the repo and all 19 tests pass. There is no hosted URL, no fetching rules from a URL, and no AI/LLM at runtime: it is rule-based pattern matching, so unusual wording can be missed. It is advisory only, not legal advice.
Log in or sign up for Devpost to join the conversation.