<?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: Thejan Vishmitha</title>
    <description>The latest articles on DEV Community by Thejan Vishmitha (@harryvishmitha).</description>
    <link>https://dev.to/harryvishmitha</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%2F3740339%2F1bffe987-fd77-4038-a559-5a5d97387b47.jpeg</url>
      <title>DEV Community: Thejan Vishmitha</title>
      <link>https://dev.to/harryvishmitha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harryvishmitha"/>
    <language>en</language>
    <item>
      <title>FindLand: Reviving a Map-Based Land Selling Platform into a Live Production Product</title>
      <dc:creator>Thejan Vishmitha</dc:creator>
      <pubDate>Wed, 03 Jun 2026 00:29:47 +0000</pubDate>
      <link>https://dev.to/harryvishmitha/findland-reviving-a-map-based-land-selling-platform-into-a-live-production-product-3e90</link>
      <guid>https://dev.to/harryvishmitha/findland-reviving-a-map-based-land-selling-platform-into-a-live-production-product-3e90</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built FindLand, a map-based land selling platform designed to make land discovery easier, faster, and more visual.&lt;/p&gt;

&lt;p&gt;Live Project: &lt;a href="https://findland.lk" rel="noopener noreferrer"&gt;https://findland.lk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FindLand was created to solve a practical problem in the land and real estate market. Many property platforms depend mainly on long listing pages, repeated text, and static property cards. For buyers, this can make it difficult to understand where a land is located, what is around it, and whether it matches their actual needs.&lt;/p&gt;

&lt;p&gt;With FindLand, the map becomes the center of the experience.&lt;/p&gt;

&lt;p&gt;Instead of forcing users to scroll through endless listings, FindLand allows buyers to visually explore land opportunities through an interactive map. Users can browse lands by location, view important details quickly, filter listings, and open detailed land pages before contacting the seller.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The platform includes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interactive map-based land discovery&lt;/li&gt;
&lt;li&gt;Land markers connected with listing details&lt;/li&gt;
&lt;li&gt;Search and filtering options&lt;/li&gt;
&lt;li&gt;Land listing cards with key buyer information&lt;/li&gt;
&lt;li&gt;Detailed land view pages&lt;/li&gt;
&lt;li&gt;Seller contact flow&lt;/li&gt;
&lt;li&gt;Responsive design for desktop and mobile users&lt;/li&gt;
&lt;li&gt;A production-focused structure that can grow with future features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FindLand is meaningful to me because it is not just a practice project. It is a real production-level application built around a real market need. The goal is to make land discovery more visual, more practical, and easier for local buyers and sellers.&lt;/p&gt;

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

&lt;p&gt;Live Project: &lt;a href="https://findland.lk" rel="noopener noreferrer"&gt;https://findland.lk&lt;/a&gt;&lt;br&gt;
Production Source Code: Private&lt;/p&gt;

&lt;p&gt;FindLand is currently &lt;strong&gt;a live production platform&lt;/strong&gt;. Because it is a commercial application, the full production repository is private and not publicly shared. It contains business logic, admin workflows, security-sensitive implementation details, and proprietary platform features.&lt;/p&gt;

&lt;p&gt;For this challenge, I am sharing the live product, screenshots, walkthrough, and a public showcase repository. If official challenge reviewers need to inspect the code, I can provide limited access or a guided code walkthrough upon request.&lt;/p&gt;

&lt;h2&gt;
  
  
  Screenshots
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzvmrj53e5ci6yj0j58a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjzvmrj53e5ci6yj0j58a.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;br&gt;
The homepage introduces FindLand as a map-based land discovery platform and gives users a clear starting point to explore available lands.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52qm7xrral44fipyw9nw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52qm7xrral44fipyw9nw.png" alt=" " width="800" height="432"&gt;&lt;/a&gt;&lt;br&gt;
The main marketplace experience allows users to discover lands visually through an interactive map instead of only depending on traditional listing pages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ffaksrc3s14i1ynfhpd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0ffaksrc3s14i1ynfhpd.png" alt=" " width="277" height="623"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F088cirbr461p3s7e8uxu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F088cirbr461p3s7e8uxu.png" alt=" " width="277" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FindLand is responsive, allowing users to explore land listings from mobile devices as well as desktop screens.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;FindLand started as a bigger idea for a land selling platform. The original goal was to build a complete property marketplace with land listings, seller tools, buyer discovery features, admin controls, and map-based browsing.&lt;/p&gt;

&lt;p&gt;The idea was strong, but the scope was too broad in the beginning.&lt;/p&gt;

