<?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>DEV Community: oagutu</title>
    <description>The latest articles on DEV Community by oagutu (@oagutu).</description>
    <link>https://dev.to/oagutu</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%2F301579%2F2e61d48d-0a9a-4dc5-9322-9c07de728d87.png</url>
      <title>DEV Community: oagutu</title>
      <link>https://dev.to/oagutu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oagutu"/>
    <language>en</language>
    <item>
      <title>Getting on to the vibe coding train...in a hackathon</title>
      <dc:creator>oagutu</dc:creator>
      <pubDate>Tue, 19 May 2026 17:16:02 +0000</pubDate>
      <link>https://dev.to/oagutu/getting-in-to-the-vibe-coding-trainin-a-hackathon-3gn9</link>
      <guid>https://dev.to/oagutu/getting-in-to-the-vibe-coding-trainin-a-hackathon-3gn9</guid>
      <description>&lt;h2&gt;
  
  
  The Idea
&lt;/h2&gt;

&lt;p&gt;It all started with a Hackathon. A no-code Hackathon with a no-code builder I had never heard of, &lt;a href="https://medo.dev" rel="noopener noreferrer"&gt;MeDo&lt;/a&gt;. Oh, well I'd been looking for a nice excuse to properly try out this version of vibe coding, so I was in. Although, the prize money also played a role...a small role.&lt;/p&gt;

&lt;p&gt;So the next question was, what to build? I  went into my notes app and found the page on ideas. I like to jot down ideas, many silly, some good, and a few great. My only criteria for selecting an idea were: it had to be different/novel and involve AI(we all chase trends after all)&lt;/p&gt;

&lt;p&gt;Armed with these constraints I went through my ideas and landed on 2, an ad network for digital communities eg. Discord or WhatsApp, and  AI native checklists. I threw both of them into ChatGPT and it gave its totally unbiased opinion. &lt;em&gt;AI native checklists&lt;/em&gt; it was! &lt;/p&gt;

&lt;h2&gt;
  
  
  The What
&lt;/h2&gt;

&lt;p&gt;I built Checkyard, a way to standardise and operationalise recurring business workflows via executable, AI-native checklists. It facilitates the execution of playbooks, with the ability for both humans and AI agents to work in concert; offloading repetitive, boring tasks to agents, leaving employees to perform better suited functions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Build
&lt;/h2&gt;

&lt;p&gt;I built it using MeDo, which allowed for the translation of natural language into a web app. The build process itself looked something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I first wrote down a product brief outlining what I wanted to build, the core action and goals, desired features, a few expected user flows, and possible use cases&lt;/li&gt;
&lt;li&gt;I used this brief to generate a comprehensive initial prompt using ChatGPT. Notably, I emphasised function over form; with the only design cues being the colour palette to use. I also explicitly excluded the landing page creation.&lt;/li&gt;
&lt;li&gt;I then fed the ready prompt into MeDo, using it to generate a requirements doc, which I edited to meet my own requirements and views. Once I was satisfied with the requirements doc, I hit generate...and watched the magic.&lt;/li&gt;
&lt;li&gt;With each output generated, I'd go through each requested feature one by one, noting down into a separate doc, any issues/bugs encountered along with relevant additions, removals, or enhancements.&lt;/li&gt;
&lt;li&gt;I would then feed the collected issues/bugs back into MeDo for fixes and enhancements.&lt;/li&gt;
&lt;li&gt;I repeated the above 2 steps until all features worked as expected.&lt;/li&gt;
&lt;li&gt;Once functionality was satisfactory, I moved on to UI/UX and finally the landing page.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Challenges
&lt;/h2&gt;

&lt;p&gt;My initial idea was too broad and needed narrowing down of features for an MVP. I therefore wrote out a brief and used Chatgpt to first expound on it and then review the features. Results of which I used to select "V1" features&lt;/p&gt;

&lt;p&gt;Working with the MeDo requirements doc editor was a bit buggy, ie. I was unable to make multiple edits before saving, since it kept exiting edit mode before submission&lt;/p&gt;

&lt;p&gt;Code editor view is readonly preventing direct, quick changes to the code. Some changes were small and could have been easily done directly in the code editor. Maybe this is available in the paid tier(we can only hope)&lt;/p&gt;

&lt;h2&gt;
  
  
  The Likes
&lt;/h2&gt;

