<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Medea</title>
    <description>The latest articles on Forem by Medea (@vulcanwm).</description>
    <link>https://forem.com/vulcanwm</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F820069%2Fe26eca4f-d63d-4e2f-b919-3669f1619d0b.png</url>
      <title>Forem: Medea</title>
      <link>https://forem.com/vulcanwm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/vulcanwm"/>
    <language>en</language>
    <item>
      <title>Would you use a coding challenge where you fix bugs in a real codebase instead of solving LeetCode-style problems</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Wed, 25 Mar 2026 07:50:42 +0000</pubDate>
      <link>https://forem.com/vulcanwm/would-you-use-a-coding-challenge-where-you-fix-bugs-in-a-real-codebase-instead-of-solving-21bb</link>
      <guid>https://forem.com/vulcanwm/would-you-use-a-coding-challenge-where-you-fix-bugs-in-a-real-codebase-instead-of-solving-21bb</guid>
      <description>&lt;p&gt;I built a coding challenge where you fix bugs in a real codebase instead of solving LeetCode-style problems&lt;/p&gt;

&lt;p&gt;Instead of:&lt;br&gt;
“write a function that does x”&lt;/p&gt;

&lt;p&gt;you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a small project (multiple files)&lt;/li&gt;
&lt;li&gt;a realistic bug (e.g. duplicate payments, broken auth, slow endpoint)&lt;/li&gt;
&lt;li&gt;tests that verify your fix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So it feels more like actual dev work:&lt;br&gt;
understanding code &amp;gt; writing from scratch&lt;/p&gt;

&lt;p&gt;It runs through a simple CLI, so you can pull a challenge, work locally, and submit your fix&lt;/p&gt;

&lt;p&gt;It’s also fully open source, so people can create and share their own system-style challenges&lt;/p&gt;

&lt;p&gt;I’m trying to figure out if this is actually useful or just a cool idea&lt;/p&gt;

&lt;p&gt;Would you use something like this to practice / prep for real dev work?&lt;/p&gt;

&lt;p&gt;Github org: &lt;a href="https://github.com/Recticode" rel="noopener noreferrer"&gt;https://github.com/Recticode&lt;/a&gt;&lt;br&gt;
(you can try it with: pip install recticode)&lt;/p&gt;

&lt;p&gt;Honest feedback would help a lot 🙏&lt;/p&gt;

</description>
      <category>cli</category>
      <category>programming</category>
      <category>opensource</category>
      <category>startup</category>
    </item>
    <item>
      <title>I Built Qreasure: QR Code Treasure Hunts in Minutes, Now 50% Off</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Sun, 18 Jan 2026 18:04:51 +0000</pubDate>
      <link>https://forem.com/vulcanwm/i-built-qreasure-qr-code-treasure-hunts-in-minutes-now-50-off-17l3</link>
      <guid>https://forem.com/vulcanwm/i-built-qreasure-qr-code-treasure-hunts-in-minutes-now-50-off-17l3</guid>
      <description>&lt;p&gt;I wanted a way to run treasure hunts without apps, lost participants, or tech headaches. So I built Qreasure.&lt;/p&gt;

&lt;p&gt;Qreasure lets you create QR-based hunts and trails for schools, museums, tourism sites, and events. Participants scan QR codes with their phone camera, answer challenges, and you watch live results roll in. No app downloads, no accounts, no fuss.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Live tracking dashboard to see which teams are leading or falling behind&lt;/li&gt;
&lt;li&gt;Works on any smartphone with no setup for players&lt;/li&gt;
&lt;li&gt;Optional secret codes to prevent cheating&lt;/li&gt;
&lt;li&gt;Quick setup: a 10-stop trail takes about 10 minutes to build&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Launch Offer:
&lt;/h3&gt;

&lt;p&gt;Create your first hunt for £40 instead of £80. Limited to the first 10 bookings.&lt;/p&gt;

&lt;p&gt;If you want to try it out and give feedback, start your hunt here: &lt;a href="https://qreasure.com/" rel="noopener noreferrer"&gt;https://qreasure.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Should I build the same project in multiple web frameworks?</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Tue, 06 Jan 2026 14:09:29 +0000</pubDate>
      <link>https://forem.com/vulcanwm/should-i-build-the-same-project-in-multiple-web-frameworks-5c55</link>
      <guid>https://forem.com/vulcanwm/should-i-build-the-same-project-in-multiple-web-frameworks-5c55</guid>
      <description>&lt;p&gt;I’ve been thinking about a learning + portfolio experiment and wanted to get some opinions from people who’ve tried similar things.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;br&gt;&lt;br&gt;
