Skip to content

Latest commit

 

History

History
36 lines (32 loc) · 9.49 KB

DEV.md

File metadata and controls

36 lines (32 loc) · 9.49 KB

Logs, quotes, and feelings

Logs

  • 5/21 17:00 | Finally (sort of) created dev environment & (sort of) firgured out IBM cloud GUI. Interview tomorrow afternoon with 澎湖七美國中輔導老師。
  • 6/3 19:30 | IBM's styling library is hard to use. First of all, importing library into sass makes compile time increased to around 10 seconds. Furthermore, wrong order of import crashes the code. It also has the same problem with any other library -- limiting flexibility, which is fatal for a highly interactive program. I think the lesson is one library never fits all, and I'll just take some time molding the ui myself.
  • 6/6 21:30 | More complaints. Styling is so difficult because CSS doesn't exactly follow the logic it was designed for.
  • 6/8 19:00 | Building UI element is so much faster with Figma design. Most UI component is Reactified!
  • 6/11 4:30 | Dang typescript is fancy.
  • 6/11 23:40| So it all started when I decided to use typescript for better dev-x, then problems starts emerging. Turns out create-react-app is super outdated, and there are version conflicts with the newest version of typescript. There are workarounds, but I think our project is still in an early enough stage to chagne a build tool. I decided to go for Vite. The migration surprisingly does not take too long. However, setting up test seems to be non-trivial, and I installed a bunch of packages while failing to get testing to work. Its unlikly that we will need testing (for now), so I removed the test related artifacts from CRA and the packages I installed along the way, and I hope we'll have a clean start if we really get to the testing phase. Overall, tons of learning, a bit of frustration, but do have a working environment that I'm comfortable with.
  • 6/12 23:46 | Wow, I really did wrote a lot yesterday. Thank god no one is reading this (or are you?). Anyways, not having testing properly set up, even when we're not doing testing, feels int. So today I re-did the testing set up, and it was faster than I expected. Other than that, more UI stuff, connected with Redux, tried out AI autocompletion tool, went through internal debate on how a component should be structured... and that's all for today.
  • 6/13 20:30 | Learned more about redux and its terminologies due to me debating whether the current design pattern "can be better". I guess the question I should be asking is "is it good enough". Still, taking the time understanding redux basics is beneficial so I guess that's a "healthy enough" delay in work.
  • 6/19 23:10 | Almost done with the base implementation of the two widgets... However, AI implementation still seems far from completed. At this pace, we probably have to push iteration 1 back by 1 week.
  • 6/21 17:23 | I'm glad that stuff that I thought that needs to be refactored is actually better the original way. Learned how to write custom hooks today and solve the issue I wanted to solve without compromising scalability. For the most part (most) gui is completed for iteration 1. Besides certain widgets that needs to be thought out a bit more in terms of UX, the gui's data flow is implemented (without api), components are organized with reasonable scalability and performance. Still need a day or two to be fully done with the widgets, but Ellen and I can quickly be switching focus to the backend & ai.
  • 6/24 23:15 | More API integration done... the code structure is fairly stable and extensible in my opinion. The only issue I have is there are certain blocks of logic that is repeated and scattered around gui, but probably going to be over-engineered if try to abstract them out. Perhaps this is the case where better ui will affect the code structure.
  • 6/30 18:04 | After some research it looks like there is virtually no downside with using modularized css. Took sometime refactoring the stylesheet and figuring out a more concise way to put things together, but overall it should increase devex by quite a bit.
  • 7/5 15:29 | They say lazy people speaks the most and do the least (反正魯迅大概說過吧?)The past week there are definitely a lot of progress made, but little logging done. Updates: v1 is very close to an end. Although we do not have enough testing to have the confident that it won't break, it is at a "good enough" state. As the overall architecture & pipeline become better tested and more stable, we can put all our thoughts on the meat of this project. Currently, all three teams have a major task. GUI = drag & drop + infinite canvas. API = latency issue. AI = ai being dumb issue. I am very excited.
  • 7/10 17:14 | Today the rain was crazy. In my opinion the UI is completed at least for v2. It has basically all the key features that I envisioned a drag and drop UI will have. Of course tons of improvements can be made, but I think GUI is at a good state here (comparing to other parts of the project, at least). So far, this branch is only tested with independent mode. Since I changed a bit on how widgets are handled, we have to test with actual APIs tomorrow.
  • 7/11 16:34 | Entered infinite patching hell today. The problem is trying to solve small problems constantly quickly accumulate code debt, and they have minor impact on "winning the competition" (although those are important changes if we are treating rita as an "actual product"). While spending time on bettering UI, catching edge cases and minor bugs, definitely made me better frontend developer, it is important to pivot on the most important features. Moving forward, I will be writing UI improvement as backlog for v3, and focus on stuff that we as a team are not familiar on.
  • 7/15 12:04 | Super wierd bugs detected today. Chrome somehow "cached" cors error and have to delete cache to resolve it. Schedule content's string is unexpectedly trimmed.
  • 7/16 16:28 | Compare to what we had last Friday, the api speed for message rita is significantly faster. This is due to removing unnecessary initialization code from the function code + streaming the response so the first token can be immediately sent back. While optimization can definitely still be done (I think we can easily trim off another 2-3 seconds), this is a good enough improvement for v2. For the rest of this week, we should focus on making Rita smarter, and think of more scenarios to use the widgets
  • 7/18 17:47 | Mainly reading api & refactoring code today. Heavily relying on a package does require a lot of time making sure we are following good practice to maintain scalability. Also, it takes time understanding all the concepts and figure out the functions. Looking back, many struggles I encountered this week are really simple concepts, but the process of understanding them is no small feat. Really have to appreciate Edison's work on taking the first step in this wild wild west. He definitely cleared the trees so I can pave the road. The main ai "pipeline" is completed, thus I will be closing down the ai_pipeline branch, and start implementing memory.
  • 7/24 18:42 | Converting docx to pdf, and trying to come up with the entire worksheet pipeline is very challenging. I hope things get easier without having to compromise functionality.
  • 7/26 17:29 | I'm telling you, ai is another rabbit hole that is so difficult to deal with. Langchain is full of black boxes, and in the end I feel like the less we rely on it, the better. The knowledge and tool I have to write a robust ai system is very limited, and every change is a challenge. Locating what the problem is is also so much more difficult than your typical swe jobs. I think what we need now is constant discussion (like technical discussion). Slow down to do some research might save some time in the long run.
  • 8/1 17:36 | Big change to the ai pipeline today. Probably 500% more scalable. It is amazing how we went from a slow vanilla model to a multi-agent model that is able to correctly retrieve data, build response on each other, and immediately streams them. The testing pipeline is a lot better but still requires a lot of setup to be not mixed with production code, which I guess will be something to work on tomorrow.
  • 8/2 12:30 | GUI crashing bug detected but difficult to replicate, will ignore for now :P
  • 8/22 12:01 | Definitely slacking a bit on this dev log, that being said the commits did not slow down a bit. As UI is going through more changes, some bugs and unexpected behavior starts to show up. A lot of these bug will definitely be less apparent if the API speed is faster. I feel like there definitely are somewhere in SQL call that can be greatly improved... That being said, there are so many ui that can be improved to help with user experience.
  • 8/28 11:07 | Navbar and the underlying structure is refactored and upgraded. The new interface definitely opened up new possibilities for multi-agent workflow. It is a fun upgrade that I believe definitely add to the project. Dealing with artifacts is definitely becoming more challenging, but for the most part the current code base is scalable enough. Given no new bug if found (which is optimisitic), the structure of ui and database structure will stable.
  • 9/8 15:30 | Worksheet widget is properly implemented. The next step will be to list out the concrete goals we want to do before the competition comes to an end, and focus solely on them for our last sprint. As the project is coming to a major milestone, I admittedly gets a little more anxious. But we are ALMOST THERE!! I am happy with our progress so far, and I can't wait for v3 to be completed!
  • 10/13 15:17 | Finalizing v3 and preparing material for submission.

Backlog

  • v3 improvements:
    1. keyboard shortcuts
    2. Loading classroom/ lecture card after their creation