cleanyourtv-app
A community-built phone app for Clean Your TV: clean up an Android TV from your phone. No laptop, no coding agent, nothing uninstalled.
Turn a framing sketch, PDF plan or truss drawing into a starting RISA-3D model. NCSEA Big Build SE Hackathon 2026, team BMTR.
Translation pending
OtherHTML · PythonGitHub @khkusakabeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Team BMTR, NCSEA Big Build SE Hackathon, 2026-10-27. A working prototype built in one day. See Known issues for what is still rough.
Turn a framing sketch, a PDF plan or a truss drawing into a starting RISA-3D model, instead of retyping every node and member.
Live site: https://khkusakabe.github.io/BMTR-sketch-to-risa/ · How to use (printable handout): https://khkusakabe.github.io/BMTR-sketch-to-risa/how-to.html
The home screen is the Model Generator. Start a project, upload the plan sheet, pick the system type, and it sends you to the right tool:
| System type | Tool | Runs |
|---|---|---|
| 2D Frame | Moment Frame generator: Read the sketch with Claude to fill the bay, story heights, W-shapes, beam-end fixity and base, add loads, then download a .r3d | In the browser (sketch reading with your own Claude, no API key) |
| 3D Building | Roof Framing generator: column grid plus roof beams (or columns only), loads by tributary area, then download a .r3d | In the browser |
| 2D Truss | Truss to RISA: Fink, Howe/Pratt, flat-chord or mono templates, photo straightening, node editing, then export a .r3d. The Claude drawing reader runs on its claude.ai version | In the browser |
| 3D Misc Frame | Browser tracer: Read sketch with Claude builds labeled members, supports and scale from the sheet; or find lines automatically or trace node to node; then export DXF or RISA spreadsheet rows | In the browser |
For reading a sketch or a PDF with Ai, the workspace also links:
.r3d and opens RISA-3D. Runs on your PC..r3d plus a Column web app. Runs in Claude Code.The generators write RISA-3D v23 files with nodes, supports, AISC sections, members, basic load cases and ASCE 7-22 ASD load combinations. Each one has a built-in template with its account ID removed, or you can supply your own RISA-saved .r3d to keep your office's materials, codes and settings.
| Piece | Where | By |
|---|---|---|
| Model Generator home screen and New Project page | index.html, new-project.html (originals in docs/mockups/) | Chandler |
| RISA-3D generators: moment frame, foundation plan, roof framing | Final Models/ | Chandler |
| Workflow guides: moment frame from a sketch, wall model from a floor plan | docs/sketch-to-risa-moment-frame.md, docs/risa-wall-model-from-plan.md | Chandler |
| Worked RISA packages: Model 1 moment frame, Model 3 column plan | models/ | Chandler |
.r3d writer from RISA's published file format | .claude/skills/sketch-to-risa-dev/r3d.py | Chandler |
| Sketch and PDF reader with a Claude agent, framing editor, RISA launcher | app/ | Afshin |
| Floor-plan-columns Claude skill | .claude/skills/floor-plan-columns/ | Philip Yu |
| Truss to RISA (with photo straightening) | truss/, and on claude.ai with the Claude drawing reader | Olu |
| Project workspace that ties it together, browser tracer with line detection | generate.html, mg/, prototype/ | Kei |
| Team notes from the day, roster and shared skills | team.html, team.json, .claude/skills/ | Team |
index.html, new-project.html Model Generator: projects home and New Project
how-to.html How to use (printable handout)
generate.html, mg/ Project workspace: runs the generators, hands off to the other tools
Final Models/ RISA-3D generators (plain JavaScript, browser or Node)
app/ Afshin's local app (Python server, Claude agents, .r3d writer)
mcp/ MCP server: the generators as tools for Claude Desktop and Claude Code
prototype/ Browser tracer: line detection, hand tracing, DXF and spreadsheet export
truss/ Olu's Truss to RISA
models/ Worked RISA packages (Model 1, Model 3)
.claude/skills/ Shared Claude Code skills
tools.html, team.html All tools page and the team's notes from the day
docs/ Workflow guides, Chandler's original mockups, hackathon hosting notes
python -m http.server 8080, then open http://localhost:8080.node "Final Models/moment-frame.js" inputs.json out.r3d. See the header of each file for its inputs.app/README.md. It needs Python, a Claude login or API key, and RISA-3D.mcp/server.js to Claude Desktop. Show Claude a sketch and it builds the .r3d with the generators, no API key needed. See mcp/README.md.Projects created on the site are saved in your own browser only. To have Claude read a sketch without an API key, the project page gives you the sheet and a prompt for your own Claude (claude.ai, Claude Desktop or Claude Code), and you paste its answer back. With an API key, the page can instead send the sheet straight from your browser to the Anthropic API; the key stays in your browser (mg/sketch-reader.js). Claude reads the sketch with the Model Creator nomenclature: pen lines are members, a shaded triangle at a beam end is a fixed connection (otherwise pinned), line over hatch at a base is a fixed base, labels are section sets, the size table assigns shapes (struck sizes are void), and dimension strings give the geometry.
Ideas and fixes are welcome. Open an issue, or fork the repo and send a pull request. See CONTRIBUTING.md.
These tools help an engineer build a starting model faster. The engineer checks every member, size, load, connection and support in RISA and owns the design.