build &lt;strong&gt;the exact same small project&lt;/strong&gt; in multiple web frameworks (frontend and/or backend), keeping the features as identical as possible.&lt;/p&gt;

&lt;p&gt;The goal wouldn’t be to master every framework, but to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;understand the trade-offs between them
&lt;/li&gt;
&lt;li&gt;see how opinionated each one is
&lt;/li&gt;
&lt;li&gt;compare setup time, DX, and code complexity
&lt;/li&gt;
&lt;li&gt;get better at spotting patterns that transfer between frameworks
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I feel like this could be a really good way to level up beyond just “learning one stack”.&lt;/p&gt;

&lt;h2&gt;
  
  
  The questions I’m stuck on
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Is this actually a good idea?
&lt;/h3&gt;

&lt;p&gt;Or does it end up being shallow learning compared to going deep into one framework?&lt;/p&gt;

&lt;h3&gt;
  
  
  2. What’s the best project to use for this?
&lt;/h3&gt;

&lt;p&gt;I want something:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;small but real
&lt;/li&gt;
&lt;li&gt;mostly CRUD
&lt;/li&gt;
&lt;li&gt;not too UI-heavy
&lt;/li&gt;
&lt;li&gt;easy to keep consistent across frameworks
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some ideas I’ve considered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a simple notes app
&lt;/li&gt;
&lt;li&gt;a todo app with basic auth
&lt;/li&gt;
&lt;li&gt;a link shortener
&lt;/li&gt;
&lt;li&gt;a minimal blog (posts + editor)
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’ve done something like this before, I’d love to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what project you used
&lt;/li&gt;
&lt;li&gt;how many frameworks you tried before it stopped being useful
&lt;/li&gt;
&lt;li&gt;whether it helped long-term or just felt repetitive
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any advice appreciated &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Learning from failure: Building saas heaven, an open-source archive of failed saas</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Mon, 05 Jan 2026 13:02:42 +0000</pubDate>
      <link>https://forem.com/vulcanwm/learning-from-failure-building-saas-heaven-an-open-source-archive-of-failed-saas-5ab0</link>
      <guid>https://forem.com/vulcanwm/learning-from-failure-building-saas-heaven-an-open-source-archive-of-failed-saas-5ab0</guid>
      <description>&lt;p&gt;Ever wonder why some saas projects don’t make it? I built saas heaven: a small open-source archive of failed saas projects, in just a few hours.&lt;/p&gt;

&lt;p&gt;Each post-mortem includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;honest stats (mrr, users, duration)&lt;/li&gt;
&lt;li&gt;why it failed&lt;/li&gt;
&lt;li&gt;lessons learned&lt;/li&gt;
&lt;li&gt;Links to source code so you can explore, fork, or repurpose&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple: learn from failure, not just success.&lt;/p&gt;

&lt;p&gt;It’s fully contributive, if you’ve shipped a failed saas, you can add your story following a simple JSON + readme template.&lt;/p&gt;

&lt;p&gt;Check it out: &lt;a href="https://saasheaven.space" rel="noopener noreferrer"&gt;https://saasheaven.space&lt;/a&gt;&lt;br&gt;
Contribute:&lt;br&gt;