&lt;p&gt;Because of that, the project stayed unfinished for some time. There were many possible features to build, but the most important question was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What should the first complete version focus on?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the GitHub Finish-Up-A-Thon Challenge, I decided to bring the project back with one clear goal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complete the core map-first land discovery experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of trying to finish every possible marketplace feature at once, I focused on the part that makes FindLand different: helping users discover lands visually through a map.&lt;/p&gt;

&lt;p&gt;During this comeback, I focused on improving and completing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The overall product direction&lt;/li&gt;
&lt;li&gt;The buyer-side land discovery flow&lt;/li&gt;
&lt;li&gt;Map-based browsing&lt;/li&gt;
&lt;li&gt;Listing presentation&lt;/li&gt;
&lt;li&gt;Search and filtering experience&lt;/li&gt;
&lt;li&gt;Land detail page structure&lt;/li&gt;
&lt;li&gt;Responsive layout&lt;/li&gt;
&lt;li&gt;Public-facing user experience&lt;/li&gt;
&lt;li&gt;Production deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This changed FindLand from an unfinished idea into a live production application.&lt;/p&gt;

&lt;p&gt;The biggest lesson from this process was that finishing a project is not always about adding more and more features. Sometimes, finishing means reducing the scope, focusing on the strongest idea, and polishing the core experience until the product becomes useful and understandable.&lt;/p&gt;

&lt;p&gt;FindLand became much stronger when I focused on its main value:&lt;/p&gt;

&lt;p&gt;Land discovery should be visual, location-first, and simple for users.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot helped me move faster during the finishing process by supporting development, refactoring, and documentation tasks.&lt;/p&gt;

&lt;p&gt;While building and polishing FindLand, Copilot was helpful for generating starting points, improving repeated code patterns, and suggesting cleaner ways to structure parts of the project. It helped me work more efficiently, especially when dealing with UI components and repeated logic.&lt;/p&gt;

&lt;p&gt;Copilot supported me with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Component structure suggestions&lt;/li&gt;
&lt;li&gt;UI layout improvements&lt;/li&gt;
&lt;li&gt;Reusable code patterns&lt;/li&gt;
&lt;li&gt;Filtering logic ideas&lt;/li&gt;
&lt;li&gt;Form handling patterns&lt;/li&gt;
&lt;li&gt;Code cleanup and refactoring&lt;/li&gt;
&lt;li&gt;Documentation and README structure&lt;/li&gt;
&lt;li&gt;Faster iteration during development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, Copilot did not replace product thinking. The main decisions, user experience, platform direction, and business logic were planned and reviewed manually. I used Copilot as a development assistant, not as an automatic decision-maker.&lt;/p&gt;

&lt;p&gt;The most useful part of Copilot was speed. It helped reduce repetitive work and gave me useful starting points, but I still reviewed, adjusted, and improved the code to match the actual requirements of FindLand.&lt;/p&gt;

&lt;p&gt;This challenge reminded me that unfinished projects usually do not fail because the idea is bad. Many times, they remain unfinished because the scope is unclear. Once I focused on the most important part of FindLand, the project became easier to complete and easier to explain.&lt;/p&gt;

&lt;p&gt;Now FindLand is live at &lt;a href="https://findland.lk" rel="noopener noreferrer"&gt;https://findland.lk&lt;/a&gt;, and it has a clear foundation for future improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;FindLand started as an unfinished land marketplace idea and became a live map-based land selling platform.&lt;/p&gt;

&lt;p&gt;Through this challenge, I was able to look at the project again, reduce the scope, polish the core experience, and move it into production.&lt;/p&gt;

&lt;p&gt;This project means a lot to me because it is not only a coding project. It is a real product with real potential.&lt;/p&gt;

&lt;p&gt;The next steps for FindLand include improving seller tools, enhancing listing verification, adding more discovery features, improving user trust, and continuing to make land buying easier through better technology.&lt;/p&gt;

