<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web Application | Robin Chen</title><link>https://robinchen.org/tag/Web-Application/</link><atom:link href="https://robinchen.org/tag/Web-Application/index.xml" rel="self" type="application/rss+xml"/><description>Web Application</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 01 Feb 2024 00:00:00 +0000</lastBuildDate><image><url>https://robinchen.org/media/logo_hu9727855325976137109.png</url><title>Web Application</title><link>https://robinchen.org/tag/Web-Application/</link></image><item><title>ClassHub - Attendance &amp; Peer Evaluation Platform</title><link>https://robinchen.org/project/econclasshub/</link><pubDate>Thu, 01 Feb 2024 00:00:00 +0000</pubDate><guid>https://robinchen.org/project/econclasshub/</guid><description>&lt;p>&lt;strong>For:&lt;/strong> Team-based courses with presentations and group projects&lt;/p>
&lt;p>&lt;a href="https://econclasshub.netlify.app/" target="_blank" class="btn btn-primary btn-lg">Access ClassHub →&lt;/a>&lt;/p>
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>ClassHub is a web app that helps instructors manage attendance and peer evaluations in team-based courses.&lt;/p>
&lt;h2 id="key-features">Key Features&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Feature&lt;/th>
&lt;th style="text-align: left">How It Works&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>Attendance&lt;/strong>&lt;/td>
&lt;td style="text-align: left">Generate time-limited codes; students submit via phone/laptop&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>Teams&lt;/strong>&lt;/td>
&lt;td style="text-align: left">Students create or join teams; instructors view rosters&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>Peer Evaluation&lt;/strong>&lt;/td>
&lt;td style="text-align: left">Anonymous teammate ratings on contribution (rank + score)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>Team Rankings&lt;/strong>&lt;/td>
&lt;td style="text-align: left">Students rate other teams&amp;rsquo; presentations (content, delivery, creativity)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;strong>Dashboard&lt;/strong>&lt;/td>
&lt;td style="text-align: left">Instructors see all data, manage records, export results&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="problems-solved">Problems Solved&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Traditional Method&lt;/th>
&lt;th style="text-align: left">With ClassHub&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Paper sign-ins (slow, fakeable)&lt;/td>
&lt;td style="text-align: left">Digital codes with timestamps&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Free-riders in teams&lt;/td>
&lt;td style="text-align: left">Peer evaluations document contributions&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Manual data entry&lt;/td>
&lt;td style="text-align: left">Automatic record-keeping&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Scattered tools&lt;/td>
&lt;td style="text-align: left">One integrated platform&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="benefits">Benefits&lt;/h2>
&lt;p>&lt;strong>For Instructors:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Save time on attendance and grading&lt;/li>
&lt;li>Identify struggling students early&lt;/li>
&lt;li>Data-backed grade adjustments for team members&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>For Students:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fair recognition for contributions&lt;/li>
&lt;li>Develop professional feedback skills&lt;/li>
&lt;li>Mobile-friendly, instant sync&lt;/li>
&lt;/ul>
&lt;h2 id="technical-overview">Technical Overview&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Spec&lt;/th>
&lt;th style="text-align: left">Detail&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Type&lt;/td>
&lt;td style="text-align: left">Web app (works on any device)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Auth&lt;/td>
&lt;td style="text-align: left">Firebase Authentication&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Database&lt;/td>
&lt;td style="text-align: left">Firebase Firestore (real-time)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Hosting&lt;/td>
&lt;td style="text-align: left">Netlify&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Cost&lt;/td>
&lt;td style="text-align: left">Free for typical class sizes&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Capacity&lt;/td>
&lt;td style="text-align: left">200+ concurrent users&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="quick-start">Quick Start&lt;/h2>
&lt;p>&lt;strong>Instructor (one-time setup ~15 min):&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Create Firebase project&lt;/li>
&lt;li>Deploy to Netlify&lt;/li>
&lt;li>Create class → share join code&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>Students:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Register with instructor&amp;rsquo;s code&lt;/li>
&lt;li>Join class&lt;/li>
&lt;li>Submit attendance / complete evaluations&lt;/li>
&lt;/ol></description></item><item><title>Interactive Bond Pricing &amp; Mortgage Calculator</title><link>https://robinchen.org/project/bond-price-calculator/</link><pubDate>Mon, 15 Jan 2024 00:00:00 +0000</pubDate><guid>https://robinchen.org/project/bond-price-calculator/</guid><description>&lt;p>&lt;strong>Course:&lt;/strong> ECON2132 - Money and Banking | Chapters 4 &amp;amp; 5&lt;/p>
&lt;p>&lt;a href="https://bondpricecalculator.netlify.app/" target="_blank" class="btn btn-primary btn-lg">Launch Calculator →&lt;/a>&lt;/p>
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>A web-based educational tool that transforms abstract financial formulas into interactive, visual learning experiences. Students can explore bond pricing, yields, and mortgage calculations with instant feedback.&lt;/p>
&lt;h2 id="key-features">Key Features&lt;/h2>
&lt;p>&lt;strong>📊 Coupon Bond Calculator&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Feature&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Bond Pricing&lt;/td>
&lt;td style="text-align: left">Calculate present value with adjustable inputs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Current Yield vs. YTM&lt;/td>
&lt;td style="text-align: left">Compare yield measures side-by-side&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Price-Yield Curve&lt;/td>
&lt;td style="text-align: left">Visualize the inverse relationship&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Interest Rate Risk&lt;/td>
&lt;td style="text-align: left">See how duration affects price sensitivity&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>📚 Other Bond Types&lt;/strong>&lt;/p>
&lt;p>Simple Loan, Fixed Payment Loan, Discount Bond, Consol (Perpetuity)&lt;/p>
&lt;p>&lt;strong>🏠 Mortgage Calculator&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Feature&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Affordability&lt;/td>
&lt;td style="text-align: left">&amp;ldquo;How much can I afford?&amp;rdquo; using the 28/36 DTI rule&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">PITI Breakdown&lt;/td>
&lt;td style="text-align: left">Principal, Interest, Taxes, Insurance + HOA + Closing Costs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Amortization&lt;/td>
&lt;td style="text-align: left">Monthly schedule with principal vs. interest charts&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Loan Comparison&lt;/td>
&lt;td style="text-align: left">15-year vs. 30-year side-by-side&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Extra Payments&lt;/td>
&lt;td style="text-align: left">Calculate savings from additional payments&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="why-this-tool">Why This Tool?&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Traditional Teaching&lt;/th>
&lt;th style="text-align: left">This Calculator&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Static textbook examples&lt;/td>
&lt;td style="text-align: left">Unlimited interactive scenarios&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Abstract formulas&lt;/td>
&lt;td style="text-align: left">Visual charts + instant results&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Manual calculations&lt;/td>
&lt;td style="text-align: left">Immediate verification&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Theory-focused&lt;/td>
&lt;td style="text-align: left">Real-world mortgage context&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="benefits">Benefits&lt;/h2>
&lt;p>&lt;strong>For Instructors:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Live classroom demonstrations&lt;/li>
&lt;li>Instant &amp;ldquo;what-if&amp;rdquo; analysis&lt;/li>
&lt;li>Less time on arithmetic, more on concepts&lt;/li>
&lt;li>Supports flipped classroom and assignments&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>For Students:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;em>Understand&lt;/em> — See relationships, not just formulas&lt;/li>
&lt;li>&lt;em>Practice&lt;/em> — Verify homework, prepare for exams&lt;/li>
&lt;li>&lt;em>Apply&lt;/em> — Connect theory to real mortgage decisions&lt;/li>
&lt;li>&lt;em>Retain&lt;/em> — Visual learning improves memory&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>For Learning Outcomes:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Deeper conceptual understanding → better exam performance&lt;/li>
&lt;li>Real-world context → improved financial literacy&lt;/li>
&lt;li>Hands-on practice → increased confidence with financial math&lt;/li>
&lt;/ul>
&lt;h2 id="access">Access&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">&lt;/th>
&lt;th style="text-align: left">&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Platform&lt;/td>
&lt;td style="text-align: left">Web browser (any device)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Cost&lt;/td>
&lt;td style="text-align: left">Free&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Login&lt;/td>
&lt;td style="text-align: left">Not required&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item></channel></rss>