&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/VulcanWM" rel="noopener noreferrer"&gt;
        VulcanWM
      &lt;/a&gt; / &lt;a href="https://github.com/VulcanWM/saasheaven" rel="noopener noreferrer"&gt;
        saasheaven
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      an open-source archive of failed saas projects, sharing honest post-mortems, lessons learned, and source code so others can build smarter next time
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;SaaS Heaven&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;SaaS Heaven is a living archive of failed SaaS projects. Our mission is simple:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn from failure, not just success.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Every post-mortem on this site includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Honest stats (MRR, users, duration)&lt;/li&gt;
&lt;li&gt;The story of what went wrong&lt;/li&gt;
&lt;li&gt;Lessons learned to guide future founders&lt;/li&gt;
&lt;li&gt;Links to the source code so you can explore, fork, or repurpose&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Browse Failures&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;You can browse all failed startups in the &lt;a href="https://saasheaven.space/post-mortems" rel="nofollow noopener noreferrer"&gt;graveyard&lt;/a&gt; and read detailed post-mortems.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;How to Contribute&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;We welcome new post-mortems! To submit one:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Fork this repo&lt;/li&gt;
&lt;li&gt;Add a folder under &lt;code&gt;post-mortems/&amp;lt;slug&amp;gt;/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Include a &lt;code&gt;data.json&lt;/code&gt; following the &lt;a href="https://github.com/VulcanWM/saasheaven/./post-mortems/schema.json" rel="noopener noreferrer"&gt;schema&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Optionally include a &lt;code&gt;README.md&lt;/code&gt; with extra context or reflections&lt;/li&gt;
&lt;li&gt;Open a Pull Request using our &lt;a href="https://github.com/VulcanWM/saasheaven/./.github/PULL_REQUEST_TEMPLATE.md" rel="noopener noreferrer"&gt;PR template&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; the &lt;code&gt;slug&lt;/code&gt; must be lowercase, hyphenated, and unique.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;API&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;SaaS Heaven provides a simple read-only API to fetch post-mortems.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Get all post-mortems&lt;/strong&gt;&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;GET /api/post-mortems
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Response&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;200 OK – returns a list of all post-mortems with metadata&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/VulcanWM/saasheaven" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




&lt;p&gt;Building it was a fun experiment in rapid iteration, and it’s already helping me and others reflect on past projects. &lt;br&gt;
Would love feedback or contributions from other devs who’ve shipped SaaS before.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>saas</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Ending the year by reaching out</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Wed, 31 Dec 2025 14:13:48 +0000</pubDate>
      <link>https://forem.com/vulcanwm/ending-the-year-by-reaching-out-5f3g</link>
      <guid>https://forem.com/vulcanwm/ending-the-year-by-reaching-out-5f3g</guid>
      <description>&lt;p&gt;As 2025 comes to a close, most people might be winding down, relaxing, or forgetting about school for a few weeks. But I wanted to do something different. Instead of ending the year idle, I decided to challenge myself and take action, so over the past week, I’ve been reaching out to companies I genuinely admire for summer work experience.&lt;/p&gt;

&lt;p&gt;So far, I’ve emailed dev.to, and many other small web-based companies. All of these are products I’ve personally used and learned from over the years, and I wanted to see if I could contribute, learn, and gain real-world experience alongside school. It’s one thing to admire a product from the outside, but I wanted to understand what it takes to build it, maintain it, and improve it in a real team.&lt;/p&gt;

&lt;p&gt;Alongside school, I’ve been building apps and websites myself. I mainly work with react and next.js, typescript, tailwind, mongodb, supabase, and stripe, and I’ve experimented with mobile apps and my own ai-powered learning tools. taking the initiative to email these companies feels like a natural extension of that; instead of waiting for opportunities, I’m creating them.&lt;/p&gt;

&lt;p&gt;It’s been a little intimidating at first. sending emails to companies I’ve looked up to for years felt like putting myself out there, uncertain of what the response would be. But that’s also why it’s worth doing, growth comes from action, even when it feels uncomfortable. Whether or not I get a reply, this exercise has already taught me about confidence, clarity, and taking ownership of my learning.&lt;/p&gt;

&lt;p&gt;I’m hoping that by summer, I’ll have the chance to work with one of these teams, even for a week or a month. More importantly, I hope this experience inspires me to keep seeking challenges and learning opportunities wherever I can. Ending the year by doing, rather than waiting, feels like the right note to finish on, and sets the tone for the year ahead.&lt;/p&gt;

&lt;p&gt;To those reading this, I wish you a happy new year, and keep on learning!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>Caught Up in the Cert Chase (And What I Learnt About Coding)</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Wed, 10 Dec 2025 14:21:58 +0000</pubDate>
      <link>https://forem.com/vulcanwm/caught-up-in-the-cert-chase-and-what-i-learnt-about-coding-1gja</link>
      <guid>https://forem.com/vulcanwm/caught-up-in-the-cert-chase-and-what-i-learnt-about-coding-1gja</guid>
      <description>&lt;p&gt;Lately, I’ve been getting caught up in the hunt for certificates. Scrolling through LinkedIn, seeing everyone with their shiny badges, it’s easy to think that collecting them is the fastest way to prove you know your stuff. I started doing the same, signing up for free courses, completing a few modules, feeling like each one was a step forward.&lt;/p&gt;