&lt;p&gt;FindLand is still growing, but now it is no longer just an idea.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It is live.&lt;/strong&gt;&lt;br&gt;
It only support for Sri Lankan Market but it will support for more countries as soon as possible&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
    <item>
      <title>PR Whisperer: A Copilot-Powered CLI for Writing Better Pull Requests</title>
      <dc:creator>Thejan Vishmitha</dc:creator>
      <pubDate>Fri, 30 Jan 2026 18:23:27 +0000</pubDate>
      <link>https://dev.to/harryvishmitha/pr-whisperer-a-copilot-powered-cli-for-writing-better-pull-requests-3jc4</link>
      <guid>https://dev.to/harryvishmitha/pr-whisperer-a-copilot-powered-cli-for-writing-better-pull-requests-3jc4</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;PR Whisperer (&lt;code&gt;prw&lt;/code&gt;)&lt;/strong&gt;, a command-line tool that helps developers write &lt;strong&gt;better pull requests&lt;/strong&gt; using &lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of being “AI for the sake of AI”, PR Whisperer focuses on real developer workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reviewing your own changes objectively&lt;/li&gt;
&lt;li&gt;generating clear, structured PR descriptions&lt;/li&gt;
&lt;li&gt;working even when you’re not on a feature branch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was to make Copilot feel like a &lt;strong&gt;thoughtful PR partner&lt;/strong&gt; rather than just a text generator.&lt;/p&gt;

&lt;p&gt;PR Whisperer supports multiple review contexts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;traditional PRs (branch vs base)&lt;/li&gt;
&lt;li&gt;pre-commit reviews (staged changes)&lt;/li&gt;
&lt;li&gt;same-branch workflows (last commit vs previous commit)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All from the terminal, with zero browser context switching.&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/HarryVishmitha/prw-whisper" rel="noopener noreferrer"&gt;https://github.com/HarryVishmitha/prw-whisper&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example commands:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;prw doctor
prw review &lt;span class="nt"&gt;--commit&lt;/span&gt; &lt;span class="nt"&gt;--save&lt;/span&gt;
prw describe &lt;span class="nt"&gt;--commit&lt;/span&gt; &lt;span class="nt"&gt;--save&lt;/span&gt;
prw init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What happens when you run it
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;prw review&lt;/code&gt; generates a structured PR review (summary, risk, issues, suggestions, checklist)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;prw describe&lt;/code&gt; drafts PR titles and a clean GitHub-ready PR description&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--save&lt;/code&gt; writes Markdown reports to &lt;code&gt;.prw/reports/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;prw init&lt;/code&gt; runs &lt;code&gt;copilot init&lt;/code&gt; and generates repository instructions automatically&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Screenshots and CLI output examples are available in the repository README.&lt;/p&gt;

&lt;p&gt;Sample Screenshots&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6cy2mq0gs7iwkfzvnf3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6cy2mq0gs7iwkfzvnf3.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgvedk70djxmov882u9mx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgvedk70djxmov882u9mx.png" alt=" " width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98ju3n8r463cjbxge4wr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98ju3n8r463cjbxge4wr.png" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;This project was built &lt;strong&gt;around&lt;/strong&gt; GitHub Copilot CLI — not just with it.&lt;/p&gt;

&lt;p&gt;I used Copilot CLI in three intentional ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AI-powered reviews&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Copilot analyzes Git diffs and generates structured, human-readable PR feedback.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PR description generation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Copilot drafts PR titles and PR descriptions using a consistent template&lt;br&gt;&lt;br&gt;
(What / Why / How / Testing / Risk).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repository initialization&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt;prw init&lt;/code&gt; wraps &lt;code&gt;copilot init&lt;/code&gt; to generate &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;, documenting architecture, conventions, and CLI behavior.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I intentionally avoided calling Copilot when it wasn’t needed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PR Whisperer detects “no diff” scenarios and guides the user instead of wasting AI calls&lt;/li&gt;
&lt;li&gt;All Copilot usage is non-interactive and scripted, making it reliable and repeatable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This made Copilot feel less like a chatbot and more like a &lt;strong&gt;well-integrated CLI collaborator&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Project Is Different
&lt;/h2&gt;

&lt;p&gt;Most PR tools assume:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You always work on feature branches.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;PR Whisperer supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;solo developers&lt;/li&gt;
&lt;li&gt;same-branch workflows&lt;/li&gt;
&lt;li&gt;pre-commit reviews&lt;/li&gt;
&lt;li&gt;quick self-reviews before opening a PR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s not flashy — it’s &lt;strong&gt;practical&lt;/strong&gt;, and designed to fit into how developers actually work.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building PR Whisperer showed me that the real strength of GitHub Copilot CLI isn’t just code generation — it’s &lt;strong&gt;augmenting developer judgment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This project reflects how I’d genuinely want to use Copilot in my own workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;intentional&lt;/li&gt;
&lt;li&gt;context-aware&lt;/li&gt;
&lt;li&gt;respectful of developer time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for the challenge — this was a great opportunity to explore what AI-powered CLI tools can really be.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
