diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..03d08d5 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "livePreview.defaultPreviewPath": "/index.html" +} diff --git a/assets/img/lis/farmer_details.png b/assets/img/lis/farmer_details.png new file mode 100644 index 0000000..13dd9f1 Binary files /dev/null and b/assets/img/lis/farmer_details.png differ diff --git a/assets/img/lis/farmer_registration_form.png b/assets/img/lis/farmer_registration_form.png new file mode 100644 index 0000000..18d06a1 Binary files /dev/null and b/assets/img/lis/farmer_registration_form.png differ diff --git a/assets/img/lokademy/chat.png b/assets/img/lokademy/chat.png new file mode 100644 index 0000000..fe23b34 Binary files /dev/null and b/assets/img/lokademy/chat.png differ diff --git a/assets/img/lokademy/home.png b/assets/img/lokademy/home.png new file mode 100644 index 0000000..232bf00 Binary files /dev/null and b/assets/img/lokademy/home.png differ diff --git a/assets/img/lokademy/quiz.png b/assets/img/lokademy/quiz.png new file mode 100644 index 0000000..de619b9 Binary files /dev/null and b/assets/img/lokademy/quiz.png differ diff --git a/assets/img/sshNoPortsDesktop/home.png b/assets/img/sshNoPortsDesktop/home.png new file mode 100644 index 0000000..54a7c13 Binary files /dev/null and b/assets/img/sshNoPortsDesktop/home.png differ diff --git a/assets/img/sshNoPortsDesktop/landing.png b/assets/img/sshNoPortsDesktop/landing.png new file mode 100644 index 0000000..6b8771b Binary files /dev/null and b/assets/img/sshNoPortsDesktop/landing.png differ diff --git a/assets/img/sshNoPortsDesktop/support.png b/assets/img/sshNoPortsDesktop/support.png new file mode 100644 index 0000000..f9df392 Binary files /dev/null and b/assets/img/sshNoPortsDesktop/support.png differ diff --git a/assets/img/sshNoPortsDesktop/terminal.png b/assets/img/sshNoPortsDesktop/terminal.png new file mode 100644 index 0000000..428eaba Binary files /dev/null and b/assets/img/sshNoPortsDesktop/terminal.png differ diff --git a/assets/video/lokademy/lokademy_demo.mp4 b/assets/video/lokademy/lokademy_demo.mp4 new file mode 100644 index 0000000..edca608 Binary files /dev/null and b/assets/video/lokademy/lokademy_demo.mp4 differ diff --git a/index.html b/index.html index 96cb755..729cee4 100644 --- a/index.html +++ b/index.html @@ -560,18 +560,38 @@

- Flutter

+ Flutter +

+

Dart +

+

+ Firebase +

+

+ Cloud Firestore +

+

+ Cloud Functions +

+

+ Cloud Storage +

+

GenAI (Gemini models) +

+

Django

Plotly - Dash

-

Python + Dash

-

Dart +

Python

+

HTML

-

CSS

+

CSS +

+ @@ -709,8 +729,8 @@

- -
+ +
@@ -722,8 +742,10 @@

@@ -735,157 +757,198 @@

-
+

- This project is an agriculture web app developed to assist farmers in determining the - profitability of a Layer bird production system. + Lokademy is an AI powered learning platform that uses the Gemini models to simulate the teacher to assist students writing their Caribbean Secondary Examination Certificate (CSEC). It offers content in accordance with the CSEC syllabus and test knowledge. IT offers in depth analysis of questions.

-

- The application is an interactive dashboard overlaying a layer bird profitability model. -

-

- It allows farmers to adjust the cost and production parameters of the model to suit their - requirements. The income and expenditure will recalculate based on cost and production - parameter changes. -

+

- This project was built in flutter and hosted using firebase hosting. -

- - -

- + This flutter mobile app is available in a private repo on GitHub. Feel free to email me for access to this repo.

-
+
-

- A client reached out to me for assistance in creating a business plan for a Layer Bird - Production Agribusiness. -

- After completing the project, I decided to combine my programming skill with my - agricultural knowledge. This resulted in a Layer Bird Profitability Model to assist more - farmers.

-

- This project was initial built in excel for the client, then converted into a web app for - the public. + The purpose of Lokademy is both sentimental and practical. My wife is a teacher and I wanted to build an app that would replicate the love and commitment she has towards her students success at CSEC.

+

The practical purpose of this app are:

+
    +
  • + To give students with limited access to qualified teacher an alternative to get help with their CSEC studies. +
  • +
    +
  • + Give students personalized feedback on the quiz. This isn't always possible because of the ratio between students and teachers. +
  • +
    +
  • + To allow students experiencing disruptions during the school year due to personal or national emergencies to continue their studies. +
  • +
+
-
+

- My favorite part of the project was rebuilding the model in dart. -

-

- The trickiest part of the project was figuring out how to leverage the provider package to - rebuild the UI when a parameter changes. + I'm thoroughly enjoying this project. I'm learning a lot about Generative AI and how to integrate it into a flutter app.

-

- I encountered many challenges while working on this project. These were due to my - inadequate understanding of constraints and the provider package. They were solved by - reading the flutter documentation and researching flutter errors on stack overflow. -

-

- I'm satisfied that I was able to apply what I learned in my flutter experience so far to - solve a problem in the agriculture sector. +

+ Key features of the app include:

- +
    +
  • + CSEC Syllabus Content for major science subjects like Biology, Chemistry, Physics, and Integrated Science. +
  • +
    +
  • + Chatbot that answers students questions on the CSEC subject. +
  • +
    +
  • + Chatbot that allows students to test their knowledge while receiving personalize feedback. +
  • +
-
+
-

- I intend to continue improving this model by including more variables that influence the - profit from a layer bird production system. -

-

- I have received positive feedback from my former boss. He is an agriculture expert and - asked to build more models for a different agriculture production system. +

+ This app is under active development.

-

- As I continue to build more agriculture models, I would love to collaborate with various - agriculture experts and companies to fine-tune the models. +

-
+
-

This project has been wonderful learning opportunity. I learned to work with; +

+ This has been the most fun project I've worked on in a while. While I knew flutter before this is my first AI based app. My knowledge of AI has grown exponentially as a result of this project.

+

+ The project taught me the following: +

+
    -
  • Getters and Setters
  • -
  • Provider Package
  • -
  • SyncFusion Package
  • +
  • + How to use cloud functions to run AI models. +
  • + +
  • + Prompt design. +
  • + +
  • + How to use the dart google_generative_ai package. +
  • + +
  • + How to fetch and receive chat history form cloud firestore and pass it to the gemini model. +
  • + +
  • How to provide system instructions to the gemini model to constrain it behavior to the purpose I want. +
  • +
  • + How to ground the model in the CSEC syllabus content. +
- +
+
- -
+ +
+ +
+ +
+ + + +
+
- sample image + Home Screen of Lokademy
+ +
+ + Chat Screen of Lokademy +
+ + +
+ Quiz Screen of Lokademy +
+
+ +
@@ -897,9 +960,7 @@

- - -
+
@@ -912,9 +973,9 @@

Livestock Information - System -

+ href="https://testflight.apple.com/join/cSsxn1D3">SSH No Ports Desktop + +

@@ -926,122 +987,106 @@

-
+

- The Livestock Information System app bridges the gap between farmers and extension - officers by simplify the data collection and farm monitoring responsibility of Extension - Officers. + SSH No Ports Desktop is the easiest way to ssh into a remote device while eliminating network attack surfaces and reducing administrative overhead. + footprint.

+

- This app also seeks to improve national agriculture production by enabling the Guyana - Livestock Development Authority to provide farm specific training to farmers as a result - of the data - generated through this application. -

-

- This flutter app is still under development but is available for early access on the - google play store. + This flutter desktop app is available on GitHub, Microsoft Store and on TestFlight.

-
-
+

- The purpose of the Livestock Information System app is to demonstrate to Guyana Livestock - Development Authority (GLDA) and by extension the Guyana's Ministry - of Agriculture (MOA) that farmers can benefit from services tailored to their specific - needs by using a custom-built app that monitors individual farm performance. -

- - -

- This app also seeks to demonstrate that the workflow of the extension officers can be - reduced by the removal of redundant data collection. -

- -

- This app was designed by feedback for an agriculture expert in GLDA and from my - professional experience working in the agriculture sector. + The purpose of SSH No Ports Desktop is to allow network administrators to:

+
    +
  • + Access their devices regardless of where they are - behind routers, NAT, firewalls, VPNs, private/1918 addresses, or even on the move. +
  • +
    +
  • + Access their devices without reconfiguring your gateways, setting up port forwarding on your router, or using a VPN. +
  • +
    +
  • + Access their devices without any open listening ports (including port 22) and strengthen your network security. +
  • +