&lt;p&gt;MeDo does not immediately go into build mode, it first generates an editable &lt;code&gt;requirements.md&lt;/code&gt; doc to ensure everything is accurately covered before the actual build begins.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://intl.cloud.baidu.com/en/doc/MIAODA/s/price-en" rel="noopener noreferrer"&gt;credit usage&lt;/a&gt;) is a bit more predictable with each action requiring a corresponding credits amount, eg. 15 credits /query(actually 30 from experience), 2/app/day to enable backend, 5/plugin use/generation&lt;/p&gt;

&lt;h2&gt;
  
  
  The Learnings
&lt;/h2&gt;

&lt;p&gt;When making changes, it's best to collect all requests/changes into a single, well-structured prompt to save on credits. Charging is per query not per token count.&lt;/p&gt;

&lt;p&gt;How to effectively and efficiently create comprehensive feature and product specs&lt;/p&gt;

&lt;p&gt;Some cool CSS "tricks"&lt;/p&gt;

&lt;h2&gt;
  
  
  The Future
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Strengthen the AI agent task execution&lt;/li&gt;
&lt;li&gt;Add a marketplace to allow for users to easily add or share ready made checklist templates&lt;/li&gt;
&lt;li&gt;UI/UX improvements&lt;/li&gt;
&lt;li&gt;Have fun with it&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  BuiltWithMeDo
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>nocode</category>
      <category>sideprojects</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>newslater: all the newsletters you love, at your own speed</title>
      <dc:creator>oagutu</dc:creator>
      <pubDate>Sun, 08 Jun 2025 13:01:46 +0000</pubDate>
      <link>https://dev.to/oagutu/newslater-all-the-newsletters-you-love-at-your-own-speed-4d2k</link>
      <guid>https://dev.to/oagutu/newslater-all-the-newsletters-you-love-at-your-own-speed-4d2k</guid>
      <description>&lt;p&gt;This is a submission for the &lt;a href="https://dev.to/challenges/postmark"&gt;Postmark Challenge: Inbox Innovators&lt;/a&gt;.&lt;/p&gt;

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

&lt;p&gt;I have way too many unread emails. My inbox unread number was way too high(353, last time I checked..hehe) and I hated seeing it every time I loaded up Gmail. The call of that sweet sweet "Inbox Zero" was strong. And so I set out to remedy this. Going through my unreads, it was clear that a big contributor was the numerous newsletters I had signed up for. And so this was a very good place to start my inbox zero journey. And thus, &lt;em&gt;newslater.&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;newslater.&lt;/em&gt; is a tool that helps you &lt;em&gt;save email newsletters for later reading&lt;/em&gt;. It is built on top of the Google Workspace Add On ecosystem; and therefore will currently only work for users with a Gmail account.&lt;/p&gt;

&lt;p&gt;Once the addon is installed via the Google Workspace Marketplace, a user can save newsletters, by simply forwarding the newsletter email to a given email address(in this case a &lt;a href="https://postmarkapp.com" rel="noopener noreferrer"&gt;postmark&lt;/a&gt; supported inbound email). They can then view, and filter through all saved newsletters at their own leisure by opening up the &lt;em&gt;newslater.&lt;/em&gt; addon panel from withtin their Gmail account. That's it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;To run the add locally, See instructions in the &lt;a href="https://github.com/oagutu/newslater" rel="noopener noreferrer"&gt;repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In case you'd like to test without all the setup and running hullabaloo, reach out with your Gmail address and I can have it added as a test account under my Google project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code Repository
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/oagutu/newslater" rel="noopener noreferrer"&gt;GITHUB&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Python3+&lt;/li&gt;
&lt;li&gt;FastAPI&lt;/li&gt;
&lt;li&gt;Postgres&lt;/li&gt;
&lt;li&gt;Postmark&lt;/li&gt;
&lt;li&gt;Ngrok or any other http proxy(for local testing)&lt;/li&gt;
&lt;li&gt;Google Cloud(to deploy/test the workspace add-on)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The add-on consists of a FastAPI backend to handle the saving, and reading logic paired with a Postgres database for storage. It also takes advantage of Postmark to handle emails; the only avenue for saving your favourite newsletters on &lt;em&gt;newslater.&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Postmark provides a means for parsing forwarded newsletter emails, which are then forwarded to a callback url for processing and storage. Postmark was joy to setup as it barely took more then 3 steps start testing the parsing once my account had been approved. Of note is that Postmark only works with private domains so gmail/Yahoo/Outlook won't work(Wasn't a fan of this but understood why it was necessary).&lt;/p&gt;

&lt;p&gt;This was also a great opportunity for me to try out FastAPI, which I've had good things about. I was not dissapointed.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>postmarkchallenge</category>
      <category>webdev</category>
      <category>api</category>
    </item>
  </channel>
</rss>