&lt;p&gt;But the more I focused on certificates, the more I realised something important: for coding, they don’t really matter. Knowing a language or following tutorials is one thing, but being able to actually build something is what counts. Employers, clients, or anyone looking at your skills don’t care that you finished a course, they care about what you’ve made, the projects you can show, the code you can write. A portfolio of real projects is far more valuable than a list of badges. Building something, even if it’s small, teaches you problem: solving, debugging, and creative thinking in a way certificates never can.&lt;/p&gt;

&lt;p&gt;That said, I’m still hungry to learn. I want to dig deeper into theory: algorithms, data structures, and CS fundamentals, stuff that makes me a better programmer, not just someone who can follow instructions. The challenge is finding good resources, preferably free ones, that actually cover these topics in a practical way. If you know any courses, tutorials, or books that have helped you, I’d love to hear about them.&lt;/p&gt;

&lt;p&gt;At the end of the day, I’ve realised it’s not about collecting certificates, it’s about building skills that stick, creating projects that matter, and actually knowing why things work the way they do. Certificates can look nice on a profile, but nothing beats real experience and a portfolio you can be proud of.&lt;/p&gt;

</description>
      <category>certification</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Building a web-based code runner for Python &amp; C#</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Wed, 10 Dec 2025 10:52:47 +0000</pubDate>
      <link>https://forem.com/vulcanwm/building-a-web-based-code-runner-for-python-c-4dkm</link>
      <guid>https://forem.com/vulcanwm/building-a-web-based-code-runner-for-python-c-4dkm</guid>
      <description>&lt;p&gt;I started this project because I wanted to build mathhacks, a website where you can solve computer science x maths coding challenges. I ended up making a web-based code runner for Python and C# to experiment with safe execution and provide a core tool for the platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The project consists of a &lt;strong&gt;Fastify + TypeScript backend&lt;/strong&gt; and a simple &lt;strong&gt;HTML/JS frontend&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Frontend&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Users select a language (Python or C#) from a dropdown&lt;/li&gt;
&lt;li&gt;The editor automatically populates a &lt;strong&gt;language-specific function template&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Users write their function and click “Run”&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Backend&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Receives the code and language via a POST request to &lt;code&gt;/run&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Wraps the user’s code in a &lt;strong&gt;test runner&lt;/strong&gt; that runs predefined test cases&lt;/li&gt;
&lt;li&gt;Executes the code inside a &lt;strong&gt;Docker container&lt;/strong&gt; to ensure safety&lt;/li&gt;
&lt;li&gt;Returns a &lt;strong&gt;human-readable pass/fail output&lt;/strong&gt; to the frontend&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Test Runners&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Python: dynamically creates a script that calls the function with test cases and prints results&lt;/li&gt;
&lt;li&gt;C#: generates a console app inside a temporary folder, runs it via Docker, and captures the output&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This setup allows me to safely run arbitrary code in multiple languages directly from the browser.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Docker
&lt;/h2&gt;

&lt;p&gt;Running user code directly on a server is dangerous. Docker allows each code execution to happen in an &lt;strong&gt;isolated sandbox&lt;/strong&gt;, preventing any system access or damage. It also makes it easy to &lt;strong&gt;add more languages later&lt;/strong&gt; by spinning up different Docker images with the necessary environment.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learnt
&lt;/h2&gt;

&lt;p&gt;Building this taught me a lot about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Safe code execution&lt;/strong&gt; and sandboxing with Docker&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fastify&lt;/strong&gt; and TypeScript backend development&lt;/li&gt;
&lt;li&gt;Dynamically generating test runners for different languages&lt;/li&gt;
&lt;li&gt;Creating a &lt;strong&gt;simple but interactive frontend&lt;/strong&gt; with templates for each language&lt;/li&gt;
&lt;li&gt;Coordinating backend &amp;amp; frontend to return structured, human-readable output&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How I Plan to Use This for Mathhacks
&lt;/h2&gt;