-
+

- My favorite part of this project was creating the service calls to create, read and update - documents in firebase. + This was a very interesting project. My favorite part of the project was working with the back end engineers to use their ssh no ports core package and provide feedback on bugs and feature requests on the package.

- Key features of this application includes: + Key features of the app include:

-
  • Can work online and offline.
  • -
  • - Farmer module: Register farmers, view farmer list and detail screens. -
  • -
  • - Farm module: Register farms, view farm list and detail screens. +
      +
    • + Connection profiles containing the device name, device address, and the device port etc to make it easier to connect to a device.
    • +
    • - Animal population survey: Records livestock population by species and growth stage. + The ability to connect to a remote device using a private key.
    • +
    • - Animal Disaster Survey: Records animal losses due to a natural disaster by species and - growth stage. + Built in terminal with access to the device's file system.
    • -
    • Collect Farm GPS location.
    • -
    • Collect Farm and Farmer profile picture.
    • - - +
  • -
    +

    - This application is currently a MVP. The Guyana Livestock Development Authority are - registering farmers and farms using this app. They are over 500 farmers registered as of - December 2021. + This app is available on Microsoft Store and on TestFlight.

    @@ -1049,39 +1094,46 @@

    -
    +
    -

    This project has been a wonderful flutter and firebase learning opportunity. I learned - the following; +

    + This was a very interesting project. My knowledge of ssh was limited.

    +

    + The project taught me the following: +

    +
    • - The importance of coding defensively especially when make network calls. + How to work with other engineers to use their ssh no ports core package and provide feedback on bugs and feature requests on the package.
    • -
    • Authentication with firebase auth.
    • -
    • Accessing device camera and saving user provided image to Firebase storage.
    • -
    • Accessing device gps location.
    • -
    • Saving data to cloud firestore.
    • -
    • Using streams to receive realtime updates form cloud firestore.
    • -
    • Using Streams with Provider.
    • -
    • Using gskinners MVC + S architecture to organize my code.
    • - +
      +
    • + How to use ssh private and public keys to authenticate a user. +
    • +
      +
    • + How to integrate a teminal into a flutter app. +
    • +
      +
    • How to add keyboard shortcuts to a flutter app
    - +
    +
    -
    +
    - sample image + Landing Screen of SSH No Ports Desktop
    @@ -1089,8 +1141,8 @@

    - sample image + Home Screen of SSH No Ports Desktop
    @@ -1101,10 +1153,9 @@

    - sample image - + Terminal Screen of SSH No Ports Desktop
    @@ -1112,35 +1163,14 @@

    - sample image + Support screen of SSH No Ports Desktop

    - -
    - -
    - - sample image - -
    - - - -
    - - sample image -
    - - -
    -
    @@ -1151,6 +1181,7 @@

    +
    @@ -1309,7 +1340,7 @@

    sample image + alt="AtDataBrowser Landing Screen">

    @@ -1318,7 +1349,7 @@

    sample image + alt="AtDataBrowser Home Screen">

    @@ -1357,6 +1388,259 @@

    +
    + +
    + + +
    + + + + + + + +
    + + +
    + + + + +
    + +
    +
    + +

    + The Livestock Information System app bridges the gap between farmers and extension + officers by simplify the data collection and farm monitoring responsibility of Extension + Officers. +

    + + +

    + This app also seeks to improve national agriculture production by enabling the Guyana + Livestock Development Authority to provide farm specific training to farmers as a result + of the data + generated through this application. +

    +

    + This flutter app is still under development but is available for early access on the + google play store. +

    + + +
    +
    + + +
    +
    + +

    + The purpose of the Livestock Information System app is to demonstrate to Guyana Livestock + Development Authority (GLDA) and by extension the Guyana's Ministry + of Agriculture (MOA) that farmers can benefit from services tailored to their specific + needs by using a custom-built app that monitors individual farm performance. +

    + + +

    + This app also seeks to demonstrate that the workflow of the extension officers can be + reduced by the removal of redundant data collection. +

    + +

    + This app was designed by feedback for an agriculture expert in GLDA and from my + professional experience working in the agriculture sector. +

    + +
    +
    + + +
    +
    +

    + My favorite part of this project was creating the service calls to create, read and update + documents in firebase. +

    + +

    + Key features of this application includes: +

    +
  • Can work online and offline.
  • +
  • + Farmer module: Register farmers, view farmer list and detail screens. +
  • +
  • + Farm module: Register farms, view farm list and detail screens. +
  • +
  • + Animal population survey: Records livestock population by species and growth stage. +
  • +
  • + Animal Disaster Survey: Records animal losses due to a natural disaster by species and + growth stage. +
  • +
  • Collect Farm GPS location.
  • +
  • Collect Farm and Farmer profile picture.
  • + + +
    +
    + + +
    +
    +

    + This application is currently a MVP. The Guyana Livestock Development Authority are + registering farmers and farms using this app. They are over 500 farmers registered as of + December 2021. +

    + + +
    +
    + + +
    +
    +

    This project has been a wonderful flutter and firebase learning opportunity. I learned + the following; +

    + +
      +
    • + The importance of coding defensively especially when make network calls. +
    • +
    • Authentication with firebase auth.
    • +
    • Accessing device camera and saving user provided image to Firebase storage.
    • +
    • Accessing device gps location.
    • +
    • Saving data to cloud firestore.
    • +
    • Using streams to receive realtime updates form cloud firestore.
    • +
    • Using Streams with Provider.
    • +
    • Using gskinners MVC + S architecture to organize my code.
    • + +
    + +
    +
    + + +
    + +
    + + +
    + + sample image + +
    + + + +
    + + sample image +
    + + +
    + + +
    + + +
    + sample image + + + +
    + + + +
    + + sample image +
    + + +
    + + +
    + + +
    + + sample image + +
    + + + +
    + + sample image +
    + + +
    + +
    + +
    + +
    + + +
    + +
    +
    @@ -1539,7 +1823,192 @@

    +
    + +
    + + +
    + + + + + + + +
    + + +
    + + + + +
    + +
    +
    + +

    + This project is an agriculture web app developed to assist farmers in determining the + profitability of a Layer bird production system. +

    + +

    + The application is an interactive dashboard overlaying a layer bird profitability model. +

    +

    + It allows farmers to adjust the cost and production parameters of the model to suit their + requirements. The income and expenditure will recalculate based on cost and production + parameter changes. +

    + +

    + This project was built in flutter and hosted using firebase hosting. +

    + +

    + +

    + +
    +
    + + +
    +
    + +

    + A client reached out to me for assistance in creating a business plan for a Layer Bird + Production Agribusiness. +

    +

    + After completing the project, I decided to combine my programming skill with my + agricultural knowledge. This resulted in a Layer Bird Profitability Model to assist more + farmers.

    +

    + This project was initial built in excel for the client, then converted into a web app for + the public. +

    + +
    +
    + + +
    +
    +

    + My favorite part of the project was rebuilding the model in dart. +

    +

    + The trickiest part of the project was figuring out how to leverage the provider package to + rebuild the UI when a parameter changes. +

    + +

    + I encountered many challenges while working on this project. These were due to my + inadequate understanding of constraints and the provider package. They were solved by + reading the flutter documentation and researching flutter errors on stack overflow. +

    +

    + I'm satisfied that I was able to apply what I learned in my flutter experience so far to + solve a problem in the agriculture sector. +

    + +
    +
    + + +
    +
    +

    + I intend to continue improving this model by including more variables that influence the + profit from a layer bird production system. +

    +

    + I have received positive feedback from my former boss. He is an agriculture expert and + asked to build more models for a different agriculture production system. +

    +

    + As I continue to build more agriculture models, I would love to collaborate with various + agriculture experts and companies to fine-tune the models. + +

    +
    + + +
    +
    +

    This project has been wonderful learning opportunity. I learned to work with; +

    + +
      +
    • Getters and Setters
    • +
    • Provider Package
    • +
    • SyncFusion Package
    • +
    + +
    +
    + + +
    + +
    + + +
    + + sample image + +
    + + + + +
    + +
    + +
    + +
    + + +
    + +
    @@ -1583,7 +2052,7 @@

    -
    +
    @@ -1936,6 +2405,7 @@

    Just send me a messag $("#gpmf").clone().appendTo("#insidepanelwebapps"), $("#lis").clone().appendTo("#insidepanelmobileapps"), $("#atDataBrowser").clone().appendTo("#insidepanelmobileapps"), + $("#sshNoPortsDesktop").clone().appendTo("#insidepaneldesktopapps"), $("#sshe").clone().appendTo("#insidepanelmobileapps"),