&lt;p&gt;Mathhacks is a website where you can &lt;strong&gt;solve computer science x maths coding challenges&lt;/strong&gt;. This code runner will be a &lt;strong&gt;core part of the platform&lt;/strong&gt;, allowing users to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solve coding challenges in multiple languages&lt;/li&gt;
&lt;li&gt;Get instant feedback on their solutions with automated test cases&lt;/li&gt;
&lt;li&gt;Experiment safely without installing anything locally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re curious and want to try it once early access opens, there’s a &lt;strong&gt;waitlist&lt;/strong&gt; here: &lt;a href="https://mathhacks.org.uk" rel="noopener noreferrer"&gt;Mathhacks Waitlist&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The goal is to make learning programming &lt;strong&gt;interactive, fun, and safe&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add more languages (e.g., JavaScript, Java)&lt;/li&gt;
&lt;li&gt;Allow &lt;strong&gt;custom test cases&lt;/strong&gt; per challenge&lt;/li&gt;
&lt;li&gt;Improve frontend UX with syntax highlighting and better editor features&lt;/li&gt;
&lt;li&gt;Integrate fully with the Mathhacks platform&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Check it out on GitHub:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/VulcanWM" rel="noopener noreferrer"&gt;
        VulcanWM
      &lt;/a&gt; / &lt;a href="https://github.com/VulcanWM/code-runner" rel="noopener noreferrer"&gt;
        code-runner
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A web-based code runner for Python and C# that executes user-defined functions against predefined test cases using Docker, with a dynamic web interface for easy testing and learning.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Code Runner&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A simple web-based code runner supporting &lt;strong&gt;Python&lt;/strong&gt; and &lt;strong&gt;C#&lt;/strong&gt; using Docker, built with &lt;strong&gt;Fastify&lt;/strong&gt; for the API and modern frontend technologies.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Run Python and C# functions directly from the browser&lt;/li&gt;
&lt;li&gt;Automated test cases&lt;/li&gt;
&lt;li&gt;Human-readable pass/fail output&lt;/li&gt;
&lt;li&gt;Safe execution inside Docker containers&lt;/li&gt;
&lt;li&gt;Built with &lt;strong&gt;Fastify&lt;/strong&gt; for fast, lightweight API handling&lt;/li&gt;
&lt;li&gt;Interactive frontend with language-specific templates&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tools &amp;amp; Technologies&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Node.js&lt;/strong&gt; and &lt;strong&gt;Fastify&lt;/strong&gt; for the backend API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker&lt;/strong&gt; for safe code execution and sandboxing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript&lt;/strong&gt; for type-safe backend code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML/JS&lt;/strong&gt; for a simple, interactive frontend&lt;/li&gt;
&lt;li&gt;Optional: &lt;strong&gt;React&lt;/strong&gt; or other frontend frameworks for future improvements&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Requirements&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Docker installed&lt;/li&gt;
&lt;li&gt;Node.js &amp;gt;= 20&lt;/li&gt;
&lt;li&gt;npm or yarn&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Installation&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;git clone https://github.com/VulcanWM/code-runner.git
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; code-runner
npm install&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Running the Server&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm start
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; The server will run on http://[::1]:8080&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Usage&lt;/h2&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;code&gt;http://[::1]:8080&lt;/code&gt; in your browser&lt;/li&gt;
&lt;li&gt;Select the language (Python or C#) from the dropdown&lt;/li&gt;
&lt;li&gt;Type your function code in the editor&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Run&lt;/strong&gt; to see the…&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/VulcanWM/code-runner" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




</description>
      <category>docker</category>
      <category>webdev</category>
      <category>python</category>
      <category>csharp</category>
    </item>
    <item>
      <title>day 70 of 100k-before-uni: lessons, launches + looking ahead</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Sun, 02 Nov 2025 18:50:12 +0000</pubDate>
      <link>https://forem.com/vulcanwm/day-70-of-100k-before-uni-lessons-launches-looking-ahead-ja2</link>
      <guid>https://forem.com/vulcanwm/day-70-of-100k-before-uni-lessons-launches-looking-ahead-ja2</guid>
      <description>&lt;p&gt;this is from my newsletter but it included some very important findings i discovered, so i decided to post here too.&lt;/p&gt;




&lt;p&gt;hey,&lt;/p&gt;

&lt;p&gt;the past two weeks of half term have been intense but really productive. i finally finished building &lt;a href="https://mathhacks.org.uk" rel="noopener noreferrer"&gt;mathhacks&lt;/a&gt;, my platform for short weekend “mathathons,” and hosted the first event. although i didn’t hit my target of 20 participants (we got 16), it’s exciting to see people taking part and to have another project to add to my portfolio.&lt;/p&gt;

&lt;p&gt;i also took part in a hackathon during the break, experimenting with new technologies like redis and express.js. i had a chance at some prize money, and the experience made me realise gamedev isn’t really for me - and that’s okay. i’m much more motivated building saas-type projects.&lt;/p&gt;

&lt;p&gt;i also started on a new stack for iOS development and began working on drinkie, an app that gives reminders to drink water and rewards users with collectibles. i pivoted from a react native version to swift, and it’s already been fun to learn the ecosystem. just discovering that swift now works for android too was a nice bonus.&lt;/p&gt;

&lt;p&gt;one goal i added halfway through the half term but didn’t manage to complete was a machine learning/data science hackathon. getting sick and losing time, plus not having any knowledge in the field made it hard for me to start. i’ve learnt that it’s okay not to force everything at once - i still have plenty of time to explore these areas.&lt;/p&gt;

&lt;p&gt;here are some key lessons from half term:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;marketing is hard when you don’t have an audience yet - distribution is something i need to focus on if i want future products to reach people.&lt;/li&gt;
&lt;li&gt;it’s okay to not be good at everything - gamedev isn’t my thing, and that’s fine.&lt;/li&gt;
&lt;li&gt;strict schedules and early relaxing can backfire - pacing yourself + not relaxing too early is important.&lt;/li&gt;
&lt;li&gt;if you’re not feeling it, take a break and come back refreshed.&lt;/li&gt;
&lt;li&gt;keep trying new things - exploration helps find what you actually enjoy, like iOS development for me.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;for november, my main target is to finish coding drinkie. beyond that, i’m debating a new challenge for myself: either 6 apps in 6 months or diving into machine learning. the next few weeks are all about turning momentum into results.&lt;/p&gt;

&lt;p&gt;thanks for following along,&lt;br&gt;
vulcan&lt;/p&gt;




&lt;p&gt;i'm a 16 yo full stack dev whose dream is to go to uni debt-free&lt;/p&gt;

&lt;p&gt;i've decided in the next 2 years i'm going to set a target to earn £100k through freelancing + building saas&lt;/p&gt;

&lt;p&gt;i'm documenting everything i'm doing + learning in my newsletter&lt;/p&gt;

&lt;p&gt;you can check out my newsletter &lt;a href="https://100k-before-uni.beehiiv.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>appdev</category>
      <category>lessons</category>
    </item>
    <item>
      <title>I Think Game Dev Isn’t My Thing (And That’s Okay)</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Wed, 29 Oct 2025 20:54:02 +0000</pubDate>
      <link>https://forem.com/vulcanwm/i-think-game-dev-isnt-my-thing-and-thats-okay-3h5j</link>
      <guid>https://forem.com/vulcanwm/i-think-game-dev-isnt-my-thing-and-thats-okay-3h5j</guid>
      <description>&lt;p&gt;I’ve made a few games over the years — joined some game hackathons, shipped small projects — but looking back, I only really enjoyed making one 3D game a few years ago.&lt;/p&gt;

&lt;p&gt;Every other time, I found the process stressful. Debugging physics, balancing gameplay, polishing UI — it always drained me more than it inspired me.&lt;/p&gt;

&lt;p&gt;I used to think that meant I was failing as a developer. But now I think it just means I like different kinds of creation.&lt;/p&gt;

&lt;p&gt;I love building systems, tools, and interactive experiences — things people can use, not necessarily play.&lt;/p&gt;

&lt;p&gt;Maybe that’s the key: not everyone who loves interactivity has to be a “game dev.”&lt;/p&gt;

&lt;p&gt;If you’ve felt something similar - enjoying one part of a field but hating the rest - that’s totally fine. You can pivot, evolve, and still be creative.&lt;/p&gt;

&lt;p&gt;TL;DR: It’s okay to stop doing what drains you, even if it’s something you once thought you’d love.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>webdev</category>
      <category>career</category>
      <category>burnout</category>
    </item>
    <item>
      <title>I built MathHacks - a weekend mathathon, now live!</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Thu, 23 Oct 2025 17:13:06 +0000</pubDate>
      <link>https://forem.com/vulcanwm/i-built-mathhacks-a-weekend-mathathon-now-live-3lo1</link>
      <guid>https://forem.com/vulcanwm/i-built-mathhacks-a-weekend-mathathon-now-live-3lo1</guid>
      <description>&lt;p&gt;I’ve always loved both maths and coding, but I never found a space where the two truly merge. So I decided to build one myself: MathHacks.&lt;/p&gt;

&lt;p&gt;It’s a weekend “mathathon” where participants build creative maths-based projects — visualisations, puzzles, small tools, or any idea that blends maths and creativity. Think of it as a hackathon, but for maths.&lt;/p&gt;

&lt;p&gt;The first MathHacks starts in 8 days and it’s completely free and open to everyone — students, developers, or anyone who enjoys problem-solving.&lt;/p&gt;

&lt;p&gt;Why I built it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I wanted a place to experiment with maths in a fun, hands-on way.&lt;/li&gt;
&lt;li&gt;I wanted something that feels creative, not competitive.&lt;/li&gt;
&lt;li&gt;I wanted a small, community-driven space for maths + coding lovers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If that sounds like your kind of weekend, come join in at the &lt;a href="https://mathhacks.org.uk/mathathon/mathathon-001" rel="noopener noreferrer"&gt;first mathathon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d love to see what you come up with!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>maths</category>
      <category>programming</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>3D Earn Grid – Tracking My £100k Before Uni Challenge</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Wed, 27 Aug 2025 11:57:15 +0000</pubDate>
      <link>https://forem.com/vulcanwm/3d-earn-grid-tracking-my-ps100k-before-uni-challenge-b8h</link>
      <guid>https://forem.com/vulcanwm/3d-earn-grid-tracking-my-ps100k-before-uni-challenge-b8h</guid>
      <description>&lt;p&gt;Hey everyone &lt;/p&gt;

&lt;p&gt;Just wanted to share my latest project! I’ve built a &lt;strong&gt;3D earn grid&lt;/strong&gt; where you can follow my progress in real-time as I work toward hitting &lt;strong&gt;£100k before uni&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;It’s a simple visualisation right now — each pound I earn makes the tower taller in 3D space. You can fly around, explore the grid, and literally see each step of the journey.  &lt;/p&gt;




&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3D Progress Tracking&lt;/strong&gt; – every £1 earned = tower gets taller.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Navigation&lt;/strong&gt; – move around the grid space and see the progress from any angle.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Newsletter&lt;/strong&gt; – sign up on the site to get updates straight to your inbox as I build projects and hit milestones.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sponsor Scheme&lt;/strong&gt; – for anyone interested in supporting:

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Small floating billboards&lt;/em&gt;: £10/year
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Main grid-side billboards&lt;/em&gt;: £100/year
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Live project: &lt;a href="https://vulcanwm.github.io/earn-grid" rel="noopener noreferrer"&gt;vulcanwm.github.io/earn-grid&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub repo: &lt;a href="https://github.com/VulcanWM/earn-grid" rel="noopener noreferrer"&gt;github.com/VulcanWM/earn-grid&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I’d love feedback on the idea, the design, or any features you think would make the experience more fun or useful. Thanks for checking it out! &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>i made a searchable table of 200+ startup ideas with monetisation and difficulty scores + analysis</title>
      <dc:creator>Medea</dc:creator>
      <pubDate>Tue, 26 Aug 2025 10:40:22 +0000</pubDate>
      <link>https://forem.com/vulcanwm/i-made-a-searchable-table-of-200-startup-ideas-with-monetisation-and-difficulty-scores-analysis-5hnf</link>
      <guid>https://forem.com/vulcanwm/i-made-a-searchable-table-of-200-startup-ideas-with-monetisation-and-difficulty-scores-analysis-5hnf</guid>
      <description>&lt;p&gt;hey guys,&lt;/p&gt;

&lt;p&gt;i just launched my first project of the week (and first of my 3 projects this week) as part of my goal to reach 100k before starting uni.&lt;/p&gt;

&lt;p&gt;it's called &lt;a href="https://ideabench.netlify.app" rel="noopener noreferrer"&gt;ideabench&lt;/a&gt;, and it's basically a searchable table of 200+ startup ideas i collected from reddit posts where people share what they're building.&lt;br&gt;
i ran them through a simple analysis for things like monetisation potential, ease of build, competition, and category so you can filter and sort without scrolling forever. it also has detailed analysis for each category.&lt;/p&gt;

&lt;p&gt;i made it as a small tool to save time for indie hackers or anyone looking for inspiration. (i'm definitely going to be using this for my next project this week.)&lt;/p&gt;

&lt;p&gt;would love any feedback or thoughts, and i'm open to any suggestions.&lt;/p&gt;

&lt;p&gt;(if i get even one customer i'll keep on adding more ideas)&lt;/p&gt;

&lt;p&gt;you can check it out &lt;a href="https://ideabench.netlify.app" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;thanks